×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

Driver OnStep (LX200 like) for INDI

  • Posts: 3
  • Thank you received: 0
Hello Alain,

I am quite new to this topic and am very interested in contributing to the onstep driver and to onstepx. As my setup is using two focuser I would like to improve the second focuser feature in the driver. Right now the driver can be selected with a custom switch that is not used by any indi client application. To me this looks like a workaround to avoid adding multiple focusers to the driver.
Do you know if it is possible to add multiple focuser tabs to the driver, so it can be selected by client applications like Ekos etc.?
I am not quite sure if this is possible or if adding two devices of the same kind to one driver is not provided by the indi library.

regards
Alex
1 year 6 days ago #92725

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

  • Posts: 453
  • Thank you received: 71
Hi Alexander,

honestly I am not really interested in adding support for multiple focusers into the driver and this for two reasons:
- When I first tried to implement the second focuser it was a nightmare with Ekos
- I prefer the idea to have a dedicated driver for additional focusers (less complexity)
But of course if you would like to work on this topic free to you, that(s the purpose of open source :-)

If you intend to start this job, it would be good advice to read Indi doc and see is multiple instances of "FI" (Focuser Interface) are possible and recognized by Ekos. I made so many times the error to believe it works but discovered afterwards it is not working with Ekos ...

Bon courage
Last edit: 1 year 6 days ago by Alain Zwingelstein.
1 year 6 days ago #92732

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

  • Posts: 6
  • Thank you received: 0
Has anybody started working on seperate driver for focuser/rotator?
1 year 4 days ago #92761

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

  • Posts: 453
  • Thank you received: 71
As far as I know, there is only one project that has forked from OnStep and reached a high level of usability, it is "TeenAstro".
Maybe some other people did something in this way but I never heard about.
1 year 4 days ago #92762

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

  • Posts: 323
  • Thank you received: 32
INDI has plenty of focuser/rotator support.

A full list is here (two pages).

www.indilib.org/focusers.html

MyFocuser Pro is open source and open hardware.

Don't know if it has rotator support or not. Check the links in the page.
1 year 4 days ago #92767

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

  • Posts: 453
  • Thank you received: 71
@ Khalid,
You're right Khalid, and in the list we can find TeenAstroFocuser which probabbly is what "illial" is searching for.

@ illial,
give a try to TeenAstroFocuser and verify it is what you are looking for. If yes please report here.
Thanks
1 year 4 days ago #92769

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

  • Posts: 6
  • Thank you received: 0
I didn't find it can be used with the INDI driver in their documentation. Don't want to build another device that will now work for me.
1 year 4 days ago #92771

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

  • Posts: 453
  • Thank you received: 71
I don't undersatnd your concern.
There is nothing to build.
Run Kstars
Just go to [tools][Devices][Device Manager][Focusers][TeenAstroFocuser] and start the Service
you now should be able to connect to OnStep and use the Focuser.
Last edit: 1 year 4 days ago by Alain Zwingelstein.
1 year 4 days ago #92772

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

  • Posts: 6
  • Thank you received: 0
It doesn't connect, but it connects well with lx200 onstep
1 year 4 days ago #92774
Attachments:

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

  • Posts: 453
  • Thank you received: 71
Sad, it could have been a quick solution to your problem.
Sorry
1 year 4 days ago #92775

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

  • Posts: 3
  • Thank you received: 0
Hi,

I had a deeper look into the problem of multiple focusers and stumbled upon some things I wanted to clarify before I continue.

One problem I see, when using FocuserInterface is, that it is impossible to inherit it multiple times. Because of that, it is necessary to have multiple BaseDevices which implement the FocuserInterface. I assume it would be better to use the INDI::Focuser class as a base for the Onstep Focuser. I also saw that approach in the focuslynx driver .
Unfortunately, this only works flawlessly for statically created drivers. Unfortunately, the diver tabs do not get updated when I create a new Focuser dynamically. It requires a reconnect to the indiserver within Ekos. But maybe I am still missing something.
You can see this in my basic implementation .
Furthermore the dependency on Lx200Generic restricts the implementation of a shared lx200 parser class. That's why the onstep_focuser needs access to the file descriptor PortFD and implements its own lx200 parser.
I attached a drawing to illustrate the new class hierarchy. (File: "Blank diagram Focuser Update.png")

This is quite a hacky approach and will result in some duplicated code. As I can see that there is a discussion about restructuring the driver I also made a drawing of a in my opinion better approach. (File: "Blank diagram New Structure.png") But this would mean dropping the dependency on lx200generic and writing some onstep protocol parser, that can be shared between drivers.
As a bonus, it would be also possible to make just a bare rotator driver.

Questions:

1. how to trigger a driver reload for dynamically created based devices in the indiserver and Ekos?
2. is it possible to drop the dependency on Lx200generic?
3. are there problems with concurrency when reading and writing to PortFD unprotected?
4. what do you think about the hacky approach and a complete restructuring of the driver?

regards Alex
1 year 4 days ago #92788
Attachments:

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

  • Posts: 453
  • Thank you received: 71
1. how to trigger a driver reload for dynamically created based devices in the indiserver and Ekos?
I did not find any way to do that in an unattended way nut via button ... not nice
2. is it possible to drop the dependency on Lx200generic?
Needs a complete rewrite from scratch and this is exactly what TeenAstro did
3. are there problems with concurrency when reading and writing to PortFD unprotected?
What do you mean by unprotected?
4. what do you think about the hacky approach and a complete restructuring of the driver?
same as for 2, rewrite all from scratch
1 year 4 days ago #92789

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

Time to create page: 2.208 seconds