Writing a 3dparty-driver for AOK Skywalker (Herkules V12, V24 and V48) #42552
I'm trying to write a driver for the swiss DDM Mount "Herkules V24". Part of the commands are based on LX200, so I took the Avalondriver as a model and adapted it.
But this driver seems to be faulty, because I cannot access the parent properties of INDI:Telescope. The properties of LX200Telescope however are present!
Attached is a the initialising part of the file "lx200v24.cpp" (copied from the Avalondriver (lx200_Stargo)). Entering the constructor LX200Herkules:.LX200Herkules() the debugger displays all the properties of LX200Telescope (e.g. LX200_HAS_PULSE_GUIDING), but gives no values for all the properties of INDI:Telescope (e.g. TELESCOPE_CAN_CONTROL_TRACK). See
Writing a 3dparty-driver for AOK Skywalker (Herkules V12, V24 and V48) #42598
Very interesting: Building the Herkules V24 Driver (lx200v24) inside INDI as an extension of LX200Generic gives full access to all classes! So there must be some quirk in 3dparty Avalon-Driver. Nobody knows more?
Alas. I have another little nasty problem: The driver does not appear on the driver list in the device manager! Where do I have to look for this?
Writing a 3dparty-driver for AOK Skywalker (Herkules V12, V24 and V48) #42685
Everything is working now! Sorry, for the false report: The Avalondriver is all right!
Sometimes you have to learn it the hard way. With QT Creator you have to load "libindi" as a project too! Otherwise there is no access to the source and the debug information of the core . Once you have done this, all is working at best.
I'm happy now, because I can enter the "productive" phase, e.g. I can begin to write a driver covering all the specialities of the Herkules V24. It's a wonderfull DDM-Drive and it's high time this mount can be driven with an excellent piece of software, that is to say "INDI"!
Writing a 3dparty-driver for AOK Skywalker (Herkules V12, V24 and V48) #42978
Thank you for your appreciation.
I've made some progress, but now I'm stuck with a little and nasty problem: Some function is placing strange values in the location fields of the site management!
I cannot find out what is the culprit! Without access for the input-fields of the location there is no chance!
So here is my question: How can I get access to the QT interface for the driver? I could not find any UI-Files or similar.
Writing a 3dparty-driver for AOK Skywalker (Herkules V12, V24 and V48) #42988
Okay, here you are!
Because the TCS (Telescope Control System) of Herkules (in contrast to a standard LX200 implementation) does not memorize site coordinates and elevation, I try to load it from config-file in "sendScopeLocation". As you see this works, but with the next poll some code puts another "NewNumber" in the queue and overwrites the location with a strange data, that is present from the beginning.
Writing a 3dparty-driver for AOK Skywalker (Herkules V12, V24 and V48) #43000
Oh my! I'm such in idiot.
I forgot to define the settings in "kstars", when I set up my development computer.
All working now.
You saved my day!
P.S. How can the driver detect which client is asking for an action?
P.P.S. Every time QT Creator is closing a debugsession, I have to kill manually "indiserver". What's the elegant way to induce the terminating of "indiserver"?
Writing a 3dparty-driver for AOK Skywalker (Herkules V12, V24 and V48) #43219
Hi Jasem, hi all
Unfortunetly writing my Herkules-driver I ran into serious problem when using the basic lx200-driver of INDIlib. As I already stated on GITHub, the command strings defined in the lx200-driver don't match the ones in the official paper [Meade Telescope Serial Command Protocol (Revision 2010.10, 7 October 201)].
As the TCS (Telescope Control System of the herkules) is using the prescribed commands of this paper a experienced ugly problems with the following commands:
What is the receommend way to correct this? Should I put the correct string in the 3dparty-driver as overrides or should I propose to correct the lx200driver?
Writing a 3dparty-driver for AOK Skywalker (Herkules V12, V24 and V48) #43585
Seems nobody wanted to give a feedback, so I decided to implement the correct LX200-commands in the Herkules-driver itself. I think it's the right way, because all the stuff remains in 3rdparty.
But the question remains: Why does the crucial lx200driver implement incorrect LX200-commandstrings?
I encountered a nasty hiccup in the UI concerning the order of the buttons of switches: Most of them appear in order they are declared. But two of the switches ("Pulse Command" and a new switch for Herkules "Motors locked") are the other way around. So the the Off-button comes first followed by the On-button. What is the cure for this?