×

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

Bi-monthly release with minor bug fixes and improvements

Moonlite focuser doesn't move with 3.4.3 KStars MacOS

  • Posts: 421
  • Thank you received: 102
I don't have an easy answer for you, but some tips.

1. You could try different versions of INDI, and compare the debug output logs. Compare a working vs non-working, and note any differences (especially differences in commands sent). That might point to the culprit.
2. If you can build INDI from source, then I would do a "git bisect". It will automate the process of trying different builds, narrowing it down to the one exact code commit that broke things.
3 years 10 months ago #54708

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

  • Posts: 194
  • Thank you received: 20
Thanks for the tips. I'll start with the first one, and try the second if I don't get anywhere with the first.

Thanks!
Dave
3 years 10 months ago #54709

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

  • Posts: 194
  • Thank you received: 20
Well, being apparently too inept to get KStars to compile on Mac, I decided to go straight to the focuser controller and hang a scope on the receive line. What I saw was the normal polling and when I hit anything on Ekos that would start a movement of the focus motor, it was only sending the ":FG#" and not the required ":SNnnnn#" that tells it how far to move.

:GP#:GT#:GP#:GT#:GP#:GT#:FG#:FG#:GP#:GT#:GI#:FG#:GP#:GT#:GI#:FG#:GP#:GT#:GI#
                        --------            ----            ----

So something is broken in the Moonlite driver in 3.4.3. When I sync the focuser, it sends the position, so I know it is capable of sending data:

:GP#:GT#:GP#:GT#:SP03E8#:GP#:GT#
                --------

Here is what 2.9.8 sends:

:SN1964#:FG#:GP#:C#:GT#:GI#


Thanks,
Dave
Last edit: 3 years 9 months ago by David Allmon.
3 years 9 months ago #54780

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

This is odd because :FG# is never sent until :SN is sent first. You said you can use INDI control panel to command it to an absolute position then it works fine? but if you try from Ekos focus module, then it doesn't??
3 years 9 months ago #54787

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

  • Posts: 554
  • Thank you received: 138
There is no evidence of a problem with the driver.

I've just tried the Moonlite driver with the real Moonlite hardware and there is no problem. The position is reported correctly, moves, both relative and absolute work. the temperature is read correctly.
KStars and the INDI driver are all running on a RPi4, the Kstars version is 3.4.3

KStars and INDI were built on my system from recent sources, no more than a day or two old: Build: 2020-05-23T07:01:45Z.

The Moonlite driver code hasn't been changed for three months.

Just noticed that it might only fail in EKos. It doesn't, it is fine. Both setting an absolute focus position and using the focus in and focus out buttons work.

So there is no evidence of a problem with Ekos or the Indi driver, at least with the real hardware.

Chris
Last edit: 3 years 9 months ago by Chris Rowland. Reason: add a bit more
3 years 9 months ago #54788

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

  • Posts: 194
  • Thank you received: 20
Hi,

I could get it to send from 3.4.3 Indi Control Panel one time that I loaded it, but not since, and I've tried several times since then. I didn't put the serial scope on it until last night, though. 3.4.3 for Mac is not sending ":SNnnnn#" before the ":FG#", and 2.9.8 for Mac is sending it. I looked at the code, too, and I don't see how it is possible, but it isn't sending it. Since I'm running them both on the same machine, perhaps settings that work with 2.9.8 don't work with 3.4.3?

This is not a show stopper for me - I just wanted the linear autofocus routine. 2.9.8 works perfectly, and I'll keep running it.

Thanks,
Dave
Last edit: 3 years 9 months ago by David Allmon.
3 years 9 months ago #54797

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

  • Posts: 216
  • Thank you received: 120
I've been testing my Arduino Moonlite focuser, and found that on a Mac the Arduino doesn't always receive the SN command. I setup a second serial connection to the arduino that just echoes everything it receives from the indi_moonlite driver, and monitored it with screen. I see the FG command, but not always the SN that precedes it. The SN command does show up in the indi debug logs though, so I don't think it is the driver itself having an issue, but maybe the tty code itself. Everything works great on Linux though. About 1 in 20 times the SN command will be there and the focuser moves like it should. Again, works great in Linux, but very inconsistent on Mac.
Last edit: 3 years 9 months ago by Rick Bassham.
3 years 9 months ago #54804

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

  • Posts: 194
  • Thank you received: 20
I soldered a wire directly to the Rx pin and recorded with a serial port what was on the Mac output. Not only are the SN's missing, all but the first ":C#" are missing as well. I'm not sure that is a problem, though. I don't need it, but the real hardware may.

2.9.8 for Mac:
:GP#:C#:GT#:GP#:C#:GT#:GP#:C#:GT#:GP#:C#:GT#:GP#:C#:GT#:SN1D4C#:FG#:GP#:C#:GT#:GI#:GP#:C#:GT#:GI#:GP#:C#:GT#:GI#:GP#:C#:GT#:GP#:C#:GT#

3.4.3 for Mac:
:GV#:GP#:C#:GT#:GD#:GH#:GP#:GT#:GP#:GT#:GP#:GT#:GP#:GT#:GP#:GT#:GP#:GT#:GP#:GT#:FG#:GP#:GT#:GI#:GP#:GT#:GP#:GT#:GP#:GT#:GP#:GT#:FG#:GP#:GT#:GI#
Thanks,
Dave
Last edit: 3 years 9 months ago by David Allmon.
3 years 9 months ago #54832

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

  • Posts: 216
  • Thank you received: 120
Think the issue is the back-to-back sending of the data with no delay? I'd be curious if it is a timing issue, since both cases are sending two separate commands back to back with no delay in between, and the first one isn't sent. I wonder if a buffer somewhere isn't flushed out to the serial port before it is overwritten by the next command.
3 years 9 months ago #54833

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

  • Posts: 216
  • Thank you received: 120
Adding a tcdrain call after write inside tty_write in indicom.c might do the trick.
3 years 9 months ago #54837

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

  • Posts: 194
  • Thank you received: 20
I've looked through the code and I don't see anything that would pick an SN message and not send it. I have no fragmented messages, or signs of any communication problems. I would rebuild it if I could. Not having much luck, but that's a story for another day.
3 years 9 months ago #54838

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

  • Posts: 216
  • Thank you received: 120
Yeah, I'm trying to test now, but looking at Moonlite::sendCommand, it calls tcflush(PortFD, TCIOFLUSH) immediately before calling tty_write_string. tcflush is going to discard all unsent and unread data in the serial port at that moment, and since we are immediately calling tty_write back to back, I don't think the underlying serial port has actually sent the data yet. I think we need to add tcdrain in indicom.c. I'll give it a test as soon as I get it to compile on my Mac.
3 years 9 months ago #54850

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

Time to create page: 1.357 seconds