×

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

Bi-monthly release with minor bug fixes and improvements

NexDome driver will not slave dome without abort press

  • Posts: 8
  • Thank you received: 2
Hello Jasem,

I have looked everywhere but I can't see anyone else having this issue.

I automated my Pulsar dome last year using the same Stepper motors/drivers and Arduino Leonardo/Xbee arrangement as NexDome explicitly in order to use the INDI NexDome drivers. I have had the dome hardware working and slaving well with indi/Kstars using the original v1 firmware developed by Grozzie. My mount is an AZ-EQ6GT using the eqmod mount driver.

Now INDI has moved on to the official NexDome hexfile firmware, I flashed the new v3.2.0 firmware on the rotator and shutter and both are working very well using the latest V1.4 NexDome driver , with the exception of the dome slaving to the mount.

The dome will move to slave one time after unparking the mount but not after that. Also the manual CCW and CW buttons in the driver will work once only. Until, that is, the abort button is pressed, where the dome will then move to the correct mount azimuth. Similarly the CW & CCW buttons will again move the dome once, after each abort button press. in the NexDome driver tab the following warning appears:

"2020-01-11T21:03:19: [WARNING] Please stop dome before issuing any further motion commands."

Examining the log files it appears that when the dome reaches it's target azimuth and stops moving it issues a STOP but it is interpreted as a status request instead as the response given apears to be for a @SRS command as in <:SER,7935,0,53900,0,300#> with value <7935,0,53900,0,300> " shown below. The INDI driver thinks the dome is still moving. The abort button issues a "hard stop" using the @SWR command and afterwards INDI is free to move the dome again.

An example from the log, edited for brevity, shows the mount has been slewed to azimuth 45 degrees and, following an abort button press, the dome immediately begins slaving:

[2020-01-11T15:50:36.924 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] CMD <@SWR> "
[2020-01-11T15:50:36.929 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] RES <STOPHstop 0:SER,149,0,53900,0,300> "
[2020-01-11T15:50:36.930 GMT INFO ][org.kde.kstars.ekos.observatory] - "Dome is idle."
[2020-01-11T15:50:36.934 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] JD: 2.45886e+06 - MSD: 23.2189 "
[2020-01-11T15:50:36.934 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] MC.x: 0.03 - MC.y: 0.18 MC.z: 0.07 "
[2020-01-11T15:50:36.934 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] HA: -7.56305 Lng: 0.404272 RA: 102.133 "
[2020-01-11T15:50:36.934 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Active Snoop, driver: EQMod Mount, property: TELESCOPE_PIER_SIDE "
[2020-01-11T15:50:36.934 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] OTA_SIDE: 1 "
[2020-01-11T15:50:36.935 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] OTA_OFFSET: 0.53 Lat: 51.5228 "
[2020-01-11T15:50:36.935 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] OC.x: 0.240877 - OC.y: -0.200657 OC.z: -0.232541 "
[2020-01-11T15:50:36.935 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Mount Az: 45.452 Alt: 21.1014 "
[2020-01-11T15:50:36.935 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] OV.x: 0.664875 - OV.y: 0.654467 OV.z: 0.360019 "
[2020-01-11T15:50:36.935 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Mount Az: 45.452 Alt: 21.1014 "
[2020-01-11T15:50:36.935 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] OV.x: 0.664875 - OV.y: 0.654467 OV.z: 0.360019 "
[2020-01-11T15:50:36.935 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Calculated target azimuth is 53.8915. MinAz: 45.7782, MaxAz: 62.0048 "
[2020-01-11T15:50:36.935 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] CMD <@GAR,53> "
[2020-01-11T15:50:36.935 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] RES <Phase 0:right> "
[2020-01-11T15:50:36.937 GMT INFO ][ org.kde.kstars.indi] - NexDome : "[INFO] Dome is moving to position 53.8915 degrees... "
[2020-01-11T15:50:36.938 GMT INFO ][org.kde.kstars.ekos.observatory] - "Dome is moving clockwise..."
[2020-01-11T15:50:36.942 GMT INFO ][ org.kde.kstars.indi] - NexDome : "[INFO] Dome is syncing to position 53.8915 degrees... "
[2020-01-11T15:50:37.427 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <P165> with value <165> "
[2020-01-11T15:50:37.678 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <P202> with value <202> "
[2020-01-11T15:50:37.929 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <P260> with value <260> "
In between steps removed

[2020-01-11T15:50:54.293 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <P7840> with value <7840> "
[2020-01-11T15:50:54.545 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <P7893> with value <7893> "
[2020-01-11T15:50:54.796 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <P7925> with value <7925> "
[2020-01-11T15:50:55.048 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <STOP> with value <TOP> "
[2020-01-11T15:50:55.550 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <:SER,7935,0,53900,0,300#> with value <7935,0,53900,0,300> "

This happens repeatably after the first dome move.

I looked at the source code for the driver and in <nex_dome_constants.h> part of the file is shown below the static constants for the commands have "S" assigned to both REPORT and EMERGENCY_STOP. Since they cannot both be "S" I assume REPORT, the first assigned, will be allocated to it. I am not a programmer, and I may well be wrong, but to me this might explain logically why the stop command is interpreted as a status report request and INDI thinks the dome is still moving.

From nex_dome_constants.h :

// Command Strings
static const std::map<Commands, std::string> CommandsMap =
{
{ACCELERATION_RAMP, "A"},
{DEAD_ZONE, "D"},
{SEMANTIC_VERSION, "F"},
{GOTO_AZ, "GA"},
{GOTO_HOME, "GH"},
{HOME_POSITION, "H"},
{POSITION, "P"},
{RANGE, "R"},
{REPORT, "S"},
{EMERGENCY_STOP, "S"},
{VELOCITY, "V"},
{EEPROM, "Z"},
{OPEN_SHUTTER, "OP"},
{CLOSE_SHUTTER, "CL"},
};

I hope this helps, I have the full logs available if necessary.

Many thanks

Mark
4 years 2 months ago #47932

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

Thank you for your report. I believe the problem is elsewhere. There is one documented status report which is "onMotorStopped". I appears they might have changed that to "STOP"

You'll see it in the same constants file:
{ROTATOR_STOPPED,   "onMotorStopped"},

Can you change that to "STOP" and recompile and see if that resolves it?
4 years 2 months ago #47942

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

  • Posts: 8
  • Thank you received: 2
Hi Jasem,

I have recompiled the driver as you have suggested, but unfortunately the dome still will not slave beyond the first movement after unparking the mount. It does move to slave after pressing abort as before.
I have attached the full log file of a short test.

However, the STOP command is now recognised as the snip from the log below shows.

[2020-01-12T14:56:44.707 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <P304> with value <304> "
[2020-01-12T14:56:44.962 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <P234> with value <234> "
[2020-01-12T14:56:45.218 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <P184> with value <184> "
[2020-01-12T14:56:45.476 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <P156> with value <156> "
[2020-01-12T14:56:45.733 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] Processing event <STOP> with value <STOP> "
[2020-01-12T14:56:45.734 GMT INFO ][ org.kde.kstars.indi] - NexDome : "[INFO] Dome reached target position. "
[2020-01-12T14:56:45.734 GMT INFO ][org.kde.kstars.ekos.observatory] - "Dome is tracking."

After the abort button is pressed, ekos reports the "Dome is idle" and it then immediately moves to target, as in the snip below.

[2020-01-12T14:59:38.099 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] CMD <@SWR> "
[2020-01-12T14:59:38.102 GMT DEBG ][ org.kde.kstars.indi] - NexDome : "[DEBUG] RES <STOPHstop 0:SER,14523,0,53900,0,300> "
[2020-01-12T14:59:38.102 GMT INFO ][org.kde.kstars.ekos.observatory] - "Dome is idle."

I also note I have about 25 lines of this error on starting up before the GPS driver is detected, and this may, or may not, be relevant:

[2020-01-12T14:54:30.792 GMT INFO ][ org.kde.kstars.ekos] - "EQMod Mount is online."
[2020-01-12T14:54:30.947 GMT WARN ][ default] - qrc:/qml/mount/mountbox.qml:274: ReferenceError: xi18n is not defined
Several lines removed
[2020-01-12T14:54:30.948 GMT WARN ][ default] - qrc:/qml/mount/mountbox.qml:695: ReferenceError: xi18n is not defined
[2020-01-12T14:54:30.963 GMT INFO ][ org.kde.kstars.ekos.mount] - "GPS driver detected. KStars and mount time and location settings are now synced to the GPS driver."

Happy to try anything else.

Many thanks

Mark

File Attachment:

File Name: log_14-54-10.txt
File Size:188 KB
The following user(s) said Thank You: Paul Muller
4 years 2 months ago #47958
Attachments:

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

  • Posts: 79
  • Thank you received: 25
I experienced the same issue (or a very similar one) with my MaxDome II. So, seems the problem may be is in the Dome base class.
4 years 2 months ago #47960

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

  • Posts: 472
  • Thank you received: 165
My ScopeDome slaved fine last night with current git head versions so the base class isn't totally broken at least.
4 years 2 months ago #47975

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

  • Posts: 183
  • Thank you received: 23
Did you find a solution? I’m having what seems like a similar problem, but as I’m connected to a Paramount via TCP I am not sure that perhaps it’s a bug there.
3 years 8 months ago #57361

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

  • Posts: 183
  • Thank you received: 23
I can confirm the problem seems to still be there - I've done a pull of the latest binaries for Raspberry Pi using the native client connected to a Paramount ME via TCP. I'd love to test on my direct connect EQ8-R but it's dead :-(

Did anyone ever figure this out?

I've attached a screen shot - the problem seems to be consistent with the idea that the driver is in a state where it believes the mount to be waiting on the completion of a command.
Last edit: 3 years 8 months ago by Paul Muller. Reason: too many attachments - sorry
3 years 8 months ago #57379
Attachments:

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


Did you have a chance to look into that? Can this be replicated with Dome Simulator?
3 years 8 months ago #57387

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

  • Posts: 183
  • Thank you received: 23
hola Jassem - I was using the simulator up until the dome arrived last week - so that did not appear to be a problem ie: the base class would appear to be healthy

The symptoms appear as the Dome tab showing a static azimuth position angle (ie: the digits in tab do not change) and nor does the shutter track the mount until the Abort button is pressed at which point the angle updates and the dome rotates as expected HOWEVER it remains at the new poison until the Abort command is issued again - and again and again, you get the idea. Otherwise it works great! ;-)

I would send the logs, but I am still having the odd behaviour with INDI/EKOS not writing log files to my Stellarmate - go figure.
3 years 8 months ago #57389

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

  • Posts: 183
  • Thank you received: 23
Sorry to over communicate but I'm doing testing as I am replying. Tonight's a cloudy night so I thought I'd head to bed and just ran the manual shutdown procedure from the Sequence manager and it parked the mount fine, but the dome would not park until I hit Abort in the Observatory tab, so it would appear that a command is not registering as finishing and EKOS goes into a wait state until the Abort clears the last command.
Last edit: 3 years 8 months ago by Paul Muller.
3 years 8 months ago #57390

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

  • Posts: 8
  • Thank you received: 2
Hi, these are exactly the same symptoms I was experiencing.
I gave up looking at the code in the end, and compiled the grozzie V1.0 driver from source as I knew it worked ok(ish) and th
E slaving works fine. It's still a bit flakey and not as good as Tim Long's V3.x code, but slaving works at least. If the issue really is in the Base class you would think the v1 driver would be affected in the same way. If you do decide to use the old driver don't forget the firmware on both shutter and rotator need to be flashed to match the driver. I also had to clear the eeprom and re-program the xbees as Tim uses a different method to program these from the previous drivers.

If it is ever resolved I would go back to the new drivers though.

Mark
3 years 8 months ago #57396

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

  • Posts: 183
  • Thank you received: 23
Did you log a defect on Github?
3 years 8 months ago #57404

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

Time to create page: 0.900 seconds