×

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

Bi-monthly release with minor bug fixes and improvements

Always focus from one direction

  • Posts: 554
  • Thank you received: 138
A number of focuser drivers already have backlash implemented. it isn't difficult.

Implementing it in the base class could be quite a lot more work because it would still need to refer to the actual driver to handle detecting when the initial slew has stopped, start the final slew and wait for it to stop. All of that is currently done in the driver at present.

There's also a lot of variability in how backlaash is done. I've described one that is handled in the Indi driver but it could also be in the low level driver hardware.

Better to let each driver handle it in the way that suits it.

If you need an example the Celestron SCT focuser driver has one implementation.
3 years 10 months ago #54740

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

I concur with Chris. This has a very good potential of introducing regressions if introduced at the base class. Let each driver handle it as it sees fit.
3 years 10 months ago #54741

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

  • Posts: 421
  • Thank you received: 102
Very well. That certainly makes it easier for me, since I've already done most of the work in my Waveshare driver. :)
3 years 10 months ago #54743

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

  • Posts: 185
  • Thank you received: 28
I implemented backlash compensation in my moonlite-compatible arduino code at github.com/beckrd/Moonlite_Focuser . I always move x steps beyond the targeted amount when moving outward and then move to the target inwards. As Jasem mentioned, the focus module just waits for the moonlite driver to report that the focuser is at target position.

Feel free to use the code or logic as you see fit for your implementation.
3 years 9 months ago #54810

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

  • Posts: 1009
  • Thank you received: 133

But backlash compensation is a different thing. If you use a wrong setting for BL comp, you get crap result. Both if it's too low and if it's too high.
With end-movement-inwards, you only lose some time if the value is too large.

I thought the base class sends a command, and then waits for the driver to report 'done'. So just send two consecutive commands if you want to move X steps out. First X+overscan, then -overscan (inwards).

IMO this would be an alternative to BL compensation, i.e., when using it, BL comp should be disabled.
3 years 9 months ago #54831

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

Time to create page: 0.603 seconds