Camera temperature not being read as it shows zero degrees and it must be about room temp.
If I set to say 6 degrees I see warning 'CCD SetTemperature - 6.00 should never get here'
Cooler On OFF buttons both greyed out.
This means if temperature is set an exposure isn't started because desired temperature is never reached.
Gain and offset.
Gain has no effect on pixel count
Offset does not change time between exposures.
Hi Ben, Ignore what I said before because I had not set the recommended default values in the Indi control panel. The default values according to the manual should be gain 185 and offset 127. Are these set by default when a new camera is added to a profile? Gain and Offset seem to work. Histograms attached. The maximum gain I can set is around 240.
I can't set the temperature. Temperature controls greyed out in the camera Tab. Indi control Main Control shows a red dot against temperature and if I try to set it get warning CCD::SetTemperature 19.00 - Should never get here
Minor bug. When hovering with mouse over gain or offset in camera tab get incorrect helper text 'Delay in seconds between consecutive images'
Thanks for all of the testing! I'm glad to hear that Gain and Offset are working. Yes, I did program the defaults to be 185 for gain and 127 for offsets. The allowable range for both of these is 0-255. Once you've configured the camera, the settings will persist across different sessions. I think these get saved to the files in ~/.indi/. As a side note, Bob S previously opened one of these cameras and reported that it has a WM8196CDS ADC (www.mouser.com/datasheet/2/76/WM8196_v4_6-1141749.pdf). These gain and offset values that are sent to the firmware seem to be passed directly to the ADC chip.
I can reproduce the image corruption when saving to a fits file using kfitsviewer, so i'll look at tracking that down.
As you found out, the cooling isn't working yet. I've figured out the command to control the controller (bRequest 22), but that command seems to send a set-point temperature, and I don't have enough data to figure out how the temperature is encoded. It would be very helpful if you could get a wireshark capture where you set a setpoint to two different values (maybe 5 or 10 degrees apart). I expect that the setpoint temperature will be the same as the temperature reading, so this would enable that too. It appears that there is also a way to read the cooling power, as well. I'm not sure that's critical but we could implement it. A wireshark capture of enabling cooling with a setpoint maybe 7 degrees below ambient would helpful (with the capture running until the setpoint is reached). That would be enough to drive the cooler to 100% power and then see it reduce power as it reaches the setpoint.
The only issue that I can see with the fits file saved from kfitsviewer is an intermittent issue with the first few lines. This appears to be an issue with siril since it's inconsistent (I can open the image a few times and get different results) and it displays fine in imagemagick and kfitsviewer. Maybe this is a different issue then what you saw. If so, could you try opening the fits image in a different application like imagemagick (display-im6.q16)?
Hi Ben, Ah yes 255 for max values makes sense. (1 byte) Thanks for PDF. I ran OCS and set cooling on with the default target of 0c. Then set target to 10c. As you will know cooling isn't great and it got down to about 14c with power running at 100%. Ambient was approx. 23c Wireshark log attached.
Hi Ben, attached are two fits files. Light_082.fits is the original file captured by EKOS and looks good. In Kstars FITS Viewer I then do a 'file save as' as another FITS file and that one is Light_082a.fits. As you can see the first 64 columns appear shifted to the right hand end of the image. Gimp, Astro Image J and the FITS viewer itself all show the 64 columns shifted over to the right for Light_082a.fits. Inspecting the FITS header In Astro Image J I can see there are 7 additional values. I deleted these additional values hoping the image would re-display correctly but it doesn't so I can only assume the shift has occurred in the image binary data.
I also reported if I do a file save as png or jpeg file it actually saves the file as a fits file. On further checking, this only happens if the file extension is not typed in when naming the new file. I find the interface confusing because you select the type of file to save as using the 'files of type:' drop down. This means you select the file type as jpg but type a name like my_file.png and you get a png file not a jpg file.
Even more confusing, after doing a series of file save as in different formats, I went back and opened Light_082.fits and did a file save as to another fit file (as I did before) and I didn't get the 64 columns moved to the right hand end of the file. This time the copied file was good! I am only guessing but could this be a memory allocation problem for the image which is not contiguous?
Thanks, Dave. Is there any chance you could try and reproduce the issue using the ccd simulator rather than the SSG3? I suspect this is an issue with kfitsviewer rather than our driver.
The driver allocates a temporary buffer to download the image into. Once it's in the buffer, we copy it into the buffer provided by the indi library. I checked the logs, and it looks like the driver is receiving all of the data that we expect (which makes sense since the image appears OK when you first view it before saving).
Also, thank you for the cooling dump. I'll take a look at it tonight.
I was able to figure out the temperature and cooling control. I should have something to try tonight (in the central timezone). It appears that the temperature conversion is not linear but am able to fit a curve, so I hope it's accurate enough.
I'm still puzzled by the fit corruption and not sure how to go about debugging it.
I pushed some changes for cooling/temperature. The temperature values probably aren't really accurate, i need to improve that. I'm also not 100% sure about how the cooling controls should work. You can enable the cooling by setting the temperature. Clicking the Cooler "On" button won't do anything, but clicking the "Off" button should. Maybe we should set a default set point so that clicking "On" would work? I'm not sure how other cameras work.
In any case, I'm hoping it's obvious to you when the cooling turns on.
Away camping but will test temperature control on my return Ben. Orion software sets the default temp to zero so turning cooler on starts the cooling then you can set the temp to what you really want. If it was possible to read ambient at driver start up then set target to 10 degrees below with cooler off would be good.
Hi Ben pulled latest changes and tried out setting the temperature. Its blooming hot tonight so set the target temp to 18 c. It may well be working but there is no visual clue regrading the temperature of the CCD. It should display the current CCD temp to the right of the Enforce temperature tick box.
I enforced 18 degrees and sure enough it went into a loop waiting for the temperature to drop but I have no way of telling if it is actually cooling. I aborted after about 5 minutes.
I then tried 25 degrees and still didnt reach target temp .. but a guess with no current temperature information.
When start sequence is selected with cooler on the Cooler is immediately set to off and you have to click it back on again!