knro wrote: that looks fine, submit it on Github as Pull-Request.
I don't know how to do this (Pull-request), but I will learn.
I need more testing. I have sniffed Ascom Driver 2.11 (phd - manual guide and other windows program).
If pulse length is less than 999 Ascom driver write for example 750ms:
:Me750#:
If pulse guide is 1000ms or more Windows Ascom driver give multiple commands, for example 2200ms:
:Me999# :Me999# :Me202#
(999+999+202=2200)
I think correct format is :Me%3d#. I will test this code:
int LX200GotoNova::SendPulseCmd(int direction, int duration_msec)
{
int nbytes_write = 0;
char cmd[10];
int duration_time_msec=duration_msec;
while (duration_time_msec>0)
{
if (duration_time_msec>999) duration_msec=999;
else duration_msec=duration_time_msec;
switch (direction)
{
case LX200_NORTH:
sprintf(cmd, ":Mn%03d#", duration_msec);
break;
case LX200_SOUTH:
sprintf(cmd, ":Ms%03d#", duration_msec);
break;
case LX200_EAST:
sprintf(cmd, ":Me%03d#", duration_msec);
break;
case LX200_WEST:
sprintf(cmd, ":Mw%03d#", duration_msec);
break;
default:
return 1;
}
duration_time_msec = duration_time_msec - duration_msec;
DEBUGF(INDI::Logger::DBG_DEBUG, "CMD (%s)", cmd);
tty_write_string(PortFD, cmd, &nbytes_write);
}
tcflush(PortFD, TCIFLUSH);
return 0;
}