packet decoding
This commit is contained in:
parent
9dfe9cde8d
commit
fad12f1e95
|
@ -16,4 +16,12 @@ public class SensorValue {
|
|||
public double getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "{" +
|
||||
type +
|
||||
", value=" + value +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
package com.rusefi.can;
|
||||
|
||||
import com.rusefi.can.decoders.PacketDecoder;
|
||||
import com.rusefi.can.decoders.bmw.BmwRegistry;
|
||||
import com.rusefi.can.reader.CANoeReader;
|
||||
import com.rusefi.can.writer.SteveWriter;
|
||||
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -12,8 +15,26 @@ public class Util {
|
|||
|
||||
List<CANPacket> packetList = reader.readFile("Log2.log");
|
||||
|
||||
SteveWriter writer = new SteveWriter("loggerProgram0.log");
|
||||
writer.write(packetList);
|
||||
// SteveWriter writer = new SteveWriter("loggerProgram0.log");
|
||||
// writer.write(packetList);
|
||||
|
||||
FileWriter fw = new FileWriter("sensors.txt");
|
||||
|
||||
for (CANPacket packet : packetList) {
|
||||
PacketDecoder decoder = BmwRegistry.INSTANCE.decoderMap.get(packet.getId());
|
||||
if (decoder == null)
|
||||
continue;
|
||||
PacketPayload payload = decoder.decode(packet);
|
||||
if (payload == null)
|
||||
continue;
|
||||
|
||||
|
||||
for (SensorValue value : payload.getValues()) {
|
||||
fw.write(packet.getTimeStamp() + "," + value + "\n");
|
||||
}
|
||||
}
|
||||
fw.close();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,10 @@ public class Bmw0AA extends AbstractPacketDecoder {
|
|||
@Override
|
||||
public PacketPayload decode(CANPacket packet) {
|
||||
SensorValue pedal = new SensorValue(SensorType.PPS, packet.getUnsigned(3) * 0.39063);
|
||||
SensorValue rpm = new SensorValue(SensorType.RPM, packet.getTwoBytes(4) * 0.25);
|
||||
int rawRpm = packet.getTwoBytes(4);
|
||||
if (rawRpm == 0xFFFF)
|
||||
return null;
|
||||
SensorValue rpm = new SensorValue(SensorType.RPM, rawRpm * 0.25);
|
||||
return new PacketPayload(packet.getTimeStamp(), pedal, rpm);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
|
||||
public class BmwRegistry {
|
||||
BmwRegistry INSTANCE = new BmwRegistry();
|
||||
public static final BmwRegistry INSTANCE = new BmwRegistry();
|
||||
|
||||
public Map<Integer, PacketDecoder> decoderMap = new HashMap<>();
|
||||
|
||||
|
|
Loading…
Reference in New Issue