-
Notifications
You must be signed in to change notification settings - Fork 213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate SVBony to code based on ZWO drivers #839
Conversation
Thanks, were you able to test this PR with your camera? |
Now I'm testing it. |
[1] Bayer Info Filter is wrong. |
[2] Cannot change Gain to any value on INDI control panel.
|
[3] Exposure cannot be aborted.
|
[4] Default value of "Bad pixel correction" on indi controle panel should be 0. |
[5] Following Control items are not included in Fits header. |
[6] What is 'Auto exposure target' ? |
[7] Is it possible to "Auto set" the INDI control panel ? |
[8] The cooling fan stops momentarily when Format is changed to "Raw 8 bit" or "Raw 16 bit", bining is changed and ROI is changed. In particular, ROI and BINING may be changed dynamically by "Plate Solve" or "Auto focus", and each time this happens, cooling stops, which is a problem. |
I have some business to attend to, so I will stop for a while. |
All these values are fetched from the SDK itself, there is no hard-coded values in the driver itself. I don't believe there is code to stop fan.. maybe there needs to be some code to ignore some values. Can you share logs? screenshots from Controls tab? |
I have numbered each report. |
[8] |
Logs for [1][2]. |
Log and Movie for Reproduce for [3] Ekos.-.SVBONY.CCD.Profile.-.KStars.2023-09-24.21-32-18.mp4
|
} | ||
} | ||
|
||
ret = SVBGetVideoData(mCameraInfo.CameraID, buffer, nTotalBytes, 1000); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SVBGetVideoData must be retried when ret is SVB_ERROR_TIMEOUT.
It is necessary to be able to accept Abort processing at that time. Otherwise, it will not be able to be aborted while SVB_ERROR_TIMEOUT continues.
--
UPDATE 26.sep.2023
I do not understand the role of "SVBONYBase::grabImage(float duration)" and am not sure if a retry is really necessary on SVB_ERRPR_TIMEOUT.
Someone who knows the role of this function should determine if a retry is necessary.
I withdraw [4]. |
[5][6][7] are questions. |
BTW, What is 'the existing SVBony bug' ? |
Can you summarize the issues again? There was an issue with existing driver in that it didn't cover all controls and had them hard-coded so the driver was crashing with more recent cameras i.e. 7XX |
Summarizing is difficult today. Multiple bugs, even if summarized, quickly become crowded because the PR chat cannot be threaded. And as for the SV705C bug, from the two lines of logs posted on the INDI Forum, I thought the direct cause of the crash would be during config file loading. But I was too busy to investigate. I left Controls hard coded because I was asked to change as little of the original code as possible. |
I'm sure you know how to fix [1] and [3] with my research. In [3], the timer was not stopped after abort. |
Regarding test equipment. |
static bool warn_roi_height = true; | ||
static bool warn_roi_width = true; | ||
|
||
const char *SVBONYBase::getBayerString() const |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If SVBONYBase::getBayerString() is called before the camera is opened, the Bayer Pattern should be "Unknown".
SVBONY Camera SDK cannot get the Bayer Pattern before the camera is opened.
case SVB_BAYER_BG: return "BGGR"; | ||
case SVB_BAYER_GR: return "GRBG"; | ||
case SVB_BAYER_GB: return "GBRG"; | ||
default: return "RGGB"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"default" case should be "GRBG".
The Bayer Patter for SVBONY's color camera is "GRBG", so that the correct pattern can be set even in the unlikely event that the Bayer Pattern cannot be obtained.
In that case, "case SVB_BAYER_RG" which is "RGGB" should be added.
In addition, a "note" should be added in the comments so that const char *toString(SVB_BAYER_PATTERN pattern) is not called before the camera is opened.
SVBONY Camera SDK cannot get Bayer patter before camera open.
The results of the code inspection and testing at this time are summarized below. A. Code Inspection A-1 BUG Some comment include word "ASI" A-2 COMMENT If SVBGetVideData call during SVBONYBase::grabImage(float duration) returns SVB_ERROR_TIMEOUT, shouldn't SVBGetVideData be retried? A-3 RECOMMENDATION Behavior in function calls before camera open indi-svbony/svbony_base.cpp If SVBONYBase::getBayerString() is called before the camera is opened, the Bayer Pattern should be "Unknown". A-4 RECOMMENDATION Default value of Bayer Pattern for SVBONY Camera indi-svbony/svbony_helpers.h "default" case should be "GRBG". In addition, a "note" should be added in the comments so that const char *toString(SVB_BAYER_PATTERN pattern) is not called before the camera is opened. A-5 BUG? bool SVBONYBase::initProperties() With this code, wouldn't a monochrome camera also become RGGB? A-6 RECOMMENDATION SVBONY Camera-specific improvements to function SVBONYBase::Connect(). The following code should be placed after called SVBOpenCamera().
SVBONY Camera has the ability to automatically save/load configuration files. A-7 BUG int SVBONYBase::grabImage(float duration) The monochrome camera determination in SVBONYBase::grabImage() is insufficient.
A-8 RECOMMENDATION int SVBONYBase::grabImage(float duration) B. Test Result Camera tested
Cameras to be tested in the future
UPDATE: 27-Sep-2023 18:20 JST: My SV605MC will be returned in middle of Oct. from the factory. OS
B-1 BUG Bayer Info Filter is wrong. Log The result Bayer pattern watched by the debugger is SVB_BAYER_GR. Bayer patter is SVB_BAYPER_GR (GRBG), but the INDI Control Panel shows "RGGB". SVBONYBase::getBayerString() does not seem to be called. B-2 BUG UPDATE: 26-Sep-2023 20:32 JST: This problem was not reproduced today. Cannot change Gain to any value on INDI control panel. Code immediately after calling the SDK's API to change Gain: Value of variable immediately after call: Log B-3 BUG: Exposure cannot be aborted.
Note: Log and Movie for Reproduce Ekos.-.SVBONY.CCD.Profile.-.KStars.2023-09-24.21-32-18.mp4
B-4 REQUEST - Priority LOW Default value of "Bad pixel correction" on indi controle panel should be 0. B-5 REQUEST - Priority LOW Following Control items are not included in Fits header. B-6 QUESTION What is 'Auto exposure target' ? I need the answer to this question in order for me to test it. B-7 QUESTION Is it possible to "Auto set" the INDI control panel ? I need the answer to this question in order for me to test it. B-8 Not BUG - SVBONY Camera SDK Specifications The cooling fan stops momentarily when Format is changed to "Raw 8 bit" or "Raw 16 bit", bining is changed and ROI is changed. B-9 BUG UPDATE: 26-Sep-2023 20:32 JST: This problem was not reproduced today. Pressing driver restart button, driver is not restarted. SVBONY CCD disappears from the INDI control panel. Pressing the Exposure button causes KStars to exit with a Segmentation fault.
|
I also plan to test the following operations: Connect/disconnect/reconnect from EKOS And the monochrome camera test |
Test Category-C. CONNECT, DISCONNECT and RECONNECT C-1 BUG Instruction: Shown messages in Ekos Setup Tab:
Figurers: Profile for this test:
Notes:
|
Update following comment: Added A-6 Added following comment for Test Category-C: Added C-1 |
…n files. Loading a settings file that has been modified by another application may result in unintended behavior. Therefore, when using the SVBONY Camera, you should set the settings to default, disable automatic saving/loading of the configuration file, and initialize the parameters again according to the configuration file of the INDI SVBONY CCD Driver. Proposed by @jctk
Update following comment: Added A-7 |
Update following comment: Added A-8 |
Regarding bayer pattern, it is set from current format before we upload image, so it's fine. |
Functionally your description is correct. This is my opinion, at least the Bayer pattern in the INDI control panel before shooting should be blank. |
It's also loaded from config, so setting to blank will not work (only FIRST time you connect without configuration file). |
Okay, There is nothing functionally wrong with it. It's just that I'm a nervous wreck and the first display bothers me. |
@knro |
It would be nice to have it tested with monochrome of course, but this PR would solve a lot of issues for many users facing crashes. There are still minor things pending like FITS headers..etc which hopefully I'll have time to later |
I would like to see a note in the ChangeLog that it has not been tested to work with a monochrome camera. |
@knro |
@knro |
Due to the existing SVBony bug, I rebased the ZWO driver.