Skip to content

RS232 command list

jolo edited this page Nov 15, 2013 · 6 revisions

Robofocus protocol was meant to be used, however I gave up on it. This project is ASCOM driver oriented, and Robofocus protocol contains several commands that are not really useful here and generates additional communication traffic. Another reason was the fact the Robofocus protocol is not quite human readable.

All serial commands starts with capital letter that determines actual command to be performed. After letter there is ":" sign and parameter (if required). Arduino device needs to respond as fast as possible, but the response does not need to confirm end of the command processing (for example focuser move), but it is confirmation of communication. This way whole system works in asynchronous mode and is effectively lag free.

Each command is ended with LF (ASCII code 10).

Handshake `#` `welcome message` depends on arduino board
Go to position M:9884 M move to specified position, must be between 0 and max step
Get position P P:6778 returns current position
Stop focuser H H stops the focuser during move
Focuser move status I I:true/false check if focuser is in move
Read temperature T T:-3.12
Read temperature T T:false when no sensor detected
Set duty cycle D:20 D in % 0-100
Set stepper speed S:340 S in pps
Set focuser position R:3455 R set current focuser position to given value
Set max focuser position X:15500 X sets max focuser position, so no move is allowed over this position
Not supported command any other command ERR

Extended command list (available at version 2.0 and above):

Get firmware version `VER` `VER:2.0.1`
Set extended pin mode `VIO:14,1` `VIO` pin number, pin mode. 0 - input, 1 - output, 2 - input pullup, 3 - soft PWM
Set extended pin value `VSE:11,0` `VSE` pin number, pin value. 0 - low, 1 - high, 0-255 - for soft PWM
Read extended pin value (digital) `VRE:9` `VRE:1` 0 - low, 1 - high
Read extended pin value (analog) `VRA:17` `VRA:1001` 0-1023 range
Clone this wiki locally