×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

"Captures" in Windows EKOS Scheduler does not count up.

  • Posts: 179
  • Thank you received: 25
Hi Wolfgang

First of all, let me check with you.
Are you a regular Windows user?

If you are not using Windows, let me explain directory separators just in case.

In the international Windows world, the directory separator is backslash.
On the OS API level, slash can be used as a directory separator as well.
In Japan, the directory separator is the YEN symbol.
The character code for both backslash and YEN symbol is 0x5C.
The only difference is the font set, which has a different "glyph", i.e., the shape of the character.

With this in mind, here is my response.

> Out of unknown reasons, the underlying Qt5 framework takes the Yen symbol as directory separator.

The reason is obvious: as mentioned above, charactor code 0x5c is the directory separator in the Windows world.

> Have you tried with changing the default KStars language to US English or British English? Maybe that would help.

I changed the language setting of KStars to US Unglish and tried it.
The issue is reproduced.
As you can see in the screenshot, the language setting is set to US English, but because the System Font is a Japanese font, it is displayed with the YEN symbol instead of Bashslash.

8 months 3 weeks ago #94449
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 1187
  • Thank you received: 370
OK, understood, many thanks for the explanation, I think I understand now what happens.

Please be so kind and replace all occurences of "/" by the Yen symbol both in the "Directory" field and in the "Format" field. I would expect that then it should work. If not, please don't hesitate and come back to me.

HTH
Wolfgang
8 months 3 weeks ago #94468

Please Log in or Create an account to join the conversation.

  • Posts: 179
  • Thank you received: 25
I replaced all directory separators in M16.esq and M16.esl with YEN symbols.
The behavior of Capture and Schedule Module after the replacement is as follows.

Editing of Format field
- The YEN symbol at the beginning of the Format field in the Capture Module can now be edited.

Counting Captures column in Schedule Module
- The Captures field in Schedule module did not count up as 0/10.
- The Capture module sequence would reach 10/10 and then return to 0/10 and continue indefinitely. It is thought that the Capture sequence is looping because the Captures field in the Schedule module is not counting up and the Schedule module is not terminated.

SCREEN SHOTS

Capture Module


Schedule Module
8 months 3 weeks ago #94474
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 1187
  • Thank you received: 370
Could you please post the log?
8 months 3 weeks ago #94475

Please Log in or Create an account to join the conversation.

  • Posts: 179
  • Thank you received: 25
OKay
Is the following log of settings correct?
8 months 3 weeks ago #94477
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 1187
  • Thank you received: 370
Maybe the FIST and CCD driver, the rest is fine.
8 months 3 weeks ago #94478

Please Log in or Create an account to join the conversation.

  • Posts: 179
  • Thank you received: 25
I have attached the log file.
8 months 3 weeks ago #94479
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 179
  • Thank you received: 25
Comparing the two KStars logs from Windows and Raspberry PI, it appears that the File Name part is attached to Windows.

KStars for Windows
> [2023-08-07T20:55:41.455 東京 (標準時) INFO ][ org.kde.kstars.ekos.scheduler] - "Job 'M16' 10x1\" Luminance sees 0 captures in output folder 'X:/StellarMate//M16/Light/Luminance/M16_Light_Luminance_1_secs_/d/d/d/d-/d/d-/d/dT/d/d-/d/d-/d'."

KStars for Raspberry PI
> [2023-08-07T21:12:37.550 JST INFO ][ org.kde.kstars.ekos.scheduler] - "Job 'M 16' 10x1\" Luminance sees 10 captures in output folder '/home/stellarmate/Pictures/M_16/Light/Luminance'."
8 months 3 weeks ago #94480

Please Log in or Create an account to join the conversation.

  • Posts: 1187
  • Thank you received: 370
Right, I need the log file from Windows. There is a button in the log configuration window that opens the explorer in the log directory.
8 months 3 weeks ago #94490

Please Log in or Create an account to join the conversation.

  • Posts: 179
  • Thank you received: 25
8 months 3 weeks ago #94492

Please Log in or Create an account to join the conversation.

  • Posts: 179
  • Thank you received: 25
I have attached the log file that includes logs of INDI, Capture, Scheduler, FITS and CCD.

Could the following function be the cause of the issue ?
void Scheduler::updateCompletedJobsCount(bool forced)

It is likely that the fits file destination directory is incorrectly generated in this function or before it is called, without considering 0x5C as a directory separator.
Last edit: 8 months 3 weeks ago by tkakura.
8 months 3 weeks ago #94496
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 179
  • Thank you received: 25
Hi, Wolfgang

I found the cause of this Issue.
Note: Backslash in the text refers to the Windows directory separator.
Backslash in the text refers to the Windows directory separator, which is the character that appears in the YEN symbol in Japanese settings.

The function Scheduler::getCompletedFiles() is used to count the number of filenames from the destination directory that match the specified format with a regular expression.
Scheduler::getCompletedFiles() is called from Scheduler::updateCompletedJobCount() and is passed the argument "path" which is a concatenation of directory and filename with regular expression.

On Linux, the directory separator for the "path" argument is given as Slash, and variable parts of the filename, such as the time of day, are written using regular expressions including Backslash.
Example:
/home/stellarmate/Pictures/IC_448/Light/Luminance/IC_448_Light_Luminance_1_secs_\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d-\\d\\d-\\d\\d

On Windows, the directory separator for the "path" argument is given as Backslash, and variable parts of the filename, such as the time of day, are written using regular expressions that also include Backslash.
Example:
X:\\StellarMate\\IC_448\\Light\\Luminance\\IC_448_Light_Luminance_1_secs_\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d-\\d\\d-\\d\\d

Since a directory and a file name including a regular expression are given to Scheduler::getCompletedFiles() with a single argument "path", the QFileInfo class is used to separate the directory and the file name including the regular expression.
The result of the separation is assigned to the local variables sig_dir and sig_file.
On Linux, the directory separator and the regular expression can be used to distinguish between Slash and Backslash, so the file names are correctly separated into directories and filenames containing regular expressions.
On Windows, Backslash is replaced entirely by Slash and cannot be correctly separated into filenames containing directories and regular expressions.

Watch in the debugger showed that the aforementioned example was split as follows.

Linux:
sig_dir: /home/stellarmate/Pictures/IC_448/Light/Luminance
sig_file: IC_448_Light_Luminance_1_secs_\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d-\\d\\d-\\d\\d

Windows:
sig_dir: X:/StellarMate/IC_448/Light/Luminance/IC_448_Light_Luminance_1_secs_/d/d/d/d-/d/d-/d/dT/d/d-/d/d-/d
sig_file: d

As a result, Scheduler::getCompletedFiles() cannot correctly count the number of Completed Files on Windows.

I think a better fix would be to use a higher-level function to store directories and file names containing regular expressions separately, and then give the directories and file names containing regular expressions separately to Scheduler::getCompletedFiles().

---

I found another potential problem.
This is a problem when the Capture Module adds \ to the end of the directory as follows
Direcotry: X:\StellarMate\

The following string is generated as the signature.
X:\\StellarMate\\\\M16\\Light\\Luminance\\M16_Light_Luminance_1_secs_\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d-\\d\\d-\\d\\d

On Windows, Windows does not normalize duplicate directory separators into a single directory separator.

On Linux, the following relationship is valid
/dir_a//dir_b == /dir_a/dir_b

On Windows, the relationship is as follows and does not hold
\dir_a\\dir_b != \dir_a\dir_b

This may cause problems accessing the correct directories.
The following user(s) said Thank You: Jasem Mutlaq
8 months 2 weeks ago #94680

Please Log in or Create an account to join the conversation.

Time to create page: 1.074 seconds