Read/Write Driver Parameters
This document describes how to read or write most driver parameters of the ESCx controller.
tip
This protocol is not designed for service configuration, such as motor characterization, etc. That is why only some parameters are exposed. Always use the SWTools to gain full access to the service settings.
info
- All listed datagram types are unicast with SID = 24
- All listed payloads use big-endian format
Interface Configuration
Advanced
Message - Read Parameter with Index
Retrieves Driver parameters with array indexing support.
Controller receivingCAN ID:
0x0C7(24 << 3) + 7 host address|Controller address: 0x00| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x00 | Controller address (link layer) |
| 1 | 0x02 | Read parameter with index command |
| 2 | uint8 | ID of requested parameter |
| 3 | uint8 | Array member index. Use 0x00 for non-array items. Value 0xFF is reserved for error indication. |
Response
Controller sendingCAN ID:
0x0C0(24 << 3) + 0 controller address|Host address: 0x07| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x07 | Host address (link layer) |
| 1 | 0x42 | Read parameter response |
| 2 | uint8 | ID of requested parameter |
| 3 | uint8 | Array member index. Use 0x00 for non-array items. Value 0xFF indicates error code in following two bytes. |
| 4-7 | data | Data. Length depends on parameter datatype, big-endian, MSB first. |
Message - Write Parameter with Index
Modifies Driver parameters with array indexing support.
Controller receivingCAN ID:
0x0C7(24 << 3) + 7 host address|Controller address: 0x00| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x00 | Controller address (link layer) |
| 1 | 0x03 | Write parameter with index command |
| 2 | uint8 | ID of requested parameter |
| 3 | uint8 | Array member index. Use 0x00 for non-array items. Value 0xFF is reserved for error indication. |
| 4-7 | data | Data. Length depends on parameter datatype, big-endian, MSB first. |
Response
Controller sendingCAN ID:
0x0C0(24 << 3) + 0 controller address|Host address: 0x07| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x07 | Host address (link layer) |
| 1 | 0x43 | Write parameter response |
| 2 | uint8 | ID of requested parameter |
| 3 | uint8 | Array member index. Use 0x00 for non-array items. Value 0xFF indicates error code in following two bytes. |
| 4-5 | int16 | Omitted if successful. Otherwise contains parameter error response. |
Message - Read Parameter with Index and Datatype Conversion
Retrieves Driver parameters with datatype conversion support.
Controller receivingCAN ID:
0x0C7(24 << 3) + 7 host address|Controller address: 0x00| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x00 | Controller address (link layer) |
| 1 | 0x12 | Read parameter with datatype conversion command |
| 2 | uint8 | ID of requested parameter |
| 3 | uint8 | Type code. Use 0x00 for native format; other values request conversion to specified format when possible. |
Response
Controller sendingCAN ID:
0x0C0(24 << 3) + 0 controller address|Host address: 0x07| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x07 | Host address (link layer) |
| 1 | 0x52 | Read parameter with datatype conversion response |
| 2 | uint8 | ID of requested parameter |
| 3 | uint8 | Array member index. Use 0x00 for non-array items. Value 0xFF indicates error code in following two bytes. |
| 4-7 | data | Data. Length depends on parameter datatype, big-endian, MSB first. |
Message - Write Parameter with Index and Datatype Conversion
Modifies Driver parameters with datatype conversion support.
Controller receivingCAN ID:
0x0C7(24 << 3) + 7 host address|Controller address: 0x00| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x00 | Controller address (link layer) |
| 1 | 0x13 | Write parameter with datatype conversion command |
| 2 | uint8 | ID of requested parameter |
| 3 | uint8 | Type code. Use 0x00 for native format; other values specify input data format. |
| 4-7 | data | Data. Length depends on parameter datatype, big-endian, MSB first. |
Response
Controller sendingCAN ID:
0x0C0(24 << 3) + 0 controller address|Host address: 0x07| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x07 | Host address (link layer) |
| 1 | 0x53 | Write parameter with datatype conversion response |
| 2 | uint8 | ID of requested parameter |
| 3 | uint8 | Array member index. Use 0x00 for non-array items. Value 0xFF indicates error code in following two bytes. |
| 4-5 | int16 | Omitted if successful. Otherwise contains parameter error response. |
Datatypes Code
| Code | Datatype |
|---|---|
| 0x00 | Not specified (native datatype) |
| 0x01 | int8 |
| 0x02 | uint8 |
| 0x03 | int16 |
| 0x04 | uint16 |
| 0x05 | int32 |
| 0x06 | uint32 |
| 0x09 | float |
| 0x0B | string |
Parameter Error Response
| Code | Description |
|---|---|
| -1 | Parameter ID out of range (invalid value) |
| -2 | Parameter does not exist |
| -3 | Variable exists but is not a parameter (write not allowed) |
| -4 | Value below parameter minimum |
| -5 | Value above parameter maximum |
| -6 | Invalid value for discrete parameter |
Message - Read API Version and Driver Type
Controller receivingCAN ID:
0x0C7(24 << 3) + 7 host address|Controller address: 0x00| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x00 | Controller address (link layer) |
| 1 | 0x00 | Read API version and driver type command |
Response
Controller sendingCAN ID:
0x0C0(24 << 3) + 0 controller address|Host address: 0x07| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x07 | Host address (link layer) |
| 1 | 0x40 | Read API version response |
| 2 | uint8 | Driver type: VECTOR = 0x20, BLDC = 0x10 |
| 3-6 | uint32 | Driver API version |
Current API version: 2