more channels into VCD

This commit is contained in:
rusefi 2020-05-30 16:16:28 -04:00
parent 925c429a93
commit 6d7d3f51e4
3 changed files with 22 additions and 8 deletions

View File

@ -19,6 +19,8 @@ public class VcdStreamFile extends StreamFile {
private static final String TAG_SECONDARY = "s";
private static final String TAG_TRG = "r";
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 {
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_TRG + " TRG $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" +
"$enddefinitions $end\n" +
"$dumpvars\n");
@ -47,7 +51,8 @@ public class VcdStreamFile extends StreamFile {
writer.write(event.isSecondaryTriggerAsInt() + TAG_SECONDARY + "\n");
writer.write(event.isTrgAsInt() + TAG_TRG + "\n");
writer.write(event.isSyncAsInt() + TAG_SYNC + "\n");
writer.write(event.isCoil() + TAG_COIL + "\n");
writer.write(event.isInjector() + TAG_INJ + "\n");
}
writer.flush();
}

View File

@ -6,13 +6,17 @@ public class CompositeEvent {
private final boolean secondaryTrigger;
private final boolean trg;
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.primaryTrigger = primaryTrigger;
this.secondaryTrigger = secondaryTrigger;
this.trg = trg;
this.sync = sync;
this.coil = coil;
this.injector = injector;
}
public int getTimestamp() {
@ -34,4 +38,12 @@ public class CompositeEvent {
public int isTrgAsInt() {
return trg ? 1 : 0;
}
public int isCoil() {
return coil ? 1 : 0;
}
public int isInjector() {
return injector ? 1 : 0;
}
}

View File

@ -1,16 +1,11 @@
package com.rusefi.composite;
import com.opensr5.ini.field.EnumIniField;
import com.rusefi.binaryprotocol.VcdStreamFile;
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.ByteOrder;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class CompositeParser {
@ -33,10 +28,12 @@ public class CompositeParser {
boolean secondaryTrigger = EnumIniField.getBit(flags, 1);
boolean trg = EnumIniField.getBit(flags, 2);
boolean sync = EnumIniField.getBit(flags, 3);
boolean coil = EnumIniField.getBit(flags, 4);
boolean injector = EnumIniField.getBit(flags, 5);
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;
}