×

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

Bi-monthly release with minor bug fixes and improvements

Driver OnStep (LX200 like) for INDI

  • Posts: 452
  • Thank you received: 71
Thank you Jasem,

I finaly got to compile libindi.
all the 3rdparty drivers also except "indi-rtlsdr" (I suppose dependency for libdspau issue)
I will continue to search ...
================
A the end I don't know if I made something wrong or not but fact is that I had an old version of "libdspau.so" an "libdspau.so.1" in my /usr/lib/ directory.
After removal full compilation worked again.

Not that I need all the 3rdparty drivers, but I hate when something does not work ...
Last edit: 5 years 7 months ago by Alain Zwingelstein.
5 years 7 months ago #28483

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

  • Posts: 322
  • Thank you received: 31
I upgraded today to the latest stable KStars and INDI.

The good news is that the driver no longer crashes, after the fixes for the tty_nread changes. So slewing is normal, ...etc.

The bad news: One problem: when starting an Align (1 star or 3 star), the 'Align Process' line does not change to the value returned from :A?#. It still says 'Manual Alignment Process Idle', instead of the return value from said USB command.

OnStep itself is not the problem. When I disconnect INDI and connect from the command line using picocom, then use the Android app to start an Align, and issue a :A?#, I get back 613#. So the OnStep side of things are normal. It is the INDI driver that does not read and/or report the result of :A?# correctly.
Last edit: 5 years 7 months ago by Khalid.
5 years 7 months ago #28743

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

  • Posts: 452
  • Thank you received: 71
@ Khalid,

I think something is broken in the driver code.
I am not in position to test it but for sure it has someting to do with refresh of Align variables
I believe the OSAlignOn variable is reset somewhere (could not see where).
I did this conditional to minimize polling but think it is not necessary.
Have same issue in version 1.4 and fixed it by discarding test

===================== lx200_OnStep.cpp ======================
// Update OnStep Status TAB
IDSetText(&OnstepStatTP, "==> Update OnsTep Status");
if (OSAlignOn) //don't Poll if no Aligning
{
if(!GetAlignStatus()) LOG_WARN("Fail Align Command");
}
==================================================
5 years 7 months ago #28780

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

  • Posts: 452
  • Thank you received: 71
@ Khalid,

I checked the last version of stable and can reproduce what you notice about align.
Sine I discovered the same issue in the development version I did suspect my code but the fact that Stable has the same issue make me think that something in Indi changed and affected the behavior.

Here my notes after debugging:
To maintain some status I use global variables defined as part of "class LX200_OnStep" in lx200_OnStep.h
The strange thing is that these variables are reinitialized each time a function from Indi is called as if there would be declared again and again ????
I checked older versions with the same code and this did work.
Moving the variables declaration out of the class did solve this issue but I still do not understand the problem so nothing is solved.

I suspect my coding approach is wrong and I missunderstand something in Indi.
Any idea?

these variables are
char OSStat[20];
char OldOSStat[20];

char OSAlignStat[10];
char oldOSAlignStat[10];
bool OSAlignProcess=false;
bool OSAlignFlag=false;
bool OSAlignOn=false;

char OSPier[2];
char OldOSPier[2];
5 years 7 months ago #28842

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

  • Posts: 452
  • Thank you received: 71
Finally I found that the variables were overwriten via overflow by Indi, so all of them should be sie of RB_MAX_LEN.

Just move definition of RB_MAX_LEN into header instead of cpp

char OSStat[RB_MAX_LEN];
char OldOSStat[RB_MAX_LEN];

char OSAlignStat[RB_MAX_LEN];
char oldOSAlignStat[RB_MAX_LEN];
bool OSAlignProcess=false;
bool OSAlignFlag=false;
bool OSAlignOn=false;

char OSPier[RB_MAX_LEN];
char OldOSPier[RB_MAX_LEN];
5 years 7 months ago #28843

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

  • Posts: 322
  • Thank you received: 31
Thanks for finding the root cause.

So, will you create a pull request for the fix against master, or should I do that?
5 years 7 months ago #28863

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

  • Posts: 452
  • Thank you received: 71
Khalid,

I tried to create branches on git to have multiple versions together but I discovered it is not as easy as that.
I tried to create the pull request starting from github.com/azwing/indi/tree/ONStep1.3 (the branch where I put the fix for version 1.3) but it ended up in a disater .
So yes if you could do the pull request would help, I am sure you manage git much better than me.

Thanks
5 years 7 months ago #28875

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

  • Posts: 322
  • Thank you received: 31
Done.

Tested it, and I see the status of the alignment again.

Here is the PR for Jasem.

github.com/indilib/indi/pull/687
5 years 7 months ago #28880

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

  • Posts: 322
  • Thank you received: 31
Alain,

Jasem merged the fix into master. So that part is taken care of now. The next stable should have the fix.

Did you get a chance to test the plate solve align with OnStep (the patch that I created a while ago)?
5 years 7 months ago #28901

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

  • Posts: 452
  • Thank you received: 71

Unfortunately no, only test was indoor but after the fix of yesterday and looks like it works as expected.

Hope I can put everithing togetehr before winter so I can do intensive testing in the observatory even without motorization of roof but this is another story.
I really need to finish the works before snow is comming ....
5 years 7 months ago #28910

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

  • Posts: 257
  • Thank you received: 22
Hi guys. I can test that tonight if it's still clear and I get a chance. I have to go off to a dinner but should get back in time to try. The mount is already setup so I just have to mount the scope and cameras and go. Not converting setups should allow me to get going faster as well.

@kbahey: Are there any changes to your onstep code or can I just use the one I got previously? If so could you attach it?

@Alain: That sounds exciting! can we get a picture or two?

Here's the fruits of our labors. Always good for a boost when things work.
The dumbell nebula(M27) is a nice little supernova remnant and despite lash in the dec axis causing guiding issues, I got enough frames to make this LRGB image. Looking at it always makes me say POW! You can even see the dwarf remnant at its center.
4lum,2red,1green,2blue @60sec ea.
TPO Os6in imaging newtonian
asi178mm /diy wheel using indi(emulating Xagyl)
diy focuser using indi (emulating moolite)
Celestron Omni CG-4 DIY converted to steppers using OnStep/indi/ekos
5 years 7 months ago #28963
Attachments:

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

  • Posts: 322
  • Thank you received: 31
@Blueshawk

If you mean the plate solve align, then the best way is to download (or checkout) the latest version of OnStep, then apply my plate solve align patch to it, as per the instructions here .

The procedure to test it is the same as before: Go to the INDI panel click on the 3 star align, then go to Mount Model and select 3 stars to align on, then let it run its alignment. At the end of the process you should get more accurate Goto pointing, and the :A?# command should show 633 as the result.
5 years 7 months ago #28964

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

Time to create page: 0.301 seconds