Hi Chris, I completely agree with the applications not having to have mount knowledge. That's the whole point of ASCOM as you well know as an ASCOM developer!
But I think the application can support a very generic way to center an object as follows...
- Plate solve what the scope is actually pointing at.
- Determine the desired pointing based on a plate solve of the RA/DEC the user entered or a plate solve of the user's reference image.
- Send the DIFFERENTIAL RA/DEC to the mount.
The issue is how you do #3. I assume ASCOM also supports (?) differential and not absolute RA/DEC. If it does, this should be all that's needed, and is essentially what Frank is doing manually.
The current SGP implementation, in my opinion, is flawed with the SYNC command. Sending a SYNC to the G-11, for example, re-biases its internal model. Surely something we don't want to happen for a simple centering! Furthermore, some mounts (like the G11) have an option to add a new alignment point when it received a SYNC. That further complicates the issue!
In summary, SGP should simply send RA/DEC differentials and not mess with the mount model by sending any ASCOM command that may change it (like SYNC). With this, SGP may even work with an existing mount model, which could help correct for non-linearities in the mount even when sending just an RA/DEC differential centering.