ISO 15765-2 ISO-TP protocol implementation for Arduino
This implementation requires MCP_CAN_lib from
https://github.com/altelch/MCP_CAN_lib which is simply a Fork of https://github.com/coryjfowler/MCP_CAN_lib with debug output disabled.
Currently implemented:
- 11 bit standard CAN messages
- Send ISO-TP single frame messages
- Send ISO-TP multi frame messages using first and consecutive frames
- Evaluate flow controll and honour minimum separation time + block size during send
- Receive ISO-TP single frame messages
- Receive ISO-TP multi frame messages
- Send flow controll as configured in message (minimum separation time + block size)
- Session timeout
- FC timeout
- CF timeout
- Timeout after too many FC Wait messages
- some error handling
- simple frame padding with 0x00
Missing:
- support for 29 bit extended CAN messages
See usage example in example/send_receive/send_receive.ino