2022-06-20 14:38:30 -07:00
|
|
|
package com.rusefi.can.reader.impl;
|
|
|
|
|
2022-06-20 18:29:27 -07:00
|
|
|
import com.rusefi.can.CANPacket;
|
|
|
|
import com.rusefi.can.reader.dbc.DbcField;
|
2022-06-20 14:38:30 -07:00
|
|
|
import com.rusefi.can.reader.dbc.DbcFile;
|
|
|
|
import org.junit.Test;
|
|
|
|
|
|
|
|
import java.io.BufferedReader;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.StringReader;
|
|
|
|
|
|
|
|
import static com.rusefi.can.reader.impl.ParseDBC.VAG_MOTOR_1;
|
2022-06-22 00:19:09 -07:00
|
|
|
import static junit.framework.TestCase.assertNull;
|
2022-06-20 18:29:27 -07:00
|
|
|
import static org.junit.Assert.assertEquals;
|
2022-06-22 00:19:09 -07:00
|
|
|
import static org.junit.Assert.assertNotNull;
|
2022-06-20 14:38:30 -07:00
|
|
|
|
|
|
|
public class GetValueFromTrc {
|
2022-06-20 18:49:31 -07:00
|
|
|
|
|
|
|
public static final double EPS = 0.01;
|
|
|
|
|
2022-06-20 14:38:30 -07:00
|
|
|
@Test
|
|
|
|
public void test() throws IOException {
|
|
|
|
DbcFile dbc = new DbcFile();
|
2022-06-20 18:29:27 -07:00
|
|
|
{
|
|
|
|
BufferedReader reader = new BufferedReader(new StringReader(VAG_MOTOR_1));
|
|
|
|
dbc.read(reader);
|
|
|
|
}
|
2022-06-22 00:19:09 -07:00
|
|
|
assertNotNull(dbc.findPacket(640));
|
|
|
|
assertNull(dbc.findPacket(1640));
|
2022-06-20 14:38:30 -07:00
|
|
|
|
|
|
|
String trcLine = " 3769) 2117.7 Rx 0280 8 01 1D DF 12 1E 00 1A 1E ";
|
|
|
|
|
2022-06-20 18:29:27 -07:00
|
|
|
PcanTrcReader reader = new PcanTrcReader();
|
|
|
|
CANPacket packet = reader.readLine(trcLine);
|
|
|
|
assertEquals(8, packet.getData().length);
|
|
|
|
assertEquals(640, packet.getId());
|
|
|
|
|
2022-06-20 18:49:31 -07:00
|
|
|
assertEquals(0x12DF, DbcField.getBitIndex(packet.getData(), 16, 16));
|
2022-06-20 18:29:27 -07:00
|
|
|
assertEquals(0xDF1D, DbcField.getBitIndex(packet.getData(), 8, 16));
|
|
|
|
|
|
|
|
assertEquals(1, DbcField.getBitIndex(packet.getData(), 0, 3));
|
|
|
|
|
|
|
|
assertEquals(0x1D, DbcField.getBitIndex(packet.getData(), 8, 8));
|
|
|
|
assertEquals(13 , DbcField.getBitIndex(packet.getData(), 8, 4));
|
|
|
|
|
|
|
|
|
2022-06-20 18:49:31 -07:00
|
|
|
DbcField bf = dbc.packets.get(0).find("rpm");
|
|
|
|
|
|
|
|
assertEquals(1207.75, bf.getValue(packet), EPS);
|
|
|
|
|
2022-06-20 18:29:27 -07:00
|
|
|
System.out.println(packet);
|
2022-06-20 14:38:30 -07:00
|
|
|
}
|
|
|
|
}
|