auto-sync
This commit is contained in:
parent
e6fa463113
commit
1c1b78d850
|
@ -1,5 +1,5 @@
|
|||
// This file was generated by Version2Header
|
||||
// Wed Feb 17 22:07:02 EST 2016
|
||||
// Mon Feb 29 20:31:38 EST 2016
|
||||
#ifndef VCS_VERSION
|
||||
#define VCS_VERSION "9606"
|
||||
#define VCS_VERSION "9640"
|
||||
#endif
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Launcher COM3" type="Application" factoryName="Application">
|
||||
<configuration default="false" name="Launcher COM3" type="Application" factoryName="Application" folderName="x">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.Launcher" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="COM3" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Launcher COM7" type="Application" factoryName="Application">
|
||||
<configuration default="false" name="Launcher COM7" type="Application" factoryName="Application" folderName="x">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.Launcher" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="COM7" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="Launcher COM9" type="Application" factoryName="Application">
|
||||
<configuration default="false" name="Launcher COM9" type="Application" factoryName="Application" folderName="x">
|
||||
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.rusefi.Launcher" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="COM9" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
|
|
|
@ -174,7 +174,7 @@ public class AutoTest {
|
|||
msg = "ProtegeLX running";
|
||||
IoUtil.changeRpm(2000);
|
||||
chart = nextChart();
|
||||
x = 127.92;
|
||||
x = 112;
|
||||
assertWave(msg, chart, EngineChart.SPARK_1, 0.13333333333333333, x, x + 180, x + 360, x + 540);
|
||||
x = 0;
|
||||
assertWaveFall(msg, chart, EngineChart.INJECTOR_1, 0.04666666666666654, x + 180, x + 540);
|
||||
|
|
|
@ -6,12 +6,14 @@ import jssc.SerialPort;
|
|||
import jssc.SerialPortEvent;
|
||||
import jssc.SerialPortEventListener;
|
||||
import jssc.SerialPortException;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* Date: 12/25/12
|
||||
* (c) Andrey Belomutskiy
|
||||
*/
|
||||
public class SerialPortReader implements SerialPortEventListener {
|
||||
private static final int[] SLEEP_DURATIONS = {2, 20, 50, 100};
|
||||
private final SerialPort serialPort;
|
||||
private DataListener listener;
|
||||
|
||||
|
@ -23,25 +25,42 @@ public class SerialPortReader implements SerialPortEventListener {
|
|||
public void run() {
|
||||
try {
|
||||
while (serialPort.isOpened()) {
|
||||
byte[] data;
|
||||
synchronized (serialPort) {
|
||||
data = serialPort.readBytes();
|
||||
}
|
||||
if (data != null) {
|
||||
byte[] data = progressiveSleepRead(serialPort);
|
||||
if (data != null)
|
||||
listener.onDataArrived(data);
|
||||
} else {
|
||||
Thread.sleep(100);
|
||||
}
|
||||
}
|
||||
} catch (SerialPortException e) {
|
||||
e.printStackTrace();
|
||||
} catch (InterruptedException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
}
|
||||
}, "Reader_" + serialPort).start();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method starts with shorter sleeps (which we do not know to what extent Windows handle) and then we sleep
|
||||
* a bit longer
|
||||
* @param serialPort port to read from
|
||||
* @return fresh data or null
|
||||
*/
|
||||
@Nullable
|
||||
private static byte[] progressiveSleepRead(SerialPort serialPort) throws SerialPortException {
|
||||
for (int sleepDuration : SLEEP_DURATIONS) {
|
||||
byte[] data;
|
||||
synchronized (serialPort) {
|
||||
data = serialPort.readBytes();
|
||||
}
|
||||
if (data != null)
|
||||
return data;
|
||||
try {
|
||||
Thread.sleep(sleepDuration);
|
||||
} catch (InterruptedException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void serialEvent(SerialPortEvent spe) {
|
||||
if (spe.isRXCHAR() || spe.isRXFLAG()) {
|
||||
// event-based serial read implementation does not work well on Windows 10 for some reason
|
||||
|
|
Loading…
Reference in New Issue