13/09/2019 by Dynamic

CANlib works at the raw CAN frame level. This means the API can be used with any higher layer protocol like J1939, CanOpen, DeviceNet, etc. The work of packing/unpacking CAN frames into the particular higher layer protocol is left to your application code.

So when you write or read a CAN frame in CANlib, you will provide or receive the 11 or 29 bit identifier, the dlc, and the 0 to 8 data bytes. Your code will translate the identifier and data bytes based on the higher layer protocol you are using.