raawe Not sure if you are familiar with C++
Sure, waaay back when. (If you want to see my history with the C language, take a look at http://www.fortran-2000.com/ArnaudRecipes/CompMuseum.html and search for "kcc"; yeah, when you are at my age, you get dumped into web pages that has the title "museum" and "history" in it :-).
But ever since 1999 or so, I have moved to Objective-C (same language Tim Berners-Lee wrote the original world wide web).
INDIGO compiles under Xcode/Objective-C, but I have also added a layer (for myself) to make the API completely Cocoa (the GUI layer in macOS and iOS nowadays).
So, the image BLOBs in INDIGO have been turned into Cocoa's NSImage objects, for example. To display a captured image, I can simply create an NSWindow with an NSImageView, and simply send the NSImage to NSImageView. All the C callbacks have also been turned in Cocoa's NSDelegate callbacks.
INDIGO has turned into the plaform of choice to test new ideas for me, because it is so simple to do it now with alll the foundation stones laid out.
If you recall, when the slope of the PE is large, the amplitude of the sawtooth is large. The ordinate of the sawtooth describes the path of a guide star in the hour angle dimension (the time axis is the abscicca). The normal understanding is that a gude star sits there for you to compute a centroid -- that is not true. The guide star always move (thus, the target in the main camera will also always move) even if guiding is perfect (except fr that "guide by guide rate "Pulse Amplitude Modulation" scheme that I will be introducing in the white paper).
The movement of the guide star is small (probably of the order of 0.1") for a traditional mount for guide exposures that are short (under 2 seconds in time, say). But that is not true when the slope of the periodic error of out mounts is of the order of 0.3"/sec to 1"/sec.
So, not only do you have to revamp the guide equations to match a moving guide star (again, that will be revealed in the white paper), but we probably have to revisit how to more precisely obtain guide star centroids. Recall that graphics folks resort to correlation matrices to motion-deblur an image, and those techniques might be what is good for autoguiding also. We pretty much have a motion blur problem, but we have it easy, we know that the blur is in the direction of the RA axis or the declination axis (so a fulll cross correlation is probably not neccessary).
Because of that, I will be starting from first prinicples to do the INDIGO experiments. Both for caturing guide images and also for how to turn them into guide pulses.
Anyhow, my interest is in instrumentation and not snapping pictures, so I don't mind spending the next few years refining autoguiding. Even my first NSF Undergrad Fellowship at the NRAO had involved instrumentation -- https://www.gb.nrao.edu/electronics/edir/edir79.pdf ; bad old days, the manuscipt was typed on a IBM Selectric by my boss Sandy Weinreb's secretary. For those who are not familiar with Sandy (Sander), he was the first to observe interstellar OH radicals using instrumentation (the autocorrectaion receiver) that he built for his Ph.D at @Byrdsfan1948 's alma-mater :-)
But, if you want to do quick changes to PHD2 to potentially improve autoguiding by a lot, the two-pulse per exposure is probably easy to do; using existing star centroid and pulse duration computations. My instrumentation mentality is really more academic, and towards satisfying my engineering curiousity of how far one can take the problem -- heck, I can already guide well enough with the RST-135, I really don't have to work on it anymore if I just want to snap decent pictures.
Chen