CAN Interaction
The PLT can be used to interact with CAN buses. The PLT can be used to send and receive CAN messages to verify CAN bus functionality.
Configure CAN
Example: Configure internal CAN interface
- ident: CAN.CONFIG
title: "Configure CAN0 to 250Kbit/sec"
steps:
- command: canCfg CAN0 250000
Example: Configure external CAN-FD interface
- ident: CANFD.CONFIG
title: "Configure CAN1 to 0.5/2 Mbit/sec"
steps:
- command: canCfg CAN1 500000 fd
path: "5"
with:
- dataBitrate 2000000
Note
CAN-FD is only supported using a USB-attached CAN test dongle.
Commands
Send and Receive
Example: Send 4-byte CAN message with ID 0x123
- title: "Send a CAN message"
steps:
- command: canSend CAN0 0x123 0x00 0x01 0x02 0x04
Example: Send an empty CAN (RTR) message with ID 0x123
- title: "Send a CAN RTR message"
steps:
- command: canSend CAN0 0x123
Example: Receive 4-byte CAN message with ID 0x123
- title: "Send and Receive CAN message"
steps:
# Clear CAN receive buffer to avoid matching against stale data.
- command: canClear CAN0
# Match CAN message with ID 0x123, within 1 second.
# Save payload to user key for further interaction or reporting.
- command: canMatch CAN0 0x123
timeout: 1s
extractKey: CAN_123_PAYLOAD
Example: Send CAN message, expect a response
- ident: ICT-T1
title: "Send a CAN message, expect response"
steps:
# Configure CAN0 to 250 kbit/s
- command: canCfg CAN0 250000
# Clear CAN receive buffer to avoid matching against stale data.
- command: canClear CAN0
# Send CAN message.
- command: canSend CAN0 0x123 0x00 0x01 0x02 0x04
# Match CAN message with ID 0x123 with specified payload, within 1 second.
- command: canMatch CAN0 0x123 0x00 0x01 0x02 0x04
timeout: 1s
See also