Sundance's communications protocol - SundanceMultiprocessorTechnology/VCS-1 GitHub Wiki
Sundance's communication protocol
Supported frameworks
The protocol is valid for:
- ROS
- MQTT
Packet format
| destDevice | srcDevice | command | timestamp | payloadSz | payload |
|---|
Note that the commands are comma "," separated
| Abbreviation | Description |
|---|---|
| dstdevice | Destination device. |
| srcDevice | Source device. |
| command | Command. |
| timestamp | Actual timestamp synchronized with a time server |
| payloadSz | Number of variables in the payload |
| payload | Fields required by each command |
List of devices
| id | Description |
|---|---|
| 0 | VCS main unit |
| 1 | Control unit |
| 2 | Subscriber unit 0 |
Packet flow:
- Packets sequence:
- DigitalPortsSetup -> DigitalPortsSetup_errors
- Setup_PWM -> Setup_PWM_errors
- PWM -> PWM_errors
- Digital_write -> Digital_errors
- Digital_read -> Digital_results -> Digital_errors
- Analog_write -> Analog_errors
- Analog_read -> Digital_results -> Digital_errors
- Digital_write -> Analogue_results -> Analogue_errors
| CMD | Description | VCS | Control Unit | Subscribers |
|---|---|---|---|---|
| 1 | Digital_write | dstDevice | srcDevice | N/A |
| 2 | Digital_read | dstDevice | srcDevice | dstDevice |
| 3 | Analog_write | dstDevice | srcDevice | N/A |
| 4 | Analog_read | dstDevice | srcDevice | dstDevice |
| 5 | DigitalPortsSetup | dstDevice | srcDevice | N/A |
| 6 | Digital_results | srcDevice | dstDevice | srcDevice |
| 7 | Analog_results | srcDevice | dstDevice | srcDevice |
List of commands
| CMD | Description | Topic | Format |
|---|---|---|---|
| 1 | Digital_write | /FM191/messages | 0,1,1,TMSTP,4,TYPE,PORT,VALUE,CREDENTIAL |
| Type: | |||
| 0 - DIO | |||
| 1 - GPIO | |||
| 2 - LED | |||
| 2 | Digital_read | /FM191/messages | 0,SRC,2,TMSP,2,TYPE,PORT |
| Type: | |||
| 0 - DIO | |||
| 1 - GPIO | |||
| 2 - LED | |||
| 3 | Analog_write | /FM191/messages | 0,1,3,TMSP,3,PORT,VALUE,CREDENTIAL |
| 4 | Analog_read | /FM191/messages | 0,SRC,4,CMD,TMSP,1,PORT |
| 5 | DigitalPortsSetup | /FM191/messages | 0,1,5,CMD,TMSP,44,DIO0_READ?, ... ,GPIO27_READ?,CREDENTIAL |
| NOTE1: 0 - write, 1 - read | |||
| NOTE2: 43 = 15 DIOs and 28 GPIOs | |||
| 6 | Digital_results | /FM191/digital/results | DST,0,6,TMSP,2,TYPEPORT,VALUE |
| 7 | Analog_results | /FM191/analog/results | DST,0,CMD,TMSP,2,PORT,VALUE |
| 8 | Register_Unit | /FM191/messages | CMD,TMSP,PORT,UTYPE |
| 9 | Digital_errors | /FM191/digital/results | CMD,TMSP,PORT,ERROR_CODE |
| ERROR_CODES: | |||
| 0 - no error | |||
| 10 | Analog_errors | /FM191/analog/results | CMD,TMSP,PORT,ERROR_CODE |
| ERROR_CODES: | |||
| 0- no error | |||
| 11 | DigitalPortsSetup_errors | /FM191/digitalportssetup/results | CMD,TMSP,ERROR_CODE |
| ERROR_CODES: | |||
| 0 - no error | |||
| 12 | setup_pwm | /FM191/messages | CMD,TMSP,FREQ,SCALE |
| ERROR_CODES: | |||
| 0 - no error | |||
| 13 | setup_pwm_errors | /FM191/pwm/results | CMD,TMSP,ERROR_CODE |
| ERROR_CODES: | |||
| 0 - no error | |||
| 14 | pwm | /FM191/messages | CMD,TMSP,PORT,TYPE,VALUE,DURATION^1 |
| ERROR_CODES: | |||
| 0 - no error | |||
| 15 | pwm_errors | /FM191/pwm/results | CMD,TMSP,ERROR_CODE |
| ERROR_CODES: | |||
| 0 - no error |
^1 Duration in clock cycles
List of topics:
- /FM191/messages
- /FM191/digital/results
- /FM191/analog/results
- /FM191/digitalportssetup/results
- /FM191/pwm/results