Vision RDM DFU
该 PID 是 optional,用于通过 RDM 启用 Vision Software Updates,例如使用 DMX Adapter、FTDI USB to Serial DMX interface,或通过 Artnet RDM。该 process 使用 RDM broadcast,流程如下:
- 向每个 device 发送 DFU Start,并等待包含 timing infos 的 responses。
- 等待 erase 和 reboot times。
- 开始使用 DFU Send broadcast data。不允许 devices response。如果只更新一个 device,则不使用 broadcast。
- 向每个 device 发送 DFU Status,并等待包含 missing packets 的 responses。
- 使用 DFU Send 重新发送 missing packets。不允许 devices response。
- 使用 DFU End 结束 DFU process。
| Data Type | DS_UNSIGNED_BYTE | PDL Size | Variable(See Protocolversion) |
| Cmd Class | CC_GET | Unit | UNITS_NONE |
| Prefix | PREFIX_NONE | Default | 0x00 |
| Min | 0x00 | Max | 0xFF |
| Description | "VISION DFU" | ||
SET Command 0xA005
Controller Incoming Command:
| (Port ID) | (Msg. Count) | (Sub-Device) | |
| 0x01-0xFF | 0x00 | 0x0000 (Root) or 0x0001-0x0200 | |
| (CC) | (PID) | (PDL) | |
| SET_COMMAND | VISION (0xA003) | 0x00 | |
| (PD) | |||
| Set Stream | |||
Set Streams:
| Set Stream Protocol Version 1 | ||||
|---|---|---|---|---|
| Index | DataType | Name | Description | Value Definitions |
| 0 | uint8_t | Protocol Version | 描述 Protocol Version | 1: Version 1 |
| 1 | uint8_t | Command Identifier | Command | - |
| 2 | uint8_t[variable] | Data | Data 取决于 command | - |
| Command | Identifier | DataType | Description | Comment |
|---|---|---|---|---|
| Start | 0x01 | uint8 uint8_t[] | Packet Length in 8 Bytes Data (First Packet) | Set Response required |
| Send | 0x02 | uint16_t uint8_t[variable] | Packet Index(从 1 开始,不是 0) Data | No response (broadcast) |
| End | 0x04 | - | - | Set Response required |
Controller Set Response:
| (Response Type) | (Msg. Count) | (Sub-Device) | |
| ACK | 0x00-0xFF | Copy of Controller SD | |
| (CC) | (PID) | (PDL) | |
| SET_COMMAND_RESPONSE | VISION (0xA003) | Variable(See Protocolversion) | |
| (PD) | |||
| Response Stream | |||
| Response Stream Protocol Version 1 | ||||
|---|---|---|---|---|
| Index | DataType | Name | Description | Value Definitions |
| 0 | uint8_t | Protocol Version | 描述 Protocol Version | 1: Version 1 |
| 1 | uint8_t | Command Identifier | Command | - |
| 2 | uint8_t[variable] | Data | Data 取决于 command | - |
| Command | Identifier | DataType | Description | Value Definitions | Comment |
|---|---|---|---|---|---|
| Start DFU | 0x01 | uint8_t uint8_t uint8_t | Status Codes EraseTime in s Wait Time in ms | Response required | |
| Send DFU | 0x02 | - | No response | ||
| End DFU | 0x04 | - | uint8_t | Status Codes | Response required |
Error Codes
0: OK, 1: Not Ready - Try again, 2: Processing CRC, 3: Missing Packets, 4: Flash Error, 5: Not started, 6: CRC Error, 7: Wrong Signature
GET Command 0xA005
Controller Incoming Command:
| (Port ID) | (Msg. Count) | (Sub-Device) | |
| 0x01-0xFF | 0x00 | 0x0000 (Root) or 0x0001-0x0200 | |
| (CC) | (PID) | (PDL) | |
| GET_COMMAND | VISION (0xA003) | 0x00 | |
| (PD) | |||
| Get Stream | |||
Get Streams:
| Get Stream Protocol Version 1 | ||||
|---|---|---|---|---|
| Index | DataType | Name | Description | Value Definitions |
| 0 | uint8_t | Protocol Version | 描述 Protocol Version | 1: Version 1 |
| 1 | uint8_t | Command Identifier | Command | - |
| 2 | uint8_t[variable] | Data | Data 取决于 command | - |
| Command | Identifier | DataType | Description | Comment |
|---|---|---|---|---|
| Status | 0x03 | uint16_t | uint16_t: Last Packet Index | Get Response required |
Controller Get Response:
| (Response Type) | (Msg. Count) | (Sub-Device) | |
| ACK | 0x00-0xFF | Copy of Controller SD | |
| (CC) | (PID) | (PDL) | |
| GET_COMMAND_RESPONSE | VISION (0xA003) | Variable(See Protocolversion) | |
| (PD) | |||
| Response Stream | |||
| Response Stream Protocol Version 1 | ||||
|---|---|---|---|---|
| Index | DataType | Name | Description | Value Definitions |
| 0 | uint8_t | Protocol Version | 描述 Protocol Version | 1: Version 1 |
| 1 | uint8_t | Command Identifier | Command | - |
| 2 | uint8_t[variable] | Data | Data 取决于 command | - |
| Command | Identifier | DataType | Description | Value Definitions | Comment |
|---|---|---|---|---|---|
| DFU Status | 0x03 | - | uint8_t uint8_t uint16_t[var] | Status (Error Codes) Missing packet Count Missing Packet Indexes | Response required |
Status Codes
0: OK, 1: Not Ready - Try again, 2: Processing CRC, 3: Missing Packets, 4: Flash Error, 5: Not started, 6: CRC Error, 7: Wrong Signature