more channels into VCD
This commit is contained in:
parent
925c429a93
commit
6d7d3f51e4
|
@ -19,6 +19,8 @@ public class VcdStreamFile extends StreamFile {
|
||||||
private static final String TAG_SECONDARY = "s";
|
private static final String TAG_SECONDARY = "s";
|
||||||
private static final String TAG_TRG = "r";
|
private static final String TAG_TRG = "r";
|
||||||
private static final String TAG_SYNC = "y";
|
private static final String TAG_SYNC = "y";
|
||||||
|
private static final String TAG_COIL = "c";
|
||||||
|
private static final String TAG_INJ = "i";
|
||||||
|
|
||||||
private static void writeHeader(Writer writer, Date date) throws IOException {
|
private static void writeHeader(Writer writer, Date date) throws IOException {
|
||||||
writer.write("$date\n");
|
writer.write("$date\n");
|
||||||
|
@ -35,6 +37,8 @@ public class VcdStreamFile extends StreamFile {
|
||||||
"$var wire 1 " + TAG_SECONDARY + " SEC_TRG $end\n" +
|
"$var wire 1 " + TAG_SECONDARY + " SEC_TRG $end\n" +
|
||||||
"$var wire 1 " + TAG_TRG + " TRG $end\n" +
|
"$var wire 1 " + TAG_TRG + " TRG $end\n" +
|
||||||
"$var wire 1 " + TAG_SYNC + " SYNC $end\n" +
|
"$var wire 1 " + TAG_SYNC + " SYNC $end\n" +
|
||||||
|
"$var wire 1 " + TAG_COIL + " COIL $end\n" +
|
||||||
|
"$var wire 1 " + TAG_INJ + " INJ $end\n" +
|
||||||
"$upscope $end\n" +
|
"$upscope $end\n" +
|
||||||
"$enddefinitions $end\n" +
|
"$enddefinitions $end\n" +
|
||||||
"$dumpvars\n");
|
"$dumpvars\n");
|
||||||
|
@ -47,7 +51,8 @@ public class VcdStreamFile extends StreamFile {
|
||||||
writer.write(event.isSecondaryTriggerAsInt() + TAG_SECONDARY + "\n");
|
writer.write(event.isSecondaryTriggerAsInt() + TAG_SECONDARY + "\n");
|
||||||
writer.write(event.isTrgAsInt() + TAG_TRG + "\n");
|
writer.write(event.isTrgAsInt() + TAG_TRG + "\n");
|
||||||
writer.write(event.isSyncAsInt() + TAG_SYNC + "\n");
|
writer.write(event.isSyncAsInt() + TAG_SYNC + "\n");
|
||||||
|
writer.write(event.isCoil() + TAG_COIL + "\n");
|
||||||
|
writer.write(event.isInjector() + TAG_INJ + "\n");
|
||||||
}
|
}
|
||||||
writer.flush();
|
writer.flush();
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,13 +6,17 @@ public class CompositeEvent {
|
||||||
private final boolean secondaryTrigger;
|
private final boolean secondaryTrigger;
|
||||||
private final boolean trg;
|
private final boolean trg;
|
||||||
private final boolean sync;
|
private final boolean sync;
|
||||||
|
private final boolean coil;
|
||||||
|
private final boolean injector;
|
||||||
|
|
||||||
public CompositeEvent(int timestamp, boolean primaryTrigger, boolean secondaryTrigger, boolean trg, boolean sync) {
|
public CompositeEvent(int timestamp, boolean primaryTrigger, boolean secondaryTrigger, boolean trg, boolean sync, boolean coil, boolean injector) {
|
||||||
this.timestamp = timestamp;
|
this.timestamp = timestamp;
|
||||||
this.primaryTrigger = primaryTrigger;
|
this.primaryTrigger = primaryTrigger;
|
||||||
this.secondaryTrigger = secondaryTrigger;
|
this.secondaryTrigger = secondaryTrigger;
|
||||||
this.trg = trg;
|
this.trg = trg;
|
||||||
this.sync = sync;
|
this.sync = sync;
|
||||||
|
this.coil = coil;
|
||||||
|
this.injector = injector;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTimestamp() {
|
public int getTimestamp() {
|
||||||
|
@ -34,4 +38,12 @@ public class CompositeEvent {
|
||||||
public int isTrgAsInt() {
|
public int isTrgAsInt() {
|
||||||
return trg ? 1 : 0;
|
return trg ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int isCoil() {
|
||||||
|
return coil ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int isInjector() {
|
||||||
|
return injector ? 1 : 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,11 @@
|
||||||
package com.rusefi.composite;
|
package com.rusefi.composite;
|
||||||
|
|
||||||
import com.opensr5.ini.field.EnumIniField;
|
import com.opensr5.ini.field.EnumIniField;
|
||||||
import com.rusefi.binaryprotocol.VcdStreamFile;
|
|
||||||
import com.rusefi.config.generated.Fields;
|
import com.rusefi.config.generated.Fields;
|
||||||
|
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.Writer;
|
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.ByteOrder;
|
import java.nio.ByteOrder;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class CompositeParser {
|
public class CompositeParser {
|
||||||
|
@ -33,10 +28,12 @@ public class CompositeParser {
|
||||||
boolean secondaryTrigger = EnumIniField.getBit(flags, 1);
|
boolean secondaryTrigger = EnumIniField.getBit(flags, 1);
|
||||||
boolean trg = EnumIniField.getBit(flags, 2);
|
boolean trg = EnumIniField.getBit(flags, 2);
|
||||||
boolean sync = EnumIniField.getBit(flags, 3);
|
boolean sync = EnumIniField.getBit(flags, 3);
|
||||||
|
boolean coil = EnumIniField.getBit(flags, 4);
|
||||||
|
boolean injector = EnumIniField.getBit(flags, 5);
|
||||||
|
|
||||||
ptr += Fields.COMPOSITE_PACKET_SIZE;
|
ptr += Fields.COMPOSITE_PACKET_SIZE;
|
||||||
|
|
||||||
events.add(new CompositeEvent(timestamp, primaryTrigger, secondaryTrigger, trg, sync));
|
events.add(new CompositeEvent(timestamp, primaryTrigger, secondaryTrigger, trg, sync, coil, injector));
|
||||||
}
|
}
|
||||||
return events;
|
return events;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue