I need some help to solve the following issues related to the Pulsar driver. They are rather basic so I don't think that it is much effort, but I have not been able to figure our an easy solution by myself:
1 - The Pulsar system uses the extended LX200 accuracy by default, by I only get truncated values from the driver (for instance Dec is always rounded to 1 arc minute...). I think that this depends on how the driver treats the input from the mount...
2 - When hitting the "Park" button, the driver detects that parking is finished immediately. Rather annoying for automated operations. I thought that I overrode the function monitoring the parking status, but apparently the routine in my driver is not called.
Here it is. First the calls to check if it is parked/parking, then the command to park (:YH). But at that point the "parked" light on the control panel turns green. Also, note the truncated coordinate values... Which apparently do not correspond to the default configuration of the Pulsar...
DEBUG 258.903795 sec : CMD (#:YGh#)
DEBUG 259.007800 sec : RES (1)
DEBUG 259.007872 sec : CMD (#:YGk#)
DEBUG 259.118745 sec : RES (0)
INFO 259.118814 sec : Mount is not parked.
SCOPE 259.118830 sec : CMD <#:YGj#>
SCOPE 259.229748 sec : RES <0>
SCOPE 259.229804 sec : VAL [0]
DEBUG 259.229813 sec : CMD (#:YH#)
DEBUG 259.340751 sec : RES (1)
SCOPE 259.340853 sec : CMD <#:GR#>
SCOPE 259.451771 sec : RES <17:12.2>
SCOPE 259.451882 sec : VAL [17.2033]
SCOPE 259.451895 sec : CMD <#:GD#>
SCOPE 259.562782 sec : RES <-35�57>
SCOPE 259.562849 sec : VAL [-35.95]
SCOPE 260.563920 sec : CMD <#:GR#>
SCOPE 260.672630 sec : RES <17:12.2>
SCOPE 260.672719 sec : VAL [17.2033]
SCOPE 260.673060 sec : CMD <#:GD#>
SCOPE 260.783656 sec : RES <-35�57>
SCOPE 260.783745 sec : VAL [-35.95]
SCOPE 261.784813 sec : CMD <#:GR#>
Note that "YGj" (is the mount parking?) that returns "not" (zero), and the YH command (go home) that returns "1" (successful). I don't know if the problem is here...
I am having similar problems with my Pulsar controller. To investigate I have written the attached test program.
This program works and doesn't need any calls to tcflush() on the input buffers of the serial port.
You might try the program to see whether it works for the Pulsar2 as well. Make sure to follow the instructions at the beginning of the source file!
One thing that turned up for my Pulsar is that after starting a slew it takes a few seconds before it indicates that the mount is slewing.
Although this is based on the original Pulsar2 driver there are quite a few changes. I had to rewrite most of the lx200driver.cpp routines to get it working because it turned out that calls to tcflush() where causing intermittent problems. Next to this the Pulsar controller is slow in responding to slew commands so a fix for that is included too.
Camiel, Ok great! Since we can't change lx200driver.cpp, I propose you copy/override all the necessary functions into Pulsar2 driver and then make a pull request so that other users can use the driver correctly.