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);

Libraries

dart_dbc_parser