×

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: 257
  • Thank you received: 22
@Calberts: Thanks for helping with testing! :)
5 years 2 months ago #34278

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

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

II experiences this timeout too as well as Ekos believing flip is foinished right before slewing ended.
This is the consequence of unsynchronized process running in Ekos on one side and OnStep on the other side.

Since there is no command to initiate a flip and not command to check is if is in progress Ekos relies on coordinates, which is the reason of Ekos thinking it is done and OnStep still slewing.
I have to check how Ekos really does the thing and if the timeout could solve this synchonization issue.

This means diving into Ekos code, a new challenge :-)

here the code where Ekos checks if flipping, now I understand why we are still sleawing when Ekos consideres flip is done
====================================
case MF_FLIPPING:
{
double ra, dec;
currentTelescope->getEqCoords(&ra, &dec);
double diffRA = getInitialMountCoords().ra().Hours() - ra;
// If the mount is actually flipping then we should see a difference in RA
// which if it exceeded MF_RA_DIFF_LIMIT (4 hours) then we consider it to be
// undertaking the flip. Otherwise, it's not flipping and let timeout takes care of
// of that
// Are there any mounts that do NOT change RA while flipping? i.e. do it silently?
// Need to investigate that bit
if (fabs(diffRA) > MF_RA_DIFF_LIMIT /* || nvp->s == IPS_OK*/)
meridianFlipStage = MF_SLEWING;
}
========================================

and here where timeout is defined (unfortunately #DEFINED, no way to set it currently
========================================
#define MF_TIMER_TIMEOUT 90000
#define GD_TIMER_TIMEOUT 60000
#define MF_RA_DIFF_LIMIT 4
========================================
and the code to check timeout, at least there are three retries at 90s before giving-up, leaves 270 seconds to do the flip
========================================
void Capture::checkMeridianFlipTimeout()
{
if (meridianFlipStage == MF_NONE)
return;

if (meridianFlipStage < MF_ALIGNING)
{
appendLogText(i18n("Telescope meridian flip timed out. Please make sure your mount supports meridian flip."));

if (++retries == 3)
{
//KNotification::event(QLatin1String("MeridianFlipFailed"), i18n("Meridian flip failed"));
KSNotification::event(QLatin1String("MeridianFlipFailed"), i18n("Meridian flip failed"), KSNotification::EVENT_ALERT);
abort();
}
else
{
if (executeMeridianFlip())
appendLogText(i18n("Retrying meridian flip again..."));
}
}
}
=================================
Last edit: 5 years 2 months ago by Alain Zwingelstein.
5 years 2 months ago #34297

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

  • Posts: 107
  • Thank you received: 4
Alain

I think here we need definitely the help of guys like Jasem, I dont know who this is working in the forum should we ask hem to add the Flip duration which will be result in timout settings in above code?

How can we ping him in to this discusion to understand his view?


Chris
5 years 2 months ago #34304

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

  • Posts: 322
  • Thank you received: 31
I am not sure if this would work, but worth a try ...

Once Ekos initiates the meridian flip, it should wait for a timeout period (configurable), and for two conditions to be true before it considers the flip complete.

The two conditions are:
- is the OTA east of pier (pointing west)? and
- is the mount tracking?

The timeout period will be something by trial and error depending on the slew rates for the mount. It should be measured and then configured in Ekos.
5 years 2 months ago #34321

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

  • Posts: 452
  • Thank you received: 71
Chris,
The right way to have this changed is to change the code, test it and then pull request to Jasem.

I believe the subject is already covered here: indilib.org/forum/ekos/1170-auto-meridia...ure-module.html#7917
Considering the code as it is today and that it suppports not only Onstep, if we change something we must ne sure it does not break functionality for other mounts.

For the moment I see only the way of having MF_TIMER_TIMEOUT beeing a default value, and introduce a new variable that could be set-up in Ekos UI.
Changing only the default value may break functionality for other mounts.

regards
5 years 2 months ago #34322

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

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

I succeeded to have a TimeOut Field an it seems to work.
Have a little bit more trouble finding out how to get telescope stratus but it's on the way.

After some tests it seems working well when I set the time slightly over the time required by OnStep (may test fiirmware is an Arduino Mega so is slow).
When I reduce the time, I get the timeout and after third trial it goes to abort
here the screenshot of the modified interface.
I will do more tests tomorrow and also try so have the entered values saved for later reuse.
Last edit: 5 years 2 months ago by Alain Zwingelstein.
5 years 2 months ago #34341
Attachments:

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

  • Posts: 107
  • Thank you received: 4
Alain

You are so cool ,top

I feel so .... That i only have question not can help with programming

Chris
5 years 2 months ago #34374

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

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

no everybody is programmer, myself I am really a nut in computer programming ...
I just try to survive :-)

I hope I can issue a pull request for that during next week.

It seems the change is already obsolete. see phabricator.kde.org/D18235
Last edit: 5 years 2 months ago by Alain Zwingelstein.
5 years 2 months ago #34375

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

  • Posts: 107
  • Thank you received: 4
Alain

I think you must make it a check box because if not checked default Ekos settings are used is that a idea?

What do you mean with this "It seems the change is already obsolete"

Chris
Last edit: 5 years 2 months ago by Chris Alberts.
5 years 2 months ago #34429

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

  • Posts: 452
  • Thank you received: 71
Meridian Flip is njow wotking with Onstep, thanks to Wolfgang Reissenberger and some other that patched KStars.

Basically no more Timeout but rather chnaged the way meridian flip is triggered.
Now meridian flip is managed by the mount so it becomes independent from Capture.
It might be confusing on the first viewbecause now there are two places where stup can be done:
- in the Capture tab
- and in the mount tab
The mount tab has priority in the sense that if one sets the meridian flip in the mount tab it is executed even if no capture is running.

If one set the meridian flip in the Capture tad, then as soon the captue sequence is started, the settings are transposed to the Mount tab (Time and checkbox)

In the mount box there is additionally a countdown field that shows status of meridian flip right under the setpoint.

It needs a bit experimentation with it but it is working fine.
Somme screeshots
First set Capture

and Mount not set

Start capture sequence

settings transposed to Mount tab

and countdown
5 years 2 months ago #34461
Attachments:

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

  • Posts: 107
  • Thank you received: 4
Whoo, cool and little complex, how to get this update on my mac
Ekos is part kstars

Chris
5 years 2 months ago #34471

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

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

I cannot answer, I have no Mac.
But as far I can see on www.indilib.org/download/osx.html the latest update is from 2017, so I don't see grat chance for you to get a daily built.
Seems the dmg file is for KStars 3.0.0 not a 3.1.0

Sorry
5 years 2 months ago #34473

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

Time to create page: 2.208 seconds