CAN-do-parser
是用于CAN总线协议数据的解析工具。
主要目标是对字节数据根据DBC文件的信息解析为物理量。
主要的功能是:
- 解析
DBC
文件。 - 解析字节数组
byte[]
为十进制数据。
(返回)
<dependency>
<groupId>io.github.jarrettluo</groupId>
<artifactId>can-frame-parser</artifactId>
<version>1.0.0</version>
</dependency>
String filePath = "xxx.dbc";
// 对dbc文件进行解析
Map<DbcMessage, List<DbcSignal>> dbcMessageListMap = DbcParser.parseFile(filePath);
// CAN 帧数据
CANFrame canFrame = new CANFrame(System.currentTimeMillis(), 1, 8, 20, "275d602702000000");
// dbc数据; 通过dbc解析器得到
Map<String, DbcMessage> dbcMessageMap = new HashMap<String, DbcMessage>();
// 初始化解析器
CANFrameParser canFrameParser = new CANFrameParser(dbcMessageMap);
// 对can数据进行解析
Map<String, Double> physicalValueMap = canFrameParser.extractMessage(canFrame);
CANFrame canFrame = new CANFrame(System.currentTimeMillis(), 1, 8, 20, "275d602702000000");
// 解析具体的信号
int startBit = 32;
int length = 32;
boolean isSigned = true;
boolean isLittleEndian = true;
String factor = "1";
String offset = "0";
// 解析工具的静态解析方法,对信号进行解析
double signal = CANFrameParser.extractSignal(canFrame.getMsgData(), startBit, length, isSigned,
isLittleEndian, factor, offset);
请遵守开源协议,查看更多详细信息可查看LICENSE.txt
。
(返回)
Jarrett Luo - http://jiaruiblog.com - luojiarui2@163.com
(返回)
暂无。
(返回)