A couple of days ago, I was imaging the rosette nebula, and I added 20x 5 minutes frames for each HA, R, G, and B filters. I was planning on taking all those frames in 2-3 nights, so after the first batch was done (I was away and didn't inspect the images), I was disappointed to find that the focus was awful. But I was pretty sure I had good focus when I began. I opened the frames and I checked the HFR value from the Statistics tool in the FITS Viewer. The HFR kept increasing by almost 0.1 pixels from one frame to another. Was this due to temperature change?? Unlikely, as the temperature difference did not sufficiently change throughout the night, and certainly not enough in 5 minutes! The reason was far simpler: Gravity!
As the mount tracked, the heavy QSI583 was pulling on the drawtube which I thought was locked tightly but apparently not enough. This caused the HFR to worsen naturally as the mount kept tracking the object as it rises up in the sky. This got me thinking about Autofocus between exposures. Of course, I have to tighten the drawtube to hold the CCD and that would resolve the issue, but you never know what other factors might affect your focusing. So instead of re-focusing every X frames, or Y minutes, or when temperature difference is more than Z degrees, I thought I'd settle on a more direct and reliable metric: the HFR!
So I added a new option to Ekos CCD module to perform auto focusing when HFR increases beyond a certain value. So what happens is that after, say, a 5 minute exposure is complete, Ekos will capture a subframe around the focus star selected earlier when performing the initial focusing procedure, it measures HFR and checks if it exceeds the user-set value, and if it is, it starts autofocus algorithm. When it is complete, the exposure is resumed! I haven't had the chance to test this as it was raining in the last few days, but hopefully will do soon!
Today I'm working on "Park" after all sequence jobs are completed. I'm almost done with this as all the pieces are there and just need a bit of stitching up.
Next, I plan to work on a more complex feature "Automatic Meridian Flip". I really need this feature as I was imaging the other day and left Ekos to take exposures for 5+ hours and then went to a birthday party dinner. By midnight, I was worried about the CCD hitting the tripod (and it happened before!), so I excused myself and went home. Thankfully the CCD was about 10 cm away still from the tripod, but it was close. It was past meridian by about 15-20 degrees already and it was still tracking. So I had to stop guiding, issue a new slew command (to the same coordinates), and the mount flipped. Then I had to performing guiding again (including calibration since DEC axis motion when guiding is swapped between eastern/western horizons), and then I resumed imaging. So I though, wouldn't it be great if this can be done automatically?
It's a bit complex because I'm not entirely certain when the mount decides it can "flip" exactly. Does it flip AT the meridian? or after the meridian by a few degrees? or what? I'm still investigating that, and more importantly, is this behaviour uniform across all mounts (at least equatorial mounts)? After the mount flips, I will make use of plate solving to make sure I'm really back on the same target. Furthermore, guiding has to be resumed, there has to be a facility to automatically select a guide star. Fortunately, I already implemented automatic star selection before, but I will have to see how this fares in reality.
Today, I worked on fixing some autofocus issues, and had the chance to use my new SBIG ST-I. I was waiting for SBIG to release the armhf SBIG Universal Library and thankfully they did! Everything ran great from the first time! Next I'm going to work on more focuser-related issues, but it's mostly internal plumping
INDI Focusers and Filter Wheels can be controlled from the joystick now! For focusers, you can assign buttons to "Focus In" and "Focus Out". For filter wheels, you can use the joystick to rotate the wheels, and a button to reset the wheel to initial position.