One SID per file

This commit is contained in:
rusefi 2022-11-12 13:39:32 -05:00
parent e822e36c23
commit da6ef4d19d
3 changed files with 25 additions and 2 deletions

View File

@ -53,7 +53,11 @@ public class ByteRateOfChange {
} }
public static String dualSid(int sid) { public static String dualSid(int sid) {
return String.format("%d/0x%x", sid, sid); return dualSid(sid, "/");
}
public static String dualSid(int sid, String separator) {
return String.format("%d%s0x%x", sid, separator, sid);
} }
public static class ByteStatistics { public static class ByteStatistics {

View File

@ -1,12 +1,19 @@
package com.rusefi.can.analysis; package com.rusefi.can.analysis;
import com.rusefi.can.CANPacket; import com.rusefi.can.CANPacket;
import com.rusefi.can.writer.SteveWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List; import java.util.List;
import java.util.TreeSet; import java.util.TreeSet;
import static com.rusefi.can.analysis.ByteRateOfChange.dualSid;
public class PerSidDump { public class PerSidDump {
public static void handle(List<CANPacket> packets, String simpleFileName) { public static void handle(List<CANPacket> packets, String simpleFileName) throws IOException {
TreeSet<Integer> sids = new TreeSet<>(); TreeSet<Integer> sids = new TreeSet<>();
// todo: one day I will let streams into my heart // todo: one day I will let streams into my heart
for (CANPacket packet : packets) for (CANPacket packet : packets)
@ -14,10 +21,19 @@ public class PerSidDump {
// O(n*M) is not so bad // O(n*M) is not so bad
for (int sid : sids) { for (int sid : sids) {
PrintWriter pw = new PrintWriter(new FileOutputStream(simpleFileName + "_filtered_" + dualSid(sid, "_") + ".txt"));
for (CANPacket packet : packets) { for (CANPacket packet : packets) {
if (packet.getId() != sid) if (packet.getId() != sid)
continue; continue;
// no reason to use SteveWriter just need any human-readable writer here
SteveWriter.append(pw, packet);
} }
pw.close();
} }
} }

View File

@ -6,6 +6,9 @@ import java.io.FileWriter;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
/**
* This seems to be about https://github.com/brent-stone/CAN_Reverse_Engineering
*/
public class SteveWriter implements CANTextWriter { public class SteveWriter implements CANTextWriter {
private final String fileName; private final String fileName;