.logicdata files are a bit broken #1482

hiding feature for now :(
This commit is contained in:
rusefi 2020-06-06 11:00:18 -04:00
parent f1566343a0
commit f892c7b8b4
2 changed files with 13 additions and 5 deletions

View File

@ -14,7 +14,6 @@ import com.rusefi.core.Pair;
import com.rusefi.core.Sensor;
import com.rusefi.core.SensorCentral;
import com.rusefi.io.*;
import com.rusefi.stream.LogicdataStreamFile;
import com.rusefi.stream.StreamFile;
import com.rusefi.stream.TSHighSpeedLog;
import com.rusefi.stream.VcdStreamFile;
@ -87,9 +86,11 @@ public class BinaryProtocol implements BinaryProtocolCommands {
private void createCompositesIfNeeded() {
if (!compositeLogs.isEmpty())
return;
compositeLogs.addAll(Arrays.asList(new VcdStreamFile(getFileName("rusEFI_trigger_log_")),
new TSHighSpeedLog(getFileName("rusEFI_trigger_log_")),
new LogicdataStreamFile(getFileName("rusEFI_trigger_log_", ".logicdata"))));
compositeLogs.addAll(Arrays.asList(
new VcdStreamFile(getFileName("rusEFI_trigger_log_")),
// new LogicdataStreamFile(getFileName("rusEFI_trigger_log_", ".logicdata")),
new TSHighSpeedLog(getFileName("rusEFI_trigger_log_"))
));
}
public boolean isClosed;

View File

@ -12,6 +12,12 @@ import java.util.List;
/**
* Support for Saleae .logicdata format.
* (c) andreika 2020
*
* Jun 6 status: this code mostly works but it does not work completely
* 1) at some point it looked like file produced by LogicdataStreamFileSandbox was valid but it's again not valid?
* 2) event gaps above 32ms are not supported but those are absolutely required for cranking attempts
*
* @see LogicdataStreamFileSandbox
*/
public class LogicdataStreamFile extends StreamFile {
@ -99,7 +105,8 @@ public class LogicdataStreamFile extends StreamFile {
int delta = ts - prevTs;
if (delta > 0x7fff) {
// todo: split too long events?
throw new IOException();
// this is just 32ms cap between events which is very possible during cranking attempts
throw new IllegalArgumentException("Event too long.");
}
// encode state
if (chState == 0)