mirror of https://github.com/rusefi/rusefi-1.git
Merge branch 'master' of https://github.com/rusefi/rusefi
This commit is contained in:
commit
5294c6fb66
|
@ -199,6 +199,79 @@ expected<percent_t> EtbController::getOpenLoop(percent_t target) const {
|
||||||
return ff;
|
return ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
expected<percent_t> EtbController::getClosedLoopAutotune(percent_t actualThrottlePosition) {
|
||||||
|
// Estimate gain at 60% position - this should be well away from the spring and in the linear region
|
||||||
|
bool isPositive = actualThrottlePosition > 60.0f;
|
||||||
|
|
||||||
|
float autotuneAmplitude = 20;
|
||||||
|
|
||||||
|
// End of cycle - record & reset
|
||||||
|
if (!isPositive && m_lastIsPositive) {
|
||||||
|
efitick_t now = getTimeNowNt();
|
||||||
|
|
||||||
|
// Determine period
|
||||||
|
float tu = NT2US((float)(now - m_cycleStartTime)) / 1e6;
|
||||||
|
m_cycleStartTime = now;
|
||||||
|
|
||||||
|
// Determine amplitude
|
||||||
|
float a = m_maxCycleTps - m_minCycleTps;
|
||||||
|
|
||||||
|
// Filter - it's pretty noisy since the ultimate period is not very many loop periods
|
||||||
|
constexpr float alpha = 0.05;
|
||||||
|
m_a = alpha * a + (1 - alpha) * m_a;
|
||||||
|
m_tu = alpha * tu + (1 - alpha) * m_tu;
|
||||||
|
|
||||||
|
// Reset bounds
|
||||||
|
m_minCycleTps = 100;
|
||||||
|
m_maxCycleTps = 0;
|
||||||
|
|
||||||
|
// Math is for Åström–Hägglund (relay) auto tuning
|
||||||
|
// https://warwick.ac.uk/fac/cross_fac/iatl/reinvention/archive/volume5issue2/hornsey
|
||||||
|
|
||||||
|
// Publish to TS state
|
||||||
|
#if EFI_TUNER_STUDIO
|
||||||
|
if (engineConfiguration->debugMode == DBG_ETB_AUTOTUNE) {
|
||||||
|
// a - amplitude of output (TPS %)
|
||||||
|
|
||||||
|
tsOutputChannels.debugFloatField1 = m_a;
|
||||||
|
float b = 2 * autotuneAmplitude;
|
||||||
|
// b - amplitude of input (Duty cycle %)
|
||||||
|
tsOutputChannels.debugFloatField2 = b;
|
||||||
|
// Tu - oscillation period (seconds)
|
||||||
|
tsOutputChannels.debugFloatField3 = m_tu;
|
||||||
|
|
||||||
|
// Ultimate gain per A-H relay tuning rule
|
||||||
|
// Ku
|
||||||
|
float ku = 4 * b / (3.14159f * m_a);
|
||||||
|
tsOutputChannels.debugFloatField4 = ku;
|
||||||
|
|
||||||
|
// The multipliers below are somewhere near the "no overshoot"
|
||||||
|
// and "some overshoot" flavors of the Ziegler-Nichols method
|
||||||
|
// Kp
|
||||||
|
tsOutputChannels.debugFloatField5 = 0.35f * ku;
|
||||||
|
// Ki
|
||||||
|
tsOutputChannels.debugFloatField6 = 0.25f * ku / m_tu;
|
||||||
|
// Kd
|
||||||
|
tsOutputChannels.debugFloatField7 = 0.08f * ku * m_tu;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
m_lastIsPositive = isPositive;
|
||||||
|
|
||||||
|
// Find the min/max of each cycle
|
||||||
|
if (actualThrottlePosition < m_minCycleTps) {
|
||||||
|
m_minCycleTps = actualThrottlePosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (actualThrottlePosition > m_maxCycleTps) {
|
||||||
|
m_maxCycleTps = actualThrottlePosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bang-bang control the output to induce oscillation
|
||||||
|
return autotuneAmplitude * (isPositive ? -1 : 1);
|
||||||
|
}
|
||||||
|
|
||||||
expected<percent_t> EtbController::getClosedLoop(percent_t target, percent_t actualThrottlePosition) {
|
expected<percent_t> EtbController::getClosedLoop(percent_t target, percent_t actualThrottlePosition) {
|
||||||
if (m_shouldResetPid) {
|
if (m_shouldResetPid) {
|
||||||
m_pid.reset();
|
m_pid.reset();
|
||||||
|
@ -215,75 +288,7 @@ expected<percent_t> EtbController::getClosedLoop(percent_t target, percent_t act
|
||||||
|
|
||||||
// Only allow autotune with stopped engine
|
// Only allow autotune with stopped engine
|
||||||
if (GET_RPM() == 0 && engine->etbAutoTune) {
|
if (GET_RPM() == 0 && engine->etbAutoTune) {
|
||||||
bool isPositive = actualThrottlePosition > target;
|
return getClosedLoopAutotune(actualThrottlePosition);
|
||||||
|
|
||||||
float autotuneAmplitude = 20;
|
|
||||||
|
|
||||||
// End of cycle - record & reset
|
|
||||||
if (!isPositive && m_lastIsPositive) {
|
|
||||||
efitick_t now = getTimeNowNt();
|
|
||||||
|
|
||||||
// Determine period
|
|
||||||
float tu = NT2US((float)(now - m_cycleStartTime)) / 1e6;
|
|
||||||
m_cycleStartTime = now;
|
|
||||||
|
|
||||||
// Determine amplitude
|
|
||||||
float a = m_maxCycleTps - m_minCycleTps;
|
|
||||||
|
|
||||||
// Filter - it's pretty noisy since the ultimate period is not very many loop periods
|
|
||||||
constexpr float alpha = 0.05;
|
|
||||||
m_a = alpha * a + (1 - alpha) * m_a;
|
|
||||||
m_tu = alpha * tu + (1 - alpha) * m_tu;
|
|
||||||
|
|
||||||
// Reset bounds
|
|
||||||
m_minCycleTps = 100;
|
|
||||||
m_maxCycleTps = 0;
|
|
||||||
|
|
||||||
// Math is for Åström–Hägglund (relay) auto tuning
|
|
||||||
// https://warwick.ac.uk/fac/cross_fac/iatl/reinvention/archive/volume5issue2/hornsey
|
|
||||||
|
|
||||||
// Publish to TS state
|
|
||||||
#if EFI_TUNER_STUDIO
|
|
||||||
if (engineConfiguration->debugMode == DBG_ETB_AUTOTUNE) {
|
|
||||||
// a - amplitude of output (TPS %)
|
|
||||||
|
|
||||||
tsOutputChannels.debugFloatField1 = m_a;
|
|
||||||
float b = 2 * autotuneAmplitude;
|
|
||||||
// b - amplitude of input (Duty cycle %)
|
|
||||||
tsOutputChannels.debugFloatField2 = b;
|
|
||||||
// Tu - oscillation period (seconds)
|
|
||||||
tsOutputChannels.debugFloatField3 = m_tu;
|
|
||||||
|
|
||||||
// Ultimate gain per A-H relay tuning rule
|
|
||||||
// Ku
|
|
||||||
float ku = 4 * b / (3.14159f * m_a);
|
|
||||||
tsOutputChannels.debugFloatField4 = ku;
|
|
||||||
|
|
||||||
// The multipliers below are somewhere near the "no overshoot"
|
|
||||||
// and "some overshoot" flavors of the Ziegler-Nichols method
|
|
||||||
// Kp
|
|
||||||
tsOutputChannels.debugFloatField5 = 0.35f * ku;
|
|
||||||
// Ki
|
|
||||||
tsOutputChannels.debugFloatField6 = 0.25f * ku / m_tu;
|
|
||||||
// Kd
|
|
||||||
tsOutputChannels.debugFloatField7 = 0.08f * ku * m_tu;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
m_lastIsPositive = isPositive;
|
|
||||||
|
|
||||||
// Find the min/max of each cycle
|
|
||||||
if (actualThrottlePosition < m_minCycleTps) {
|
|
||||||
m_minCycleTps = actualThrottlePosition;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (actualThrottlePosition > m_maxCycleTps) {
|
|
||||||
m_maxCycleTps = actualThrottlePosition;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Bang-bang control the output to induce oscillation
|
|
||||||
return autotuneAmplitude * (isPositive ? -1 : 1);
|
|
||||||
} else {
|
} else {
|
||||||
// Normal case - use PID to compute closed loop part
|
// Normal case - use PID to compute closed loop part
|
||||||
return m_pid.getOutput(target, actualThrottlePosition);
|
return m_pid.getOutput(target, actualThrottlePosition);
|
||||||
|
|
|
@ -50,6 +50,7 @@ public:
|
||||||
|
|
||||||
expected<percent_t> getOpenLoop(percent_t target) const override;
|
expected<percent_t> getOpenLoop(percent_t target) const override;
|
||||||
expected<percent_t> getClosedLoop(percent_t setpoint, percent_t target) override;
|
expected<percent_t> getClosedLoop(percent_t setpoint, percent_t target) override;
|
||||||
|
expected<percent_t> getClosedLoopAutotune(percent_t actualThrottlePosition);
|
||||||
|
|
||||||
void setOutput(expected<percent_t> outputValue) override;
|
void setOutput(expected<percent_t> outputValue) override;
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 19:50:25 EDT 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 21:10:37 EDT 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
@ -1759,8 +1759,8 @@ fileVersion = { 20200310 }
|
||||||
|
|
||||||
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
||||||
columnLabel = "TPS", "duty bias"
|
columnLabel = "TPS", "duty bias"
|
||||||
xAxis = 0, 100, 10
|
xAxis = 0, 50, 11
|
||||||
yAxis = 0, 100, 10
|
yAxis = -40, 40, 9
|
||||||
xBins = etbBiasBins, TPSValue
|
xBins = etbBiasBins, TPSValue
|
||||||
yBins = etbBiasValues
|
yBins = etbBiasValues
|
||||||
gauge = TPSGauge
|
gauge = TPSGauge
|
||||||
|
@ -2892,12 +2892,19 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
||||||
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
||||||
|
|
||||||
dialog = pedalSensor, "Accelerator pedal"
|
dialog = pedalSensorLeft, "Accelerator pedal"
|
||||||
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
||||||
|
field = "Up voltage", throttlePedalUpVoltage
|
||||||
|
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
||||||
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
||||||
field = "Up voltage", throttlePedalUpVoltage
|
|
||||||
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
|
||||||
|
|
||||||
|
dialog = pedalGauges
|
||||||
|
gauge = pedalPositionGauge
|
||||||
|
gauge = rawPpsPrimaryGauge
|
||||||
|
|
||||||
|
dialog = pedalSensor, "Accelerator pedal", border
|
||||||
|
panel = pedalSensorLeft, West
|
||||||
|
panel = pedalGauges, East
|
||||||
|
|
||||||
dialog = mc33Dialog, "GDI Dreams"
|
dialog = mc33Dialog, "GDI Dreams"
|
||||||
field = mc33816_cs, mc33816_cs
|
field = mc33816_cs, mc33816_cs
|
||||||
|
@ -3901,44 +3908,37 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "offset", etb_offset, {throttlePedalPositionAdcChannel != 16}
|
|
||||||
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
||||||
|
|
||||||
|
dialog = etbIdleDialog, "ETB Idle"
|
||||||
|
field = "use ETB for idle", useETBforIdleControl
|
||||||
|
field = "ETB idle maximum angle", etbIdleThrottleRange
|
||||||
|
|
||||||
dialog = etbDialogLeft
|
dialog = etbDialogLeft
|
||||||
field = "https://rusefi.com/s/etb"
|
field = "https://rusefi.com/s/etb"
|
||||||
field = "Detailed status in console", isVerboseETB
|
field = "Detailed status in console", isVerboseETB
|
||||||
field = "Pause ETB control", pauseEtbControl
|
field = "Pause ETB control", pauseEtbControl
|
||||||
field = "Throttle Pedal Up", throttlePedalUpVoltage
|
|
||||||
field = "Throttle Pedal Wide Open", throttlePedalWOTVoltage
|
|
||||||
field = etbCalibrationOnStart, etbCalibrationOnStart
|
field = etbCalibrationOnStart, etbCalibrationOnStart
|
||||||
field = "TPS#2 min", tps2Min, { tps2_1AdcChannel != 16 }
|
|
||||||
field = "TPS#2 max", tps2Max, { tps2_1AdcChannel != 16 }
|
|
||||||
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
||||||
; criteria for the same panel when used in multiple places
|
; criteria for the same panel when used in multiple places
|
||||||
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
||||||
panel = etbPidDialog
|
|
||||||
|
dialog = etbAutotune, "PID Autotune"
|
||||||
|
field = "!Set debug mode below to 'ETB Autotune' to show results"
|
||||||
|
field = "Debug mode", debugMode
|
||||||
|
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
||||||
|
|
||||||
dialog = etbDialogRight
|
dialog = etbDialogRight
|
||||||
field = "!https://rusefi.com/s/debugmode"
|
panel = etbIdleDialog
|
||||||
field = "Neutral Position", etbNeutralPosition
|
panel = etbPidDialog
|
||||||
field = "Debug mode", debugMode
|
panel = etbAutotune
|
||||||
field = "use ETB for idle", useETBforIdleControl
|
|
||||||
field = "ETB idle maximum angle", etbIdleThrottleRange
|
; Neutral position handling not yet implemented!
|
||||||
field = "Press buttons to calibrate sensors"
|
;field = "Neutral Position", etbNeutralPosition
|
||||||
field = "You would have to remove air filter to move throttle manually"
|
|
||||||
commandButton = "TPS#1 closed position", cmd_calibrate_tps_1_closed
|
|
||||||
commandButton = "TPS#1 wide open position", cmd_calibrate_tps_1_wot
|
|
||||||
field = "Not many vehicles have two throttle bodies but some do"
|
|
||||||
commandButton = "TPS#2 closed position", cmd_calibrate_tps_2_closed
|
|
||||||
commandButton = "TPS#2 wide open position", cmd_calibrate_tps_2_wot
|
|
||||||
commandButton = "Pedal Up", cmd_calibrate_pedal_up
|
|
||||||
commandButton = "Pedal Down", cmd_calibrate_pedal_down
|
|
||||||
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
|
||||||
|
|
||||||
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
||||||
topicHelp = "etbHelp"
|
topicHelp = "etbHelp"
|
||||||
|
|
|
@ -590,8 +590,8 @@ fileVersion = { @@TS_FILE_VERSION@@ }
|
||||||
|
|
||||||
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
||||||
columnLabel = "TPS", "duty bias"
|
columnLabel = "TPS", "duty bias"
|
||||||
xAxis = 0, 100, 10
|
xAxis = 0, 50, 11
|
||||||
yAxis = 0, 100, 10
|
yAxis = -40, 40, 9
|
||||||
xBins = etbBiasBins, TPSValue
|
xBins = etbBiasBins, TPSValue
|
||||||
yBins = etbBiasValues
|
yBins = etbBiasValues
|
||||||
gauge = TPSGauge
|
gauge = TPSGauge
|
||||||
|
@ -1723,12 +1723,19 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
||||||
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
||||||
|
|
||||||
dialog = pedalSensor, "Accelerator pedal"
|
dialog = pedalSensorLeft, "Accelerator pedal"
|
||||||
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
||||||
|
field = "Up voltage", throttlePedalUpVoltage
|
||||||
|
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
||||||
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
||||||
field = "Up voltage", throttlePedalUpVoltage
|
|
||||||
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
|
||||||
|
|
||||||
|
dialog = pedalGauges
|
||||||
|
gauge = pedalPositionGauge
|
||||||
|
gauge = rawPpsPrimaryGauge
|
||||||
|
|
||||||
|
dialog = pedalSensor, "Accelerator pedal", border
|
||||||
|
panel = pedalSensorLeft, West
|
||||||
|
panel = pedalGauges, East
|
||||||
|
|
||||||
dialog = mc33Dialog, "GDI Dreams"
|
dialog = mc33Dialog, "GDI Dreams"
|
||||||
field = mc33816_cs, mc33816_cs
|
field = mc33816_cs, mc33816_cs
|
||||||
|
@ -2733,44 +2740,37 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "offset", etb_offset, {throttlePedalPositionAdcChannel != 16}
|
|
||||||
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
||||||
|
|
||||||
|
dialog = etbIdleDialog, "ETB Idle"
|
||||||
|
field = "use ETB for idle", useETBforIdleControl
|
||||||
|
field = "ETB idle maximum angle", etbIdleThrottleRange
|
||||||
|
|
||||||
dialog = etbDialogLeft
|
dialog = etbDialogLeft
|
||||||
field = "https://rusefi.com/s/etb"
|
field = "https://rusefi.com/s/etb"
|
||||||
field = "Detailed status in console", isVerboseETB
|
field = "Detailed status in console", isVerboseETB
|
||||||
field = "Pause ETB control", pauseEtbControl
|
field = "Pause ETB control", pauseEtbControl
|
||||||
field = "Throttle Pedal Up", throttlePedalUpVoltage
|
|
||||||
field = "Throttle Pedal Wide Open", throttlePedalWOTVoltage
|
|
||||||
field = etbCalibrationOnStart, etbCalibrationOnStart
|
field = etbCalibrationOnStart, etbCalibrationOnStart
|
||||||
field = "TPS#2 min", tps2Min, { tps2_1AdcChannel != 16 }
|
|
||||||
field = "TPS#2 max", tps2Max, { tps2_1AdcChannel != 16 }
|
|
||||||
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
||||||
; criteria for the same panel when used in multiple places
|
; criteria for the same panel when used in multiple places
|
||||||
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
||||||
panel = etbPidDialog
|
|
||||||
|
dialog = etbAutotune, "PID Autotune"
|
||||||
|
field = "!Set debug mode below to 'ETB Autotune' to show results"
|
||||||
|
field = "Debug mode", debugMode
|
||||||
|
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
||||||
|
|
||||||
dialog = etbDialogRight
|
dialog = etbDialogRight
|
||||||
field = "!https://rusefi.com/s/debugmode"
|
panel = etbIdleDialog
|
||||||
field = "Neutral Position", etbNeutralPosition
|
panel = etbPidDialog
|
||||||
field = "Debug mode", debugMode
|
panel = etbAutotune
|
||||||
field = "use ETB for idle", useETBforIdleControl
|
|
||||||
field = "ETB idle maximum angle", etbIdleThrottleRange
|
; Neutral position handling not yet implemented!
|
||||||
field = "Press buttons to calibrate sensors"
|
;field = "Neutral Position", etbNeutralPosition
|
||||||
field = "You would have to remove air filter to move throttle manually"
|
|
||||||
commandButton = "TPS#1 closed position", cmd_calibrate_tps_1_closed
|
|
||||||
commandButton = "TPS#1 wide open position", cmd_calibrate_tps_1_wot
|
|
||||||
field = "Not many vehicles have two throttle bodies but some do"
|
|
||||||
commandButton = "TPS#2 closed position", cmd_calibrate_tps_2_closed
|
|
||||||
commandButton = "TPS#2 wide open position", cmd_calibrate_tps_2_wot
|
|
||||||
commandButton = "Pedal Up", cmd_calibrate_pedal_up
|
|
||||||
commandButton = "Pedal Down", cmd_calibrate_pedal_down
|
|
||||||
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
|
||||||
|
|
||||||
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
||||||
topicHelp = "etbHelp"
|
topicHelp = "etbHelp"
|
||||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 19:51:12 EDT 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 21:14:02 EDT 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
@ -1759,8 +1759,8 @@ fileVersion = { 20200310 }
|
||||||
|
|
||||||
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
||||||
columnLabel = "TPS", "duty bias"
|
columnLabel = "TPS", "duty bias"
|
||||||
xAxis = 0, 100, 10
|
xAxis = 0, 50, 11
|
||||||
yAxis = 0, 100, 10
|
yAxis = -40, 40, 9
|
||||||
xBins = etbBiasBins, TPSValue
|
xBins = etbBiasBins, TPSValue
|
||||||
yBins = etbBiasValues
|
yBins = etbBiasValues
|
||||||
gauge = TPSGauge
|
gauge = TPSGauge
|
||||||
|
@ -2892,12 +2892,19 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
||||||
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
||||||
|
|
||||||
dialog = pedalSensor, "Accelerator pedal"
|
dialog = pedalSensorLeft, "Accelerator pedal"
|
||||||
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
||||||
|
field = "Up voltage", throttlePedalUpVoltage
|
||||||
|
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
||||||
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
||||||
field = "Up voltage", throttlePedalUpVoltage
|
|
||||||
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
|
||||||
|
|
||||||
|
dialog = pedalGauges
|
||||||
|
gauge = pedalPositionGauge
|
||||||
|
gauge = rawPpsPrimaryGauge
|
||||||
|
|
||||||
|
dialog = pedalSensor, "Accelerator pedal", border
|
||||||
|
panel = pedalSensorLeft, West
|
||||||
|
panel = pedalGauges, East
|
||||||
|
|
||||||
dialog = mc33Dialog, "GDI Dreams"
|
dialog = mc33Dialog, "GDI Dreams"
|
||||||
field = mc33816_cs, mc33816_cs
|
field = mc33816_cs, mc33816_cs
|
||||||
|
@ -3901,44 +3908,37 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "offset", etb_offset, {throttlePedalPositionAdcChannel != 16}
|
|
||||||
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
||||||
|
|
||||||
|
dialog = etbIdleDialog, "ETB Idle"
|
||||||
|
field = "use ETB for idle", useETBforIdleControl
|
||||||
|
field = "ETB idle maximum angle", etbIdleThrottleRange
|
||||||
|
|
||||||
dialog = etbDialogLeft
|
dialog = etbDialogLeft
|
||||||
field = "https://rusefi.com/s/etb"
|
field = "https://rusefi.com/s/etb"
|
||||||
field = "Detailed status in console", isVerboseETB
|
field = "Detailed status in console", isVerboseETB
|
||||||
field = "Pause ETB control", pauseEtbControl
|
field = "Pause ETB control", pauseEtbControl
|
||||||
field = "Throttle Pedal Up", throttlePedalUpVoltage
|
|
||||||
field = "Throttle Pedal Wide Open", throttlePedalWOTVoltage
|
|
||||||
field = etbCalibrationOnStart, etbCalibrationOnStart
|
field = etbCalibrationOnStart, etbCalibrationOnStart
|
||||||
field = "TPS#2 min", tps2Min, { tps2_1AdcChannel != 16 }
|
|
||||||
field = "TPS#2 max", tps2Max, { tps2_1AdcChannel != 16 }
|
|
||||||
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
||||||
; criteria for the same panel when used in multiple places
|
; criteria for the same panel when used in multiple places
|
||||||
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
||||||
panel = etbPidDialog
|
|
||||||
|
dialog = etbAutotune, "PID Autotune"
|
||||||
|
field = "!Set debug mode below to 'ETB Autotune' to show results"
|
||||||
|
field = "Debug mode", debugMode
|
||||||
|
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
||||||
|
|
||||||
dialog = etbDialogRight
|
dialog = etbDialogRight
|
||||||
field = "!https://rusefi.com/s/debugmode"
|
panel = etbIdleDialog
|
||||||
field = "Neutral Position", etbNeutralPosition
|
panel = etbPidDialog
|
||||||
field = "Debug mode", debugMode
|
panel = etbAutotune
|
||||||
field = "use ETB for idle", useETBforIdleControl
|
|
||||||
field = "ETB idle maximum angle", etbIdleThrottleRange
|
; Neutral position handling not yet implemented!
|
||||||
field = "Press buttons to calibrate sensors"
|
;field = "Neutral Position", etbNeutralPosition
|
||||||
field = "You would have to remove air filter to move throttle manually"
|
|
||||||
commandButton = "TPS#1 closed position", cmd_calibrate_tps_1_closed
|
|
||||||
commandButton = "TPS#1 wide open position", cmd_calibrate_tps_1_wot
|
|
||||||
field = "Not many vehicles have two throttle bodies but some do"
|
|
||||||
commandButton = "TPS#2 closed position", cmd_calibrate_tps_2_closed
|
|
||||||
commandButton = "TPS#2 wide open position", cmd_calibrate_tps_2_wot
|
|
||||||
commandButton = "Pedal Up", cmd_calibrate_pedal_up
|
|
||||||
commandButton = "Pedal Down", cmd_calibrate_pedal_down
|
|
||||||
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
|
||||||
|
|
||||||
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
||||||
topicHelp = "etbHelp"
|
topicHelp = "etbHelp"
|
||||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 19:50:54 EDT 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 21:13:32 EDT 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
@ -1759,8 +1759,8 @@ fileVersion = { 20200310 }
|
||||||
|
|
||||||
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
||||||
columnLabel = "TPS", "duty bias"
|
columnLabel = "TPS", "duty bias"
|
||||||
xAxis = 0, 100, 10
|
xAxis = 0, 50, 11
|
||||||
yAxis = 0, 100, 10
|
yAxis = -40, 40, 9
|
||||||
xBins = etbBiasBins, TPSValue
|
xBins = etbBiasBins, TPSValue
|
||||||
yBins = etbBiasValues
|
yBins = etbBiasValues
|
||||||
gauge = TPSGauge
|
gauge = TPSGauge
|
||||||
|
@ -2884,12 +2884,19 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
||||||
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
||||||
|
|
||||||
dialog = pedalSensor, "Accelerator pedal"
|
dialog = pedalSensorLeft, "Accelerator pedal"
|
||||||
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
||||||
|
field = "Up voltage", throttlePedalUpVoltage
|
||||||
|
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
||||||
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
||||||
field = "Up voltage", throttlePedalUpVoltage
|
|
||||||
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
|
||||||
|
|
||||||
|
dialog = pedalGauges
|
||||||
|
gauge = pedalPositionGauge
|
||||||
|
gauge = rawPpsPrimaryGauge
|
||||||
|
|
||||||
|
dialog = pedalSensor, "Accelerator pedal", border
|
||||||
|
panel = pedalSensorLeft, West
|
||||||
|
panel = pedalGauges, East
|
||||||
|
|
||||||
dialog = mc33Dialog, "GDI Dreams"
|
dialog = mc33Dialog, "GDI Dreams"
|
||||||
field = mc33816_cs, mc33816_cs
|
field = mc33816_cs, mc33816_cs
|
||||||
|
@ -3861,44 +3868,37 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "offset", etb_offset, {throttlePedalPositionAdcChannel != 16}
|
|
||||||
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
||||||
|
|
||||||
|
dialog = etbIdleDialog, "ETB Idle"
|
||||||
|
field = "use ETB for idle", useETBforIdleControl
|
||||||
|
field = "ETB idle maximum angle", etbIdleThrottleRange
|
||||||
|
|
||||||
dialog = etbDialogLeft
|
dialog = etbDialogLeft
|
||||||
field = "https://rusefi.com/s/etb"
|
field = "https://rusefi.com/s/etb"
|
||||||
field = "Detailed status in console", isVerboseETB
|
field = "Detailed status in console", isVerboseETB
|
||||||
field = "Pause ETB control", pauseEtbControl
|
field = "Pause ETB control", pauseEtbControl
|
||||||
field = "Throttle Pedal Up", throttlePedalUpVoltage
|
|
||||||
field = "Throttle Pedal Wide Open", throttlePedalWOTVoltage
|
|
||||||
field = etbCalibrationOnStart, etbCalibrationOnStart
|
field = etbCalibrationOnStart, etbCalibrationOnStart
|
||||||
field = "TPS#2 min", tps2Min, { tps2_1AdcChannel != 16 }
|
|
||||||
field = "TPS#2 max", tps2Max, { tps2_1AdcChannel != 16 }
|
|
||||||
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
||||||
; criteria for the same panel when used in multiple places
|
; criteria for the same panel when used in multiple places
|
||||||
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
||||||
panel = etbPidDialog
|
|
||||||
|
dialog = etbAutotune, "PID Autotune"
|
||||||
|
field = "!Set debug mode below to 'ETB Autotune' to show results"
|
||||||
|
field = "Debug mode", debugMode
|
||||||
|
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
||||||
|
|
||||||
dialog = etbDialogRight
|
dialog = etbDialogRight
|
||||||
field = "!https://rusefi.com/s/debugmode"
|
panel = etbIdleDialog
|
||||||
field = "Neutral Position", etbNeutralPosition
|
panel = etbPidDialog
|
||||||
field = "Debug mode", debugMode
|
panel = etbAutotune
|
||||||
field = "use ETB for idle", useETBforIdleControl
|
|
||||||
field = "ETB idle maximum angle", etbIdleThrottleRange
|
; Neutral position handling not yet implemented!
|
||||||
field = "Press buttons to calibrate sensors"
|
;field = "Neutral Position", etbNeutralPosition
|
||||||
field = "You would have to remove air filter to move throttle manually"
|
|
||||||
commandButton = "TPS#1 closed position", cmd_calibrate_tps_1_closed
|
|
||||||
commandButton = "TPS#1 wide open position", cmd_calibrate_tps_1_wot
|
|
||||||
field = "Not many vehicles have two throttle bodies but some do"
|
|
||||||
commandButton = "TPS#2 closed position", cmd_calibrate_tps_2_closed
|
|
||||||
commandButton = "TPS#2 wide open position", cmd_calibrate_tps_2_wot
|
|
||||||
commandButton = "Pedal Up", cmd_calibrate_pedal_up
|
|
||||||
commandButton = "Pedal Down", cmd_calibrate_pedal_down
|
|
||||||
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
|
||||||
|
|
||||||
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
||||||
topicHelp = "etbHelp"
|
topicHelp = "etbHelp"
|
||||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 19:51:15 EDT 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 21:14:11 EDT 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
@ -1759,8 +1759,8 @@ fileVersion = { 20200310 }
|
||||||
|
|
||||||
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
||||||
columnLabel = "TPS", "duty bias"
|
columnLabel = "TPS", "duty bias"
|
||||||
xAxis = 0, 100, 10
|
xAxis = 0, 50, 11
|
||||||
yAxis = 0, 100, 10
|
yAxis = -40, 40, 9
|
||||||
xBins = etbBiasBins, TPSValue
|
xBins = etbBiasBins, TPSValue
|
||||||
yBins = etbBiasValues
|
yBins = etbBiasValues
|
||||||
gauge = TPSGauge
|
gauge = TPSGauge
|
||||||
|
@ -2888,12 +2888,19 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
||||||
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
||||||
|
|
||||||
dialog = pedalSensor, "Accelerator pedal"
|
dialog = pedalSensorLeft, "Accelerator pedal"
|
||||||
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
||||||
|
field = "Up voltage", throttlePedalUpVoltage
|
||||||
|
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
||||||
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
||||||
field = "Up voltage", throttlePedalUpVoltage
|
|
||||||
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
|
||||||
|
|
||||||
|
dialog = pedalGauges
|
||||||
|
gauge = pedalPositionGauge
|
||||||
|
gauge = rawPpsPrimaryGauge
|
||||||
|
|
||||||
|
dialog = pedalSensor, "Accelerator pedal", border
|
||||||
|
panel = pedalSensorLeft, West
|
||||||
|
panel = pedalGauges, East
|
||||||
|
|
||||||
dialog = mc33Dialog, "GDI Dreams"
|
dialog = mc33Dialog, "GDI Dreams"
|
||||||
field = mc33816_cs, mc33816_cs
|
field = mc33816_cs, mc33816_cs
|
||||||
|
@ -3897,44 +3904,37 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "offset", etb_offset, {throttlePedalPositionAdcChannel != 16}
|
|
||||||
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
||||||
|
|
||||||
|
dialog = etbIdleDialog, "ETB Idle"
|
||||||
|
field = "use ETB for idle", useETBforIdleControl
|
||||||
|
field = "ETB idle maximum angle", etbIdleThrottleRange
|
||||||
|
|
||||||
dialog = etbDialogLeft
|
dialog = etbDialogLeft
|
||||||
field = "https://rusefi.com/s/etb"
|
field = "https://rusefi.com/s/etb"
|
||||||
field = "Detailed status in console", isVerboseETB
|
field = "Detailed status in console", isVerboseETB
|
||||||
field = "Pause ETB control", pauseEtbControl
|
field = "Pause ETB control", pauseEtbControl
|
||||||
field = "Throttle Pedal Up", throttlePedalUpVoltage
|
|
||||||
field = "Throttle Pedal Wide Open", throttlePedalWOTVoltage
|
|
||||||
field = etbCalibrationOnStart, etbCalibrationOnStart
|
field = etbCalibrationOnStart, etbCalibrationOnStart
|
||||||
field = "TPS#2 min", tps2Min, { tps2_1AdcChannel != 16 }
|
|
||||||
field = "TPS#2 max", tps2Max, { tps2_1AdcChannel != 16 }
|
|
||||||
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
||||||
; criteria for the same panel when used in multiple places
|
; criteria for the same panel when used in multiple places
|
||||||
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
||||||
panel = etbPidDialog
|
|
||||||
|
dialog = etbAutotune, "PID Autotune"
|
||||||
|
field = "!Set debug mode below to 'ETB Autotune' to show results"
|
||||||
|
field = "Debug mode", debugMode
|
||||||
|
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
||||||
|
|
||||||
dialog = etbDialogRight
|
dialog = etbDialogRight
|
||||||
field = "!https://rusefi.com/s/debugmode"
|
panel = etbIdleDialog
|
||||||
field = "Neutral Position", etbNeutralPosition
|
panel = etbPidDialog
|
||||||
field = "Debug mode", debugMode
|
panel = etbAutotune
|
||||||
field = "use ETB for idle", useETBforIdleControl
|
|
||||||
field = "ETB idle maximum angle", etbIdleThrottleRange
|
; Neutral position handling not yet implemented!
|
||||||
field = "Press buttons to calibrate sensors"
|
;field = "Neutral Position", etbNeutralPosition
|
||||||
field = "You would have to remove air filter to move throttle manually"
|
|
||||||
commandButton = "TPS#1 closed position", cmd_calibrate_tps_1_closed
|
|
||||||
commandButton = "TPS#1 wide open position", cmd_calibrate_tps_1_wot
|
|
||||||
field = "Not many vehicles have two throttle bodies but some do"
|
|
||||||
commandButton = "TPS#2 closed position", cmd_calibrate_tps_2_closed
|
|
||||||
commandButton = "TPS#2 wide open position", cmd_calibrate_tps_2_wot
|
|
||||||
commandButton = "Pedal Up", cmd_calibrate_pedal_up
|
|
||||||
commandButton = "Pedal Down", cmd_calibrate_pedal_down
|
|
||||||
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
|
||||||
|
|
||||||
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
||||||
topicHelp = "etbHelp"
|
topicHelp = "etbHelp"
|
||||||
|
|
|
@ -89,7 +89,7 @@ enable2ndByteCanID = false
|
||||||
|
|
||||||
; see PAGE_0_SIZE in C source code
|
; see PAGE_0_SIZE in C source code
|
||||||
; CONFIG_DEFINITION_START
|
; CONFIG_DEFINITION_START
|
||||||
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 19:51:17 EDT 2020
|
; this section was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.bat integration\rusefi_config.txt Wed Apr 22 21:14:49 EDT 2020
|
||||||
|
|
||||||
pageSize = 20000
|
pageSize = 20000
|
||||||
page = 1
|
page = 1
|
||||||
|
@ -1759,8 +1759,8 @@ fileVersion = { 20200310 }
|
||||||
|
|
||||||
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
||||||
columnLabel = "TPS", "duty bias"
|
columnLabel = "TPS", "duty bias"
|
||||||
xAxis = 0, 100, 10
|
xAxis = 0, 50, 11
|
||||||
yAxis = 0, 100, 10
|
yAxis = -40, 40, 9
|
||||||
xBins = etbBiasBins, TPSValue
|
xBins = etbBiasBins, TPSValue
|
||||||
yBins = etbBiasValues
|
yBins = etbBiasValues
|
||||||
gauge = TPSGauge
|
gauge = TPSGauge
|
||||||
|
@ -2884,12 +2884,19 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
|
||||||
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
|
||||||
|
|
||||||
dialog = pedalSensor, "Accelerator pedal"
|
dialog = pedalSensorLeft, "Accelerator pedal"
|
||||||
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
||||||
|
field = "Up voltage", throttlePedalUpVoltage
|
||||||
|
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
||||||
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
||||||
field = "Up voltage", throttlePedalUpVoltage
|
|
||||||
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
|
||||||
|
|
||||||
|
dialog = pedalGauges
|
||||||
|
gauge = pedalPositionGauge
|
||||||
|
gauge = rawPpsPrimaryGauge
|
||||||
|
|
||||||
|
dialog = pedalSensor, "Accelerator pedal", border
|
||||||
|
panel = pedalSensorLeft, West
|
||||||
|
panel = pedalGauges, East
|
||||||
|
|
||||||
dialog = mc33Dialog, "GDI Dreams"
|
dialog = mc33Dialog, "GDI Dreams"
|
||||||
field = mc33816_cs, mc33816_cs
|
field = mc33816_cs, mc33816_cs
|
||||||
|
@ -3869,44 +3876,37 @@ cmd_set_engine_type_default = "w\x00\x31\x00\x00"
|
||||||
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "offset", etb_offset, {throttlePedalPositionAdcChannel != 16}
|
|
||||||
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
|
||||||
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
|
||||||
|
|
||||||
|
dialog = etbIdleDialog, "ETB Idle"
|
||||||
|
field = "use ETB for idle", useETBforIdleControl
|
||||||
|
field = "ETB idle maximum angle", etbIdleThrottleRange
|
||||||
|
|
||||||
dialog = etbDialogLeft
|
dialog = etbDialogLeft
|
||||||
field = "https://rusefi.com/s/etb"
|
field = "https://rusefi.com/s/etb"
|
||||||
field = "Detailed status in console", isVerboseETB
|
field = "Detailed status in console", isVerboseETB
|
||||||
field = "Pause ETB control", pauseEtbControl
|
field = "Pause ETB control", pauseEtbControl
|
||||||
field = "Throttle Pedal Up", throttlePedalUpVoltage
|
|
||||||
field = "Throttle Pedal Wide Open", throttlePedalWOTVoltage
|
|
||||||
field = etbCalibrationOnStart, etbCalibrationOnStart
|
field = etbCalibrationOnStart, etbCalibrationOnStart
|
||||||
field = "TPS#2 min", tps2Min, { tps2_1AdcChannel != 16 }
|
|
||||||
field = "TPS#2 max", tps2Max, { tps2_1AdcChannel != 16 }
|
|
||||||
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
|
||||||
; criteria for the same panel when used in multiple places
|
; criteria for the same panel when used in multiple places
|
||||||
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
|
||||||
panel = etbPidDialog
|
|
||||||
|
dialog = etbAutotune, "PID Autotune"
|
||||||
|
field = "!Set debug mode below to 'ETB Autotune' to show results"
|
||||||
|
field = "Debug mode", debugMode
|
||||||
|
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
||||||
|
|
||||||
dialog = etbDialogRight
|
dialog = etbDialogRight
|
||||||
field = "!https://rusefi.com/s/debugmode"
|
panel = etbIdleDialog
|
||||||
field = "Neutral Position", etbNeutralPosition
|
panel = etbPidDialog
|
||||||
field = "Debug mode", debugMode
|
panel = etbAutotune
|
||||||
field = "use ETB for idle", useETBforIdleControl
|
|
||||||
field = "ETB idle maximum angle", etbIdleThrottleRange
|
; Neutral position handling not yet implemented!
|
||||||
field = "Press buttons to calibrate sensors"
|
;field = "Neutral Position", etbNeutralPosition
|
||||||
field = "You would have to remove air filter to move throttle manually"
|
|
||||||
commandButton = "TPS#1 closed position", cmd_calibrate_tps_1_closed
|
|
||||||
commandButton = "TPS#1 wide open position", cmd_calibrate_tps_1_wot
|
|
||||||
field = "Not many vehicles have two throttle bodies but some do"
|
|
||||||
commandButton = "TPS#2 closed position", cmd_calibrate_tps_2_closed
|
|
||||||
commandButton = "TPS#2 wide open position", cmd_calibrate_tps_2_wot
|
|
||||||
commandButton = "Pedal Up", cmd_calibrate_pedal_up
|
|
||||||
commandButton = "Pedal Down", cmd_calibrate_pedal_down
|
|
||||||
commandButton = "ETB PID Autotune", cmd_etb_autotune
|
|
||||||
|
|
||||||
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
||||||
topicHelp = "etbHelp"
|
topicHelp = "etbHelp"
|
||||||
|
|
Loading…
Reference in New Issue