Current version of Remote Control protocol is 4. Master and slave can exchange with TLV-blocks.
TLV block
Block Header |
|||||||||||||||||||||||||||||||
word # |
byte offset |
description |
|||||||||||||||||||||||||||||
0 |
0 |
Type word (32-bit integer) |
|||||||||||||||||||||||||||||
1 |
4 |
Block payload length: N bytes (32-bit integer) |
|||||||||||||||||||||||||||||
Block Payload |
|||||||||||||||||||||||||||||||
2 |
8 |
Block payload |
|||||||||||||||||||||||||||||
... |
... |
||||||||||||||||||||||||||||||
N+1 |
4(N+1) |
Version 4 types can be following:
- RC_MSG_CONFIG_V4 (0xAE2E6D03) - holds JSON which describe current program configuration
- RC_MSG_CMD_V4 (0xAE2E6D04) - hold text line which describe status of slave program or command that master sends to slave
Slave status:
- fsm_state - describes Finite-state machine (FSM) of client (ex: "fsm_state Ready")
- Init
- Error - client has some error
- Ready - client ready for Run
- Configure
- Starting - client is starting the Run
- Run - client executing the Run
- Stopping - client is stoping the Run
- Calibrate
warn/error - client got some warrning/error, format: "error <RunIndex> <RunNumber> <Message>"
- state/status - client line that describe current status (ex: "status 12 device(s)")
Master commands: