×

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

Bi-monthly release with minor bug fixes and improvements

INDI SVBONY CCD Driver Monochrome Reimplementation

  • Posts: 179
  • Thank you received: 25
I am considering incorporating banding noise reduction into the INDI SVBONY CCD driver.
Is there any source code for banding noise reduction that has already been incorporated into the INDI or INDI 3rdparty driver?
Or does anyone know of source code for banding noise reduction that can be incorporated into INDI?
7 months 3 days ago #95900

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

Thank you for working on this. Please this PR: github.com/indilib/indi-3rdparty/pull/839

I completed refactored the driver based on ZWO driver code, so it's vastly different from the existing driver. Could you actually please test this PR and let me know if it works for you?
7 months 3 days ago #95907

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

  • Posts: 179
  • Thank you received: 25
That is a great attempt.
To test, indi and indi 3rd party drivers need to be built with the latest repositories, right?
Do KStars running on a different PC also need to be built with the latest repositories? (I am using KStars 3.6.7 Beta for Windows which I built myself on August 16).
7 months 3 days ago #95908

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

KStars does not require an update, just the specific INDI driver.
7 months 3 days ago #95910

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

  • Posts: 179
  • Thank you received: 25
I have written a report of the test on GitHub.
There are five major problems that are currently known
  1. Bayer pattern error.
  2. Gain cannot be set.
  3. Exposure cannot be aborted.
  4. Cooling stops momentarily when ROI or image format is changed.
  5. Driver Restart Button does not work properly.

Tested using KStars Version 3.6.6 Stable on StellarMate OS.

I have some business to attend to, so I will stop for a while.
I will resume next week when I can.
The following user(s) said Thank You: Jasem Mutlaq
Last edit: 7 months 3 days ago by tkakura.
7 months 3 days ago #95912

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

Thank you, I will check it out. I only have SVBony 305 to test. I need logs for your test
7 months 2 days ago #95922

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

  • Posts: 334
  • Thank you received: 23
Could then included also in QHY cameras???
7 months 2 days ago #95927

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

  • Posts: 179
  • Thank you received: 25
Hi Jasem
The refactored INDI SVBONY CCD driver is quite unstable in behavior with StellarMate.

Gain cannot be set.

I am having trouble setting Gain.
I have both SV405CC and SV905C connected at the same time and the same phenomenon occurs with both.
I have rebooted the OS and reconnected the camera's USB port.

So I took a picture on the spur of the moment.
After shooting with SV405CC, I was able to set Gain of SV405CC. At this time, SV905C still cannot set Gain.
After shooting with SV905C, the Gain setting of SV905C became available.

Is there something missing in the initial processing in the new source code?

SVBGetVideData timeout for SV905C

SVB_ERROR_TIMEOUT occurs frequently when shooting LOOP in Sequence or Guide.
Originally, SV905C was retrying while SVB_ERROR_TIMEOUT occurs frequently when shooting LOOP in Sequence or Guide because SVBGetVideoData is prone to timeout.
In the new source code, SVB_ERROR_TIMEOUT may terminate the process after a few retries.
SVB_ERROR_TIMEOUT is not an error but a wait time until the retrieved image is ready in the buffer, so the process must be retried without terminating.
2023-09-29T12:29:27: [ERROR] Failed to get data after exposure (1280x960 #1 channels) (SVB_ERROR_TIMEOUT). 
2023-09-29T12:29:26: [INFO] Taking a 10 seconds frame... 
2023-09-29T12:29:26: [ERROR] Failed to get data after exposure (1280x960 #1 channels) (SVB_ERROR_TIMEOUT). 
2023-09-29T12:29:25: [INFO] Taking a 10 seconds frame... 
2023-09-29T12:29:14: [INFO] Taking a 10 seconds frame... 
2023-09-29T12:29:03: [INFO] Taking a 10 seconds frame... 
2023-09-29T12:28:11: [ERROR] Failed to get data after exposure (1280x960 #1 channels) (SVB_ERROR_TIMEOUT). 
2023-09-29T12:28:10: [INFO] Exposure done, downloading image... 
2023-09-29T12:28:00: [INFO] Taking a 10 seconds frame... 
2023-09-29T12:24:43: [ERROR] Failed to get data after exposure (1280x960 #1 channels) (SVB_ERROR_TIMEOUT). 
2023-09-29T12:24:42: [INFO] Exposure done, downloading image... 

One last point about the monochrome camera, the new source code is quite lacking in consideration for monochrome photography.
It would not be possible to use a monochrome camera to take pictures successfully.

I think this revision should be tested and stabilized a bit more before merging it into the release version.
If it is so unstable, it will not be a problem with SV705C alone.

Thanks.
Last edit: 6 months 4 weeks ago by tkakura.
6 months 4 weeks ago #96053
Attachments:

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

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

One more thing about SVB_ERROR_TIMEOUT

The following block in the workerExposure function is rounded to 1 when timeLeft is 1.4.
This may cause SVBGetVideoData to be called before the duration has elapsed.
This makes SVB_ERROR_TIMEOUT more likely to occur.
        if (timeLeft > 1.1)
        {
            delay = std::max(timeLeft - std::trunc(timeLeft), 0.005f);
            timeLeft = std::round(timeLeft);
        }
6 months 4 weeks ago #96054

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

Thank you for the review. Can you please try to patch the source until you get more stable functionality with the camera? Please note that there is already 10 retries after SVB_ERROR_TIMEOUT but I think usleep needs to be adjusted since delay is probably zero at this point. Have no idea why gain isn't getting set until after exposure... why all other controls get set from first time?
6 months 4 weeks ago #96056

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

  • Posts: 179
  • Thank you received: 25
OK, I’ll try it later.
6 months 4 weeks ago #96074

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

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

I would like to know about the following.

SVBGetVideoData is called in SVBONYBase::workerExposure() to read the image data in the buffer.
If SVBGetVideoData is SVB_SUCCESS, the grabImage function is called and SVBGetVideoData is called a second time.
SVBONY Camera SDK does not support this kind of double reading.
When I trace in the debugger in my environment, I get an error on the second SVBGetVideoData.

I would like to know why the second call to SVBGetVideoData is made in the grabImage function.
Also, as mentioned above, it should not be possible to call it twice, so I would like you to fix it so that it is called only once first.
I don't understand exactly what the role of the grabImage function is, so I need you to fix it for me.

Until then, I am putting the work on hold.
Last edit: 6 months 4 weeks ago by tkakura.
6 months 4 weeks ago #96078

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

Time to create page: 1.448 seconds