Here it is! CAN2.0/CANFD Implementation early stages. Redesign of CANquitto. This library has the ability not only to work on CAN2.0 and CANFD, but the payload transfers are automatically adjusted to the dlc size of your mailbox and sent out dissambled, and at the other endpoint, they are re-assembled based on the DLC implementation.
Library supports sending payloads of theoretically 4,063,170 bytes. Considering the RAM on MCU, I doubt you'd reach this
New feature not introduced in CANquitto ---> broadcasting payloads! All nodes can receive the same identical payload, sort of like UDP, no responses are needed.
Payloads sent specifically to nodes, will return an ACK 0x06 if the reception and CRC are validated from other endpoint.
Uses the background functions built into FlexCAN_T4 to receive frame data.
Examples were posted with the library. To be effective, at least one or more extended mailboxes need to be interrupt enabled in FlexCAN_T4.
https://github.com/tonton81/TeensyCAN
On a side note only FD was tested, with mailbox sizes of 8 to 64 bytes in the slave demo, the master demo was set to 64 bytes to demonstrate it can accept all different DLC lengths of the slave transmissions
Node.sendMsg() sends a broadcast payload to all nodes
node100.sendMsg() sends a payload specifically to node #100
Library supports sending payloads of theoretically 4,063,170 bytes. Considering the RAM on MCU, I doubt you'd reach this
New feature not introduced in CANquitto ---> broadcasting payloads! All nodes can receive the same identical payload, sort of like UDP, no responses are needed.
Payloads sent specifically to nodes, will return an ACK 0x06 if the reception and CRC are validated from other endpoint.
Uses the background functions built into FlexCAN_T4 to receive frame data.
Examples were posted with the library. To be effective, at least one or more extended mailboxes need to be interrupt enabled in FlexCAN_T4.
https://github.com/tonton81/TeensyCAN
On a side note only FD was tested, with mailbox sizes of 8 to 64 bytes in the slave demo, the master demo was set to 64 bytes to demonstrate it can accept all different DLC lengths of the slave transmissions
Node.sendMsg() sends a broadcast payload to all nodes
node100.sendMsg() sends a payload specifically to node #100
Last edited: