auto-sync
This commit is contained in:
parent
f3309b58b5
commit
aec382a946
|
@ -265,15 +265,13 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
|
||||||
toothed_previous_duration = currentDuration;
|
toothed_previous_duration = currentDuration;
|
||||||
toothed_previous_time = nowNt;
|
toothed_previous_time = nowNt;
|
||||||
}
|
}
|
||||||
if (boardConfiguration->sensorChartMode == SC_RPM_ACCEL) {
|
if (boardConfiguration->sensorChartMode == SC_RPM_ACCEL || boardConfiguration->sensorChartMode == SC_DETAILED_RPM) {
|
||||||
angle_t currentAngle = TRIGGER_SHAPE(eventAngles[currentCycle.current_index]);
|
angle_t currentAngle = TRIGGER_SHAPE(eventAngles[currentCycle.current_index]);
|
||||||
// todo: make this '90' depend on cylinder count?
|
// todo: make this '90' depend on cylinder count?
|
||||||
angle_t prevAngle = currentAngle - 90;
|
angle_t prevAngle = currentAngle - 90;
|
||||||
fixAngle(prevAngle);
|
fixAngle(prevAngle);
|
||||||
// int prevIndex = TRIGGER_SHAPE(triggerIndexByAngle[(int)prevAngle]);
|
// todo: prevIndex should be pre-calculated
|
||||||
int prevIndex = currentCycle.current_index - 1;
|
int prevIndex = TRIGGER_SHAPE(triggerIndexByAngle[(int)prevAngle]);
|
||||||
if (prevIndex == -1)
|
|
||||||
prevIndex = engine->triggerShape.getSize() - 1;
|
|
||||||
// now let's get precise angle for that event
|
// now let's get precise angle for that event
|
||||||
prevAngle = TRIGGER_SHAPE(eventAngles[prevIndex]);
|
prevAngle = TRIGGER_SHAPE(eventAngles[prevIndex]);
|
||||||
uint32_t time = nowNt - timeOfLastEvent[prevIndex];
|
uint32_t time = nowNt - timeOfLastEvent[prevIndex];
|
||||||
|
@ -284,7 +282,11 @@ void TriggerState::decodeTriggerEvent(trigger_event_e const signal, efitime_t no
|
||||||
float r = (60000000.0 / 360 * US_TO_NT_MULTIPLIER) * angleDiff / time;
|
float r = (60000000.0 / 360 * US_TO_NT_MULTIPLIER) * angleDiff / time;
|
||||||
|
|
||||||
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
|
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
|
||||||
scAddData(currentAngle, r);
|
if (boardConfiguration->sensorChartMode == SC_DETAILED_RPM) {
|
||||||
|
scAddData(currentAngle, r);
|
||||||
|
} else {
|
||||||
|
scAddData(currentAngle, r / instantRpmValue[prevIndex]);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
instantRpmValue[currentCycle.current_index] = r;
|
instantRpmValue[currentCycle.current_index] = r;
|
||||||
timeOfLastEvent[currentCycle.current_index] = nowNt;
|
timeOfLastEvent[currentCycle.current_index] = nowNt;
|
||||||
|
|
|
@ -28,7 +28,7 @@ public class SensorSnifferPane {
|
||||||
private static final String HELP_URL = "http://rusefi.com/wiki/index.php?title=Manual:DevConsole#Analog_Chart";
|
private static final String HELP_URL = "http://rusefi.com/wiki/index.php?title=Manual:DevConsole#Analog_Chart";
|
||||||
|
|
||||||
private final TreeMap<Double, Double> values = new TreeMap<>();
|
private final TreeMap<Double, Double> values = new TreeMap<>();
|
||||||
private final AnalogChartCanvas canvas = new AnalogChartCanvas();
|
private final SensorSnifferCanvas canvas = new SensorSnifferCanvas();
|
||||||
|
|
||||||
private double minX;
|
private double minX;
|
||||||
private double maxX;
|
private double maxX;
|
||||||
|
@ -134,7 +134,7 @@ public class SensorSnifferPane {
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
private class AnalogChartCanvas extends JComponent {
|
private class SensorSnifferCanvas extends JComponent {
|
||||||
@Override
|
@Override
|
||||||
public void paint(Graphics g) {
|
public void paint(Graphics g) {
|
||||||
super.paint(g);
|
super.paint(g);
|
||||||
|
|
|
@ -479,7 +479,7 @@ void testTriggerDecoder(void) {
|
||||||
|
|
||||||
|
|
||||||
eth.persistentConfig.engineConfiguration.useOnlyFrontForTrigger = false;
|
eth.persistentConfig.engineConfiguration.useOnlyFrontForTrigger = false;
|
||||||
eth.persistentConfig.engineConfiguration.bc.sensorChartMode = SC_RPM_ACCEL;
|
eth.persistentConfig.engineConfiguration.bc.sensorChartMode = SC_DETAILED_RPM;
|
||||||
applyNonPersistentConfiguration(NULL PASS_ENGINE_PARAMETER);
|
applyNonPersistentConfiguration(NULL PASS_ENGINE_PARAMETER);
|
||||||
|
|
||||||
assertEqualsM2("rpm#1", 16666.9746, eth.engine.triggerCentral.triggerState.instantRpmValue[0], 0.5);
|
assertEqualsM2("rpm#1", 16666.9746, eth.engine.triggerCentral.triggerState.instantRpmValue[0], 0.5);
|
||||||
|
|
Loading…
Reference in New Issue