×

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

Bi-monthly release with minor bug fixes and improvements

Mount goto from external driver

  • Posts: 983
  • Thank you received: 375
Hi everyone

I've been using indi for a while and now I'm developing some additional drivers as part of my Astroberry project (indi on Raspberry Pi).
The drivers bundle (to be published soon) include:
- Astroberry Focuser (controls stepper motor connected to RPi)
- Astroberry GPS (controls GPS module and RT clock)
- Astroberry AltIMU (controls gyro, magnetometer, compass and alitimeter)
- Astroberry Mosaic (controls arbitrary FOV mosaic with known CCD FOV)
Now I came to the point where I need some help with Astroberry Mosaic...

I'm trying to understand how to send coordinates (RA. DEC) calculated by Astroberry Mosaic module to my mount.
Should I send the coordinates to protected Goto(double RA, double DEC) function declared in inditelescope.h
OR
Should I send the coordinates to Goto(double RA, double DEC) function declared in my scope driver e.g. eqmod.h

I would appreciate if somebody explains to me high level workflow for accesing Goto function from other indi drivers.

Thanks a lot

Radek
Last edit: 9 years 1 month ago by Radek Kaczorek. Reason: typos
9 years 1 month ago #3357

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

So let me check if I understand this correctly. "Astroberry Mosaic" is an INDI driver that generates RA/DEC coordinates that you want to send to EQMod to slew to and track? Are you using EQMod or writing your own mount driver?
9 years 1 month ago #3358

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

  • Posts: 983
  • Thank you received: 375
That is exactly what I mean. I want to send RA/DEC coordinates generated by Astroberry Mosaic to a mount (in my case it's EQMod using standard INDI driver).
I would like to keep it generic so users of other mounts can also use it, so I don;t want to bind it directly to EQMod.
As I understand this means I should use INDI:Telescope class. However Astroberry Mosaic is declared as INDI::DefaultDevice so it might be wrong.
What I don't understand is the actual workflow i.e.
1) "detect" what mount is actually active
2) initiate communication from Mosaic to the mount
3) send the sequence of coordinates from Mosaic to the mount

These might be very basic but still I cannot figure out how to do this.
9 years 1 month ago #3361

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

Well, it's not that simple. There is a simple way but you have to subclass EQMod and you obviously don't want to do that. Your driver would have to act as a "client" as well, so you need to write a small client class (based on INDI::Client) and connect to the local server and then you can issue an update for EQUATORIAL_EOD_COORD property to make it slew/track. Check the client tutorial for an example.
9 years 1 month ago #3362

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

  • Posts: 983
  • Thank you received: 375
Thanks for the hint! Now I understand why it didn't work.
Going from INDI:Client class should be straight forward.
Just to confirm - what you're saying is I should update the EQUATORIAL_EOD_COORD instead of using any Goto() function? Is that right?
At early design stage I have tested and confirmed that updating EQUATORIAL_EOD_COORD works OK. However I thought using Goto() is the proper way.

BTW. INDI is just fantastic, I'm almost finished with the coding and will be releasing the sources of the four drivers mentioned soon
9 years 1 month ago #3364

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

Time to create page: 0.246 seconds