This package can be used to decode and encode CAN messages with the use of a DBC file.
Features
DBC parsing, CAN decoding, CAN encoding
Usage
You first have to create a DBC database
File file1 = File("Path to DBC file");
...
File filen = File("Path to DBC file");
DBCDatabase can = await DBCDatabase.loadFromFile([file1, ..., filen]);
Then you can decode byte level can messages
Uint8List bytes = Uint8List(10);
...
List<MapEntry<int, Map<String, num>>> decoded = can.decode(bytes);
Or encode them
List<MapEntry<int, Map<String, num>>> messages = [];
...
Uint8List encoded = can.encode(messages);