new API & coverage

This commit is contained in:
rusefillc 2024-03-16 19:56:54 -06:00
parent 5f8e344c15
commit 6a04166862
3 changed files with 22 additions and 1 deletions

View File

@ -123,4 +123,13 @@ public class DbcField {
name = niceName;
isNiceName = true;
}
public boolean coversByte(int byteIndex) {
int startBit = byteIndex * 8;
if (startOffset>startBit)
return false;
if (startOffset + length < byteIndex + 8)
return false;
return true;
}
}

View File

@ -102,4 +102,11 @@ public class DbcPacket {
return buf.toString();
}
public DbcField getFieldAtByte(int byteIndex) {
for (DbcField field : fields) {
if (field.coversByte(byteIndex))
return field;
}
return null;
}
}

View File

@ -1,6 +1,7 @@
package com.rusefi.can.reader.impl;
import com.rusefi.can.CANPacket;
import com.rusefi.can.reader.dbc.DbcPacket;
import com.rusefi.mlv.LoggingStrategy;
import com.rusefi.can.reader.dbc.DbcField;
import com.rusefi.can.reader.dbc.DbcFile;
@ -52,7 +53,11 @@ public class GetValueFromTrcTest {
BufferedReader reader = new BufferedReader(new StringReader(VAG_MOTOR_1));
dbc.read(reader);
}
assertNotNull(dbc.findPacket(640));
DbcPacket packet640 = dbc.findPacket(640);
assertNotNull(packet640);
DbcField byte1 = packet640.getFieldAtByte(1);
assertNotNull(byte1);
assertEquals("inneres_Motor_Moment", byte1.getName());
assertNull(dbc.findPacket(1640));
String trcLine = " 3769) 2117.7 Rx 0280 8 01 1D DF 12 1E 00 1A 1E ";