usability progress: conditional ETB button enable. TODO: make logic consistent with other instances of same buttons
This commit is contained in:
parent
dfa70d0d9e
commit
3375648612
|
@ -941,7 +941,7 @@ static pid_s* getEtbPidForFunction(etb_function_e function) {
|
|||
|
||||
void doInitElectronicThrottle() {
|
||||
bool shouldInitThrottles = Sensor::hasSensor(SensorType::AcceleratorPedalPrimary);
|
||||
bool anyEtbConfigured = false;
|
||||
engineConfiguration->etb1configured = engineConfiguration->etb2configured = false;
|
||||
|
||||
// todo: technical debt: we still have DC motor code initialization in ETB-specific file while DC motors are used not just as ETB
|
||||
// todo: rename etbFunctions to something-without-etb for same reason?
|
||||
|
@ -960,10 +960,15 @@ void doInitElectronicThrottle() {
|
|||
|
||||
auto pid = getEtbPidForFunction(func);
|
||||
|
||||
anyEtbConfigured |= controller->init(func, motor, pid, &pedal2tpsMap, shouldInitThrottles);
|
||||
bool etbConfigured = controller->init(func, motor, pid, &pedal2tpsMap, shouldInitThrottles);
|
||||
if (i == 0) {
|
||||
engineConfiguration->etb1configured = etbConfigured;
|
||||
} else if (i == 1) {
|
||||
engineConfiguration->etb2configured = etbConfigured;
|
||||
}
|
||||
}
|
||||
|
||||
if (!anyEtbConfigured) {
|
||||
if (!engineConfiguration->etb1configured && !engineConfiguration->etb2configured) {
|
||||
// It's not valid to have a PPS without any ETBs - check that at least one ETB was enabled along with the pedal
|
||||
if (shouldInitThrottles) {
|
||||
firmwareError(OBD_PCM_Processor_Fault, "A pedal position sensor was configured, but no electronic throttles are configured.");
|
||||
|
|
|
@ -767,9 +767,9 @@ bit is_enabled_spi_2
|
|||
bit useLcdScreen
|
||||
bit verboseTLE8888
|
||||
bit enableVerboseCanTx;CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast
|
||||
bit unusedAlteOnOff
|
||||
bit etb1configured
|
||||
bit isCJ125Enabled;enable cj125/disable cj125
|
||||
bit unused764b17
|
||||
bit etb2configured
|
||||
bit measureMapOnlyInOneCylinder;Useful for individual intakes
|
||||
bit stepperForceParkingEveryRestart
|
||||
bit isFasterEngineSpinUpEnabled;If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled.
|
||||
|
|
|
@ -3885,11 +3885,11 @@ dialog = tcuControls, "Transmission Settings"
|
|||
|
||||
dialog = etbAutotune, "PID Autotune"
|
||||
field = "First step: calibrate TPS and hit 'Burn'"
|
||||
commandButton = "Auto Calibrate ETB 1", cmb_etb_auto_calibrate
|
||||
commandButton = "Auto Calibrate ETB 2", cmb_etb_auto_calibrate_2
|
||||
commandButton = "Auto Calibrate ETB 1", cmb_etb_auto_calibrate, { etb1configured == 1}
|
||||
commandButton = "Auto Calibrate ETB 2", cmb_etb_auto_calibrate_2, { etb2configured == 1}
|
||||
field = "Second step"
|
||||
commandButton = "Start ETB PID Autotune", cmd_etb_autotune
|
||||
commandButton = "Stop ETB PID Autotune", cmd_etb_autotune_stop
|
||||
commandButton = "Start ETB PID Autotune", cmd_etb_autotune, { etb1configured == 1 || etb2configured == 1 }
|
||||
commandButton = "Stop ETB PID Autotune", cmd_etb_autotune_stop, { etb1configured == 1 || etb2configured == 1 }
|
||||
|
||||
field = "!Set debug mode below to 'ETB Autotune' to show more detail"
|
||||
field = "Debug mode", debugMode
|
||||
|
|
Loading…
Reference in New Issue