Hello Jared and Ken,
A couple months back when the 2.6.x final versions were first being released, there was some discussion about gain and modern CMOS cameras, gain lists, gain ranges, etc. As an ASI1600 user myself, I am finding more and more that I not only want, but need, in order to achieve my imaging goals (shorter exposures for sharper images, more subs to better average out quantization error), the ability to configure a gain setting as part of my sequence events.
If I am doing an LRGB image, with these high gain, high sensitivity CMOS cameras, you tend to acquire a lot of subs. By necessity (environmental or tracking factor), or simply to achieve a goal (i.e. resolution). In either or both case, it is not unusual to stack 100+ subs, and if you want to go really deep in a light polluted zone, several hundred is not unheard of (similar to DSLR imaging, however with an L filter, you acquire light so fast you end up with even shorter subs.) There are a few efficiency issues involved here, including frame download overhead (if it takes 10 seconds to download a frame, and your exposures are only 30-60 seconds each, you are wasting a lot of time!), dithering overhead (dither every frame, if it takes 10 seconds to dither, you are again wasting a lot of time!), etc.
Currently, SGP does support dithering every N subs, what I call "Sparse Dithering", and this is a GODSEND for us high volume imagers as we can dither every 3, 5, 7, 10 subs and save ourselves some of that overhead time. With LRGB imaging, this also often leads to what I've been calling interleaved imaging, where we use the option to cycle through events rather than complete events one at a time. This leads to an imaging sequence along the lines of this:
LLRGBLL [dither] LLRGBLL [dither] LLRGBLL [dither] [focus] LLRGBLL [dither] LLRGBLL [dither] ...
This is great, and I love being able to do this, and have it all be automated (SGP FTW here!) However, I have been trying to further optimize my imaging sequences, and trying to get better data for my RGB channels. One thing I have too much of is wind, and the way my yard works, I frequently have wind gusting over my roof, which blows top down onto my gear. I have a wind block that I can set up around my mount and scope, but it is often of no use because of the wind coming over the roof. So longer subs, even only a few minutes long, are often quite a bit softer or just plain rejects due to high star eccentricity. As I'm usually going after high resolution details, I throw away these longer subs.
Because of the nature of the ASI1600 Q.E. response curve and the nature of my AstroDon LRGB filters, I usually have to expose 120-180 seconds for the G and B filters, and 240-300 seconds for the R filter, at Gain 0, when I am doing LRGB imaging. My L subs FTR are usually 60 seconds long. I would much prefer to stick with 60 second subs, for the various reasons listed above, however with this particular camera, the quantization error at Gain 0 is quite poor. I would much prefer to use a higher gain setting where read noise and quantization is lower for the G and B filters, and use an even higher gain for the R filter, and stick with 60 second subs for all three channels. This would help me avoid losing so many subs to wind jolts, and give me better SNR for these channels (which are acquiring about 1/3 the signal as the L filter does, so it's a lot harder to acquire good per-sub SNR at Gain 0 as at say Gain 139).
Anyway. From prior discussions, it sounded like ASCOM supports either a gain list (a map of named gain settings) or a gain range (a simple numeric range of gain settings). Would it be possible to expose, whichever method the ASCOM driver of the current camera supports, the gain setting in the Sequence Generator's events? This would allow me to still benefit from the ability to sparse dither an interleaved sequence, while also allow me to switch the camera gain for different events (and therefor different filters) and keep my exposure lengths and SNRs as optimal as possible.