Setup Periodic Sampling of CMIO States
The common block API allows you to configure periodic sending of CMIO status messages.
Using the Setup CMIO sampling message, you can select multiple CMIO states for periodic transmission. States are selected using CMIO input ID. Up to 4 ranges of states can be configured.
info
- All payloads listed here use big-endian byte order
Interface Configuration
Advanced
Message - Setup CMIO Sampling
Controller receivingCAN ID:
0x147(40 << 3) + 7 host address|Controller address: 0x00| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | 0x00 | Controller address (link layer) |
| 1 | uint8 | Bank selection: 8 = bank 0, 9 = bank 1, 10 = bank 2, 11 = bank 3 |
| 2 | uint8 | Start IID of range |
| 3 | uint8 | End IID of range |
| 4-5 | uint16 | Transmission period in [ms]. Set to 0 to disable retransmission (one-time sample mode). |
| 6-7 | uint16 | Initial delay in [ms] (time before first message transmission). Set to 0 to disable bank transmission. |
Response
Response SID varies by bank:
Bank 0 (SID = 42)
Controller sendingCAN ID:
0x150(42 << 3) + 0 controller address| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | bits 0-6 | Product signature |
| 0 | bit 7 | Error bit. 1 indicates common block error state; transmitted values may be invalid. |
| 1 | uint8 | Offset - IID of first state |
| 2-3 | int16 | First state with IID = Offset |
| 4-5 | int16 | Second state with IID = Offset + 1 |
| 6-7 | int16 | Third state with IID = Offset + 2 |
| ... | int16 | Message size varies based on interface used |
Bank 1 (SID = 43)
Controller sendingCAN ID:
0x158(43 << 3) + 0 controller address| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | bits 0-6 | Product signature |
| 0 | bit 7 | Error bit. 1 indicates common block error state; transmitted values may be invalid. |
| 1 | uint8 | Offset - IID of first state |
| 2-3 | int16 | First state with IID = Offset |
| 4-5 | int16 | Second state with IID = Offset + 1 |
| 6-7 | int16 | Third state with IID = Offset + 2 |
| ... | int16 | Message size varies based on interface used |
Bank 2 (SID = 44)
Controller sendingCAN ID:
0x160(44 << 3) + 0 controller address| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | bits 0-6 | Product signature |
| 0 | bit 7 | Error bit. 1 indicates common block error state; transmitted values may be invalid. |
| 1 | uint8 | Offset - IID of first state |
| 2-3 | int16 | First state with IID = Offset |
| 4-5 | int16 | Second state with IID = Offset + 1 |
| 6-7 | int16 | Third state with IID = Offset + 2 |
| ... | int16 | Message size varies based on interface used |
Bank 3 (SID = 45)
Controller sendingCAN ID:
0x168(45 << 3) + 0 controller address| Datagram byte | Value / type | Description |
|---|---|---|
| 0 | bits 0-6 | Product signature |
| 0 | bit 7 | Error bit. 1 indicates common block error state; transmitted values may be invalid. |
| 1 | uint8 | Offset - IID of first state |
| 2-3 | int16 | First state with IID = Offset |
| 4-5 | int16 | Second state with IID = Offset + 1 |
| 6-7 | int16 | Third state with IID = Offset + 2 |
| ... | int16 | Message size varies based on interface used |
Message length depends on the interface used. If payload exceeds message size limit, multiple messages are sent with different Offsets.