×

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

Bi-monthly release with minor bug fixes and improvements

Fix for - Declination inverted in SkySafari driver/client

  • Posts: 65
  • Thank you received: 7
When using the SkySafari INDI driver / interface on the Avalon StarGO2 Pro, it inverts DEC values between -1° and 0°. The values become positive and the mount slews to the opposite side of the celestial equator. E.g. -0° 27' becomes +0° 27'.

I could confirm this with three stars in Pisces: 12, 13, and 14 Piscium. For the first two, the mount goes to the opposite side of the equator, for the last one it goes to the star correctly. Plate solving cannot fix this, either … obviously.

Avalon Instruments is neither answering to e-mails nor acknowledging this bug in a post in their user forum. And since I assume they are using the standard INDI driver/client for SkySafari 6, I posted the same question here.

Below a screenshot when trying to slew to Jupiter. The mount always slews to the positive number of the DEC value:

1 year 5 months ago #87431
Attachments:

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

  • Posts: 276
  • Thank you received: 52
Hi Willi,

QQ: Does it work if you use the lx200Classic in SkySafari and not the Avalon INDI ?

Gene
1 year 5 months ago #87471

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

  • Posts: 65
  • Thank you received: 7
With the StarGO2 controller, you can use the LX200 BASIC driver, which is actually accessing the SkySafari client on the mount. Same problem.

The StarGO2 has two INDI drivers: a) The SkySafari driver/client for SkySafari 6 and b) the „native“ INDI driver for the mount, The latter can be used with SkySafari 7 Pro, which can access INDI drivers directly. So, no problem with SySafari 7,

The SkySafari INDI driver is used by the ASIAIR and its LX00 BASIC driver. The LX200 CLASSIC does not work and the native driver cannot be accessed with the ASIAIR. I think the ASIAIR cannot access other INDI servers….
Last edit: 1 year 5 months ago by Willi.
1 year 5 months ago #87476

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

  • Posts: 276
  • Thank you received: 52
Sorry if I seem confused but with your original problem statement about DEC < -1deg there was no mention of your connection methods of SS 6 to the mount and now there is ASIair and SS 7 added to the discussion.

So the „native“ SS7 interface, when what is connected to what 'works'?
And the SS6 has the issue when what is connected to what?
1 year 5 months ago #87488

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

  • Posts: 65
  • Thank you received: 7
When you connect to the StarGO2 via port 9624, the StarGO2 automatically uses the SkySafari INDI driver, which was originally intended/developed for SkySafari 6. Any device that connects through this port uses that driver. IPad, computer or the ASIAIR. The SkySafari INDI driver kind of emulates an LX200 protocol/interface.

When you are using SkySafari 7 Pro, then you can use the INDI server on the StarGO2 and the native INDI driver for the mount/controller via port 7624.

This comparison shows that the issue is with the SkySafari INDI driver and not with the communication or SkySafari 6 itself.

I am talking about the SkySafari INDI driver/client from this directory:
github.com/indilib/indi/tree/master/drivers/auxiliary
Last edit: 1 year 5 months ago by Willi.
1 year 5 months ago #87503

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

  • Posts: 276
  • Thank you received: 52
Hi Willi,

Ok, got it!

In Ekos, I just set Telescope = Telescope Simulator and Aux = skysafari.

Then pointed an -ancient- version of Skysafari to IP:9624 and connected.

Tried a GoTo star 'Heze' @ -00:42:41.4

And as you state, the Scope Simulator was pointed to +00:42:41

The log's show:
[2022-10-27T12:53:46.360 EDT DEBG ][ org.kde.kstars.indi] - Telescope Simulator : "[SCOPE] Current RA: 13:35:51 Current DEC: 0:42:41 "
[2022-10-27T12:53:46.608 EDT DEBG ][ org.kde.kstars.indi] - Telescope Simulator : "[SCOPE] mountToApparentRaDec 8.502344, 0.711389 to ha 8.502344, ra -156.038491, 0.711389 "
[2022-10-27T12:53:46.609 EDT DEBG ][ org.kde.kstars.indi] - Telescope Simulator : "[SCOPE] HaAxis: 8.502344, ra 13.597434 "
[2022-10-27T12:53:46.610 EDT DEBG ][ org.kde.kstars.indi] - Telescope Simulator : "[SCOPE] DecAxis: 0.711389, dec 0.711389 "
[2022-10-27T12:53:46.611 EDT DEBG ][ org.kde.kstars.indi] - Telescope Simulator : "[SCOPE] Current RA: 13:35:51 Current DEC: 0:42:41 "
->>>>[2022-10-27T12:53:46.751 EDT DEBG ][ org.kde.kstars.indi] - SkySafari : "[DEBUG] CMD <Sd-00*42:41> "
[2022-10-27T12:53:46.752 EDT DEBG ][ org.kde.kstars.indi] - SkySafari : "[DEBUG] RES <1> "
[2022-10-27T12:53:46.752 EDT DEBG ][ org.kde.kstars.indi] - SkySafari : "[DEBUG] CMD <> "
[2022-10-27T12:53:46.859 EDT DEBG ][ org.kde.kstars.indi] - Telescope Simulator : "[SCOPE] mountToApparentRaDec 8.503391, 0.711389 to ha 8.503391, ra -156.038491, 0.711389 "

So Skysafari is sending correct info

The skysafari server code shows:
else if (cmd.compare(0, 2, "Sd") == 0)
{
int dd = 0, mm = 0, ss = 0;
if (sscanf(cmd.c_str(), "Sd%d*%d:%d", &dd, &mm, &ss) == 3)
{
DE = abs(dd) + mm / 60.0 + ss / 3600.0;
->>> if (std::signbit(dd))
DE *= -1;
}

They are trying to get the sign of the 'dd' but sscanf cannot return it.

A fix would be to replace
if (std::signbit(dd))
With
if(strncmp(cmd.c_str(),"Sd-",3) == 0)

Gene
The following user(s) said Thank You: Willi
1 year 5 months ago #87552

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

  • Posts: 276
  • Thank you received: 52
The following user(s) said Thank You: Willi
1 year 5 months ago #87564

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

  • Posts: 65
  • Thank you received: 7
Hi Gene,

Thank you !!! Great find in the code.

I will check with Avalon to update the driver or to fix this bug!

Willi
1 year 5 months ago #87584

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

  • Posts: 276
  • Thank you received: 52
Hi WIlli,

What version of INDI(Kstars?) are you running?
Seems this issue was already addressed in INDI 1.9.5

2022-10-29T11:38:25: [INFO] Telescope slew is complete. Tracking...
2022-10-29T11:37:25: [INFO] Slewing to RA: 14:58:42 - DEC: -0:15:25

Gene
The following user(s) said Thank You: Willi
1 year 5 months ago #87601

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

  • Posts: 65
  • Thank you received: 7
Hi Gene,

Ui... good to know. The StarGo2 Raspberry Pi has its own INDI-server / library. The SkySafari driver/client is adapted to their systems. So I don't think I could just update INDI. Preferably, this would need to be updated by Avalon.

Anyway, if I run indiserver from the command prompt on the RPi I get the following:

pi@StarGO2:~ $ indiserver -vvv
2022-10-29T13:44:22: startup: indiserver -vvv
Usage: indiserver [options] driver [driver ...]
Purpose: server for local and remote INDI drivers
INDI Library: 1.8.9
Code v1.8.9-1-g4c3f1c60. Protocol 1.7.
...
pi@StarGO2:~ $

Again, AFAIK, the skysafari driver is updated separately from INDI. There is an extra indi director in the home directory which contains their own drivers, including the ones for SkySafari.

BTW, I like to come back to the comment that it is an "ancient" SkySafari version ;-). This is actually not really the case. Until the very recent (earlier this year) release of SkySafari Pro version 7, you could ONLY connect SkySafari 6 via port 9624 to any INDI-based telescope controller. Only with the new SkySafari 7 version, you have the option to use port 7624 and thus utilise the native mount drivers, but you still also have the option to use port 9624, which would still be using the one that had DEC flipping issue. The latter connection is widely used anyway due its simplicity.
Last edit: 1 year 5 months ago by Willi.
1 year 5 months ago #87604

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

  • Posts: 276
  • Thank you received: 52
Hi WIlli,

If your INDI is v1.8.9, the bug exists for port 9624 connection.
My 'ancient' Skysafari is v1.8.5 and when connected to INDI with v1.9.3 as lx200 classic to port 9624 it fails the -0 dec.
I pulled in v1.9.8 Skysafari.cpp/.h only and it worked correctly.
Looking back through the GIT history, Jasem updated the Skysafari.cpp in v1.9.5 to use native INDI libraries to do the calculation.

If you tried to update only the indi_skysafari driver to 1.9.5 or later you most likely would break it with undefined symbols on execution.

Talk to Avalon,

The Skysafari.cpp v1.8.9 was done "Latest commit d6e9d74 on Jan 19, 2021" and the latest update for 1.8.9 was
From 1.8.8 to 1.8.9

+ 91bcd531 2021-02-24 Jasem Mutlaq

Gene
The following user(s) said Thank You: Willi
1 year 5 months ago #87607

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

  • Posts: 65
  • Thank you received: 7
Thank you for clarifying... I get it now, you were referring to ancient drivers rather than ancient SkySafari Apps ... I am so embarrassed.

I will check with Avalon... actually, I have posted the issue in their forum and had sent them a couple of e-mails. There has been no reply to any of these requests, nor any acknowledgement. Absolute radio silence. Therefore, I am even more grateful that you and this forum replied so quickly and provided a solution!
Last edit: 1 year 5 months ago by Willi.
1 year 5 months ago #87608

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

Time to create page: 1.329 seconds