×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

Writing a 3dparty-driver for AOK Skywalker (Herkules V12, V24 and V48)

  • Posts: 268
  • Thank you received: 72
Hi all

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

File Attachment:

File Name: DriverProb...8-28.txt
File Size:9 KB

I'm happy, if someone can help me correcting the code, as I don't have any ideas anymore.

Sincerely
Antonio
Last edit: 4 years 6 months ago by Toni Schriber.
4 years 7 months ago #42552
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 268
  • Thank you received: 72
Hi all

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?

Greets
Antonio
Last edit: 4 years 6 months ago by Toni Schriber.
4 years 6 months ago #42598

Please Log in or Create an account to join the conversation.

  • Posts: 268
  • Thank you received: 72
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"!

Sincerly
Antonio
The following user(s) said Thank You: Jasem Mutlaq
Last edit: 4 years 6 months ago by Toni Schriber.
4 years 6 months ago #42685

Please Log in or Create an account to join the conversation.

Great job Antonio and nice progress thus far! Let me know once the driver is ready to land. Looking forward to it!
4 years 6 months ago #42738

Please Log in or Create an account to join the conversation.

  • Posts: 268
  • Thank you received: 72
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.

Regards
Antonio
4 years 6 months ago #42978

Please Log in or Create an account to join the conversation.

There are no UI files for INDI driver, they are spawned as processes that communicate with the hardware and INDI server.

Can you explain more about your issue? any screenshot or logs?
4 years 6 months ago #42979

Please Log in or Create an account to join the conversation.

  • Posts: 268
  • Thank you received: 72
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.
Last edit: 4 years 6 months ago by Toni Schriber.
4 years 6 months ago #42988
Attachments:

Please Log in or Create an account to join the conversation.

In KStars, you're setting Time and Update policy to what? Maybe KStars is updating the time and location? Check it in Settings --> Configure KStars --> INDI
The following user(s) said Thank You: Toni Schriber
4 years 6 months ago #42995

Please Log in or Create an account to join the conversation.

  • Posts: 268
  • Thank you received: 72
Oh my! I'm such in idiot.:sick:
I forgot to define the settings in "kstars", when I set up my development computer.
All working now.

You saved my day! :woohoo:

Sincerly
Antonio

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"?
Last edit: 4 years 6 months ago by Toni Schriber.
4 years 6 months ago #43000

Please Log in or Create an account to join the conversation.

  • Posts: 268
  • Thank you received: 72
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?

Regards
Antonio
The following user(s) said Thank You: Hans
Last edit: 4 years 6 months ago by Toni Schriber. Reason: No answer and reverted to a fully 3rdparty-driver.
4 years 6 months ago #43219
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 268
  • Thank you received: 72
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?

Regrads
Antonio
Last edit: 4 years 6 months ago by Toni Schriber.
4 years 6 months ago #43585

Please Log in or Create an account to join the conversation.

Sorry, been extremely busy lately. What commands that do not correspond to meade? Got link to discussion?

Regarding Pulse Command, it's OFF switch, ON Switch. That's how the switch was declared in lx200telescope.cpp
4 years 6 months ago #43598

Please Log in or Create an account to join the conversation.

Time to create page: 0.674 seconds