×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

IOptron Driver NOT WORKING with 8401 Hand Controller

I updated the driver to use :SE?# if it encounters an error. Please test tomorrow from PPA. If you can compile from GIT, you can do it today.

EDIT: Another difference I noted from the command set is that it supports parking to different positions while the regular driver use set RA/DE to do the parking. So please test parking as well with the ZEQ25 driver. If all works OK, I'll add alias for GotoNova.
Last edit: 6 years 9 months ago by Jasem Mutlaq.
6 years 9 months ago #17438

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

  • Posts: 322
  • Thank you received: 31
That is awesome Jasem.

I will sure test it when the packages date stamped 20170627 show up!

Many thanks and Happy Eid to you and your loved ones.
6 years 9 months ago #17446

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

  • Posts: 322
  • Thank you received: 31
Jasem,

I saw your commit here for the change, substituting :SE# with :SE?# if the former times out.

Is the change you made in the package version r3142:
libindi1:amd64 1.4.1+r3142~201706261913~ubuntu16.04.1

I saw this version available here and built an hour ago.

Or will it be in a future package time stamped: 2017-06-27 19:20 UTC?
6 years 9 months ago #17448

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

  • Posts: 155
  • Thank you received: 10
Hello,

I suspect additional timing changes will be required for the 8401 to properly respond to the INDI driver. Please see attached timeout messages when changing the slewing rate.

Dan
6 years 9 months ago #17455
Attachments:

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

  • Posts: 322
  • Thank you received: 31
I compiled INDI from source, and verified that the change is in the version I cloned.

But the problem is the same, namely, only :SE# commands are sent, no :SE?#. First slew is successful, second slew is short.

I would make that change if I understood the code flow.

But looking at it with my limited knowledge, I think it would be better to put the change at init time, not every time when a slew is issued. Specifically query the slew status when the telescope has initialized, then check if that fails or succeeds, and then store the appropriate command for subsequent use, without failing each time a check slew is issued. No?

Attached is the log showing normal SE's send and timing out.
6 years 9 months ago #17456
Attachments:

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

  • Posts: 155
  • Thank you received: 10
I fully agree, we must relax the timing or allow for the driver to ignore it.
6 years 9 months ago #17461

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

I wrote a new driver for Gotonova since the differences were too great to modify existing ZEQ25. You will see "Gotonova" driver in tomorrow's PPA update. Please test that one.
The following user(s) said Thank You: Khalid
6 years 9 months ago #17462

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

  • Posts: 322
  • Thank you received: 31
You are awesome!

Late yesterday, I started to understand how the code was structured, and was thinking of the exact same thing, but you beat me to it.

I compiled from source, using a git clone. Good news and bad news.

Good news is that the park command now works, and returns the scope to the NCP position. So that is an improvement.

However, the same timeout problem persists. Second slew is short and :SE?# are followed by a timeout.

So I went to cutecom, and tested the same sequence of commands: set RA/DEC, issue :MS#, followed by :SE?# to check the status. The strange thing is that it works fine in cutecome. Returns 1 when the mount is slewing, and returns 0 once the mount has beeped and slew is done.

I don't know how INDI's code is different from cutecom. I thought that it is timing, and added
usleep(2000000);

At the top of the isSlewComplete() function. But that made no difference.

Then I found the bug, we were copying a short number of characters. Once I fixed this, the scope works fine. It slews and slews to object after object without issues.

Here is the patch:
diff --git a/libindi/drivers/telescope/lx200gotonova.cpp b/libindi/drivers/telescope/lx200gotonova.cpp
index dc0aefa..657309e 100644
--- a/libindi/drivers/telescope/lx200gotonova.cpp
+++ b/libindi/drivers/telescope/lx200gotonova.cpp
@@ -201,11 +201,11 @@ bool LX200GotoNova::isSlewComplete()
     int nbytes_read    = 0;
     int nbytes_written = 0;
 
-    strncpy(cmd, ":SE?#", 16);
+    strncpy(cmd, ":SE?#", 6);
 
     DEBUGF(INDI::Logger::DBG_DEBUG, "CMD (%s)", cmd);
 
-    if ((errcode = tty_write(PortFD, cmd, 4, &nbytes_written)) != TTY_OK)
+    if ((errcode = tty_write(PortFD, cmd, 6, &nbytes_written)) != TTY_OK)
     {   
         tty_error_msg(errcode, errmsg, MAXRBUF);
         DEBUGF(INDI::Logger::DBG_ERROR, "%s", errmsg);

One final though on the naming. The GotoNova name is used for the hand controller, as well as the upgrade kit. The 8401 is the hand controller, and it can in theory be used for other Alt Az mounts, and 8400 is the upgrade kit's part number (the very first thing that iOptron made). So you should name the alias as "GotoNova 8400 Kit", or "GotoNova Kit" to avoid cases where people would use this driver for non-equatorial mounts and complaining.

Also, for the other thread that is now closed to comments, if you can edit your comment there, and add that the ultimate solution is the new driver called "Gotonova something", so that people don't try the ZEQ25 driver and getting stuck. This way, anyone coming from Google (like I did) will get fresh and accurate info.

And, where do I send the million dollar cheque? ;-)
Last edit: 6 years 9 months ago by Khalid.
6 years 9 months ago #17476

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

  • Posts: 322
  • Thank you received: 31
Jasem,

Can you please commit my patch for GotoNova? I verified that it fixes the stalled slew issue.
6 years 9 months ago #17585

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

Khaled,

I pushed a new driver for Gotonova, you didn't get it thus far?
6 years 9 months ago #17587

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

  • Posts: 322
  • Thank you received: 31
I did get it and it works except for one bug, which I provided a fix for here . With this patch, the mount works well. Can you please include that patch in the source tree?
6 years 9 months ago #17589

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

Please try a git pull now. Thanks!
6 years 9 months ago #17590

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

Time to create page: 0.593 seconds