From e795581f6a349e69ccad72bf64d8f68beb5a1b1e Mon Sep 17 00:00:00 2001 From: rusefillc Date: Fri, 22 Mar 2024 11:45:19 -0400 Subject: [PATCH] ByteRateOfChangeReports shows relevant byte --- .../java/com/rusefi/can/analysis/ByteRateOfChangeReports.java | 4 ++++ reader/src/main/java/com/rusefi/can/reader/dbc/DbcField.java | 4 ++-- .../java/com/rusefi/can/reader/impl/GetValueFromTrcTest.java | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/reader/src/main/java/com/rusefi/can/analysis/ByteRateOfChangeReports.java b/reader/src/main/java/com/rusefi/can/analysis/ByteRateOfChangeReports.java index c0edbcb..e32ebf0 100644 --- a/reader/src/main/java/com/rusefi/can/analysis/ByteRateOfChangeReports.java +++ b/reader/src/main/java/com/rusefi/can/analysis/ByteRateOfChangeReports.java @@ -3,6 +3,7 @@ package com.rusefi.can.analysis; import com.rusefi.can.CANPacket; import com.rusefi.can.Launcher; import com.rusefi.can.reader.CANLineReader; +import com.rusefi.can.reader.dbc.DbcField; import com.rusefi.can.reader.dbc.DbcFile; import com.rusefi.can.reader.dbc.DbcPacket; import com.rusefi.util.FolderUtil; @@ -55,6 +56,9 @@ public class ByteRateOfChangeReports { DbcPacket packet = dbc.packets.get(id.sid); if (packet != null) { prefix = packet.getName() + " "; + DbcField field = packet.getFieldAtByte(id.byteIndex); + if (field != null) + prefix += field.getName() + " "; } } diff --git a/reader/src/main/java/com/rusefi/can/reader/dbc/DbcField.java b/reader/src/main/java/com/rusefi/can/reader/dbc/DbcField.java index db116d8..58e2404 100644 --- a/reader/src/main/java/com/rusefi/can/reader/dbc/DbcField.java +++ b/reader/src/main/java/com/rusefi/can/reader/dbc/DbcField.java @@ -126,9 +126,9 @@ public class DbcField { public boolean coversByte(int byteIndex) { int startBit = byteIndex * 8; - if (startOffset>startBit) + if (startOffset > startBit) return false; - if (startOffset + length < byteIndex + 8) + if (startOffset + length < startBit + 8) return false; return true; } diff --git a/reader/src/test/java/com/rusefi/can/reader/impl/GetValueFromTrcTest.java b/reader/src/test/java/com/rusefi/can/reader/impl/GetValueFromTrcTest.java index eb452e9..2873629 100644 --- a/reader/src/test/java/com/rusefi/can/reader/impl/GetValueFromTrcTest.java +++ b/reader/src/test/java/com/rusefi/can/reader/impl/GetValueFromTrcTest.java @@ -58,6 +58,8 @@ public class GetValueFromTrcTest { DbcField byte1 = packet640.getFieldAtByte(1); assertNotNull(byte1); assertEquals("inneres_Motor_Moment", byte1.getName()); + DbcField byte4 = packet640.getFieldAtByte(4); + assertNotNull(byte4); assertNull(dbc.findPacket(1640)); String trcLine = " 3769) 2117.7 Rx 0280 8 01 1D DF 12 1E 00 1A 1E ";