Protocol: RS485
Baudrate: 19200 8N1
<BREAK> FF <COMMAND> <ADDR> ( < VALUE1> ( <VALUE2> ..) )
BREAKEvery message needs to start with an breakFF: Start ByteADDR: Module addressCMD: CommandDATA: Data to send. If multiple, sendt to following modules
Commands are in HEX
| Command | Write | Read | Description |
|---|---|---|---|
| DISP/RDB | C0 |
D0 |
Set/Get Position |
| STAT | C1 |
D1 |
Read: Get status |
| RESET/VER | C4 |
D4 |
Read: Get firmware version |
| ZERO | C5 |
Move to zero point | |
| STEP | C6 |
Move motor a step (1 blade) forward | |
| PULSE | C7 |
Move motor a pusle forward | |
| TEST | C8 |
||
| CTRL | C9 |
D9 |
|
| NULL/POS | CA |
DA |
|
| WIN | CB |
DB |
Used for calibration |
| CALB | CC |
DC |
Calibrate |
| TYPE | CD |
DD |
Set/get type |
| ADDR | CE |
DE |
Set/get address |
| SNBR | CF |
DF |
Set/get serial number |
FF C0 <ADDR> <POS>
pos is position in bytes
Address: 29, Position: 20
FF CO 1D 14
FF DO <ADDR>
The module answer 1 bit with position as bytes
Address: 29 , Module Position: 30
FF DO 1D
Response:
1E
FF DD <ADDR>
The module answer 1 bit with type
| Int | Hex | Type | #Blades |
|---|---|---|---|
| 1 | 01 | Hour/Alphanummeric | 40 |
| 2 | 02 | Minute | 62 |
Address: 29 , Module Type: Hour
FF DD 1D
Response:
01
FF DF <ADDR>
The module answers with 4 bytes containing the serial number
Address: 29 , Module Serial number: 43516
FF DF 1D
Response:
01 88 3f 00
FF C6 <ADDR>
Note: on hour modules, zero is "0." and on minute modules "31"
Address: 29
FF C6 1D
FF C6 <ADDR>
If not moving correctly, number of PULSE for a step can be changed in calibration.
Address: 29
FF C6 1D
FF C6 <ADDR>
A few pulses are required to complete a STEP.
Address: 29
FF C7 1D
FF D4 <ADDR>
The module answers with 2 bytes containing the version number
FF CC <ADDR>
The calibration sets how many pulses are required for moving to next blade and set blade number. Use with caution.
- Send calibrate command
FF CC <ADDR>
- Send
STEPuntil blade changeFF C6 <ADDR>
- Now send
PULSEuntil next blade fallsFF C7 <ADDR>
- Now send
WINwith the blade number to set code to current bladeFF CB <ADDR> <POS>
FF CE <OLD_ADDR> <NEW_ADDR>
Changes address of the module. There is no response
Old Address: 29
New Address: 30
FF CE 1D 1E