Manual

void AddCheckSum( unsigned char command[] )
{
unsigned char checkSum = 0;
unsigned char end = 0;
/* calculate sum so far */
while ( command[ end ] )
{
checkSum += command[ end ];
end++;
}
/* separate check bytes by a space */
checkSum += command[ end ] = ' ';
end++;
/* make all characters printable */
while ( checkSum < 130 || checksum > 223 )
{
checkSum += command[ end ] = '^';
end++;
}
/* add printable checksum */
command[ end ] = 256 checkSum;
}
After every command, a reply is returned. A reply includes a checksum. To verify the reply,
simply sum the binary representations of all printable characters. That sum must be zero
(modulo 256).
Some commands require a password (see PW command). The default password is 65535.
Do not change the password. The web interface of the tracker relies on the fact that the
password is 65535. Losing the password may lock you out of the tracker.
Error Codes
If an unrecognized command or a command with missing or incorrect parameters is received,
the tracker will respond NO followed by one of the following error codes:
· 1 framing error.
· 2 reserved for future use.
· 3 unrecognized command.
· 4 message too long.
· 5 unimplemented instruction or non decodable parameters.
· 6 motion queue is full, movement command rejected.
· 7 travel bounds exceeded.
· 8 maximum velocity exceeded.
· 9 maximum acceleration exceeded.
· A instrument is operating autonomously, command rejected.
· B invalid adjustment size.
· C invalid total adjustment.
· D duration out of range.
· E reserved for future use.
· F illegal extent specified.
· G attempt to change password protected data.
· Y hardware failure detected.
· Z illegal internal firmware state.