Craig Oakley replied to the topic 'indi_celestron_aux' in the forum. 2 years ago

I started to debug my issues with the indi_celestron_aux driver and made a major breakthrough last evening.

Please forgive my coding methods, I have been familiarizing myself both with the INDI framework and development under Linux.

To summarize the issue, it appears the indi_celestron_aux driver never initializes the motor controllers using the MC_SET_POSITION command. Both the ALT and AZM controllers have no known values and thus no home position (i.e. the mystery slew limits in RA).

For example, I added a "zero" button to the indi_celestron_aux driver. This allows me to initialize the controllers with a home position after startup.

AUXCommand raCmd(MC_SET_POSITION, ANY, AZM);
raCmd.setPosition(STEPS_PER_REVOLUTION / 4);
sendAUXCommand(raCmd);

AUXCommand decCmd(MC_SET_POSITION, ANY, ALT);
decCmd.setPosition(STEPS_PER_REVOLUTION / 2);
sendAUXCommand(decCmd);

This immediately fixes my slew limit problems. The mount now knows I am positioned at the index marks. However, this is still a work in progress.

I would like to mention two very helpful resources: Rick Bassham's indi-celestron-cgx driver and the AUX protocol document by Andre Parquette (see below).
github.com/rickbassham/indi-celestron-cgx
www.paquettefamily.ca/nexstar/NexStar_AUX_Commands_10.pdf

In my early investigation, I found it easy to modify Rick Bassham's driver to support the SkyQ WiFi module without the need for a hand controller. Since my mount does not support automatic alignment (MC_LEVEL_START and MC_LEVEL_DONE), I also modified the code to manually zero the mount at startup.

Testing the mount indoors with the modified indi-celestron-cgx driver, all my primary issues are fixed. After the initial startup, I can fully control the mount through WiFi with no hand controller. I can also successfully goto any object using KStars.

I am hoping to test outdoors in the next few days; my local weather has not been cooperating.

Read More...