×

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: 322
  • Thank you received: 31
@azwing

The Mega should work. The only limitation I saw Howard warning about is the number of stars in alignment, and sluggish response when calculating the alignments.

So stick to 3 star alignment only (at least for a start), and see if that works for you. Also don't be surprised if there are timeouts on 4th or subsequent stars.
5 years 7 months ago #28226

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

  • Posts: 452
  • Thank you received: 71
@ James Lan,

I am looking at your "new Alaign" code, and there is a thinkg I don't understand.
You use a lx200 command ":AW#" but I dont find such a command in the Onstep Alpha Firmware
Do you have a fork of the firmware somewhere? or do I miss something?

I apologize, found it ; subject closed
Thanks
Last edit: 5 years 7 months ago by Alain Zwingelstein.
5 years 7 months ago #28250

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

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

I tried to set-up the test but face some other issues

- I don't kow how to take PR as a diff and apply it to Alpha (may be you can help here)
- Seems that what James changed in the alignment code broke the existing alignment code so I have first to sort out what happens here
- I had to modify "Pins.Classic.h" to include definition of "Axis4_EN" to compile Alpha for Arduino Mega with Focuser support (Axis4_EN' was not declared in this scope)
5 years 7 months ago #28367

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

  • Posts: 322
  • Thank you received: 31

Attached is a patch for the plate solve align.

To apply use:

patch -p1 < /path-to/onstep-plate-solve-align.txt

Ignore the hunk offset message.



From what James said previously, the new plate solve alignment code in INDI would not be needed if the OnStep patch above is verified to work (which it did for me).

James, can you please confirm that this is the case?



I don't have RAMPS, so can't comment.
Last edit: 5 years 7 months ago by Khalid.
5 years 7 months ago #28382
Attachments:

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

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

Thanks for the Patch.

Will try this.
5 years 7 months ago #28401

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

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

I applied your patch successfully, thanks.
Looking further at James Implementation of Aling I think James imlementation is as following:

He has Three buttons in a separate tab and four message text fields
"Start Align" => sends ":A6#",
"Issue Align" => sends ":A+#" and
"Finished Align" => sends ":AW#"

I think
- the default to 6 star align should be under user control (choser or entry field)
- the last button is necessary since it the the one that asks firmware to store the model into EEprom

What is your thought?
5 years 7 months ago #28419

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

  • Posts: 322
  • Thank you received: 31

I have not looked at the james' code or the UI, but if 6 is hardcoded, it forces 6-star align.
This will not work with with RAMPS since it is too slow to do that many stars.

Also, the number of stars should be configurable.

Right now in INDI, we have 1-star, 2-star, or 3-star.


We already have that. The Align button does it.


The current code does not issue this command, see below.



Agree with the first point, as my comment above.

As for the :AW# command, we currently do not issue this command, yet align works normally.
I know align works because after doing the final star, the status shows that it is complete (number of stars requested = number of stars aligned on).

You can check the existing code here, and search in the browser for ':A'.

github.com/indilib/indi/blob/master/libi...ope/lx200_OnStep.cpp

All what :AW# does is write the align model to EEPROM. I don't know if this should be done every time after an align, or on demand. Maybe it has to do with Parking, when the mount is in an observatory, and hence no need to align every night. Don't know. A good question for Howard, and how the Android App does it (does it issue AW every time, or not). Whatever it is, the current code for INDI OnStep does not do it.

Even if it is required, it is not a big deal to change my patch so it is like this:
if ((alignNumStars == alignThisStar) && (meridianFlip == MeridianFlipAlign)) {
 meridianFlip=MeridianFlipNever;
 saveAlignModel();
}

That is all.
5 years 7 months ago #28420

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

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

it seems we are on he same line.
- for number of align stars => should be user choice
- Write to EEprom at end of alignment => leave this up to the user

As a result I would say:
- leave the current stable code as is just adding user choice for number of alignment stars
- add a "write to EEprom" button

I will look to go this direction and wait until James can have his input .
5 years 7 months ago #28422

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

  • Posts: 257
  • Thank you received: 22
"Start Align" => sends ":A6#", <== If this was active when I did my test it might explain why it crashed the mount and then later refused to slew when I did a three star since it never finished?
@azwing, you might try going back over what I wrote that night to see if anything useful comes of it.

The rain finally stopped for a bit. I'm setting up this evening but since the code is in flux I'm not going to test anything. I am however going to use Jasem's align routine to see what it does without the onstep interaction. It looked like a nice way to use plate solving to get aligned, and now even better now that you can pick your own stars, much needed in my forest and I'd like to be more familiar with the procedure for next time.
5 years 7 months ago #28427

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

  • Posts: 322
  • Thank you received: 31

Agreed.

And use the OnStep patch, so Mount Model will do alignment inside OnStep using Plate Solving.

Agreed.
5 years 7 months ago #28428

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

  • Posts: 322
  • Thank you received: 31

If you try to use Ekos' Mount Model tool with any OnStep version, no alignment will happen.

That is, unless you:

a) Use the current Alpha of OnStep, AND
b) Patch that Alpha with my patch above.

Only then will Mount Model do alignment by plate solving.
5 years 7 months ago #28429

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

  • Posts: 161
  • Thank you received: 39
Sorry I haven't been that responsive.

pretty much kbahey is correct, with one exception:

Mega should be fine, if you note, that things are restricted. (HAL_SLOW_PROCESSOR) so it shouldn't take too long, even if using more than 3. (I don't think it ignores them, but there are a few values that are calculated differently.)

> James, can you please confirm that this is the case?

Correct, if we don't need it scripted, and the dialogs, and can just use the mount model, then we should be good.
AW will save it, so if parked, it will be able to restore it. I just went back through and it seems to be fine, if it's not used. It should be added, but it's not critical.

So as far as I see the TODO:
- leave the current stable code as is just adding user choice for number of alignment stars
Align number of stars should be: 1-9 based on the code. (I don't think we can detect if it's a HAL_FAST/SLOW_PROCESSOR, but I'll look at the get onstep values, which could restrict that, for the most part it's compensation for more error.)

- add a "write to EEprom" button

Personal TODO:
Look about detection of board, and what aligns are supported. (HAL_FAST uses 4 or more, I think SLOW is limited to 3
I do have some pulls to do, adding accessory output support, but I screwed up the git branch, which is always fun.


I mainly wrote that quickly to test, and avoid the whole popups on goto. Frankly, I want the whole "Push this button to auto align it, and have it perfect." in Ekos. ;) I think there's a bit more we can do with Ekos/INDI mount models possibly calculating the alignment and feeding the numbers OnStep needs to it, which eliminates the issue of speed as well. (That's a really quick look a few weeks ago, and I need to do more reading on that before saying it's possible or not. I've found Ekos/INDI amazing.. if you know what's already been done, and doing it the way the other things do the 'right' way for interfacing with other things.)
5 years 7 months ago #28430

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

Time to create page: 0.445 seconds