io_pins: less hacky way of migration from Inverted to Mode

This commit is contained in:
Andrey Gusakov 2025-02-11 20:02:09 +03:00 committed by rusefillc
parent d3ea84430a
commit c001f06391
2 changed files with 10 additions and 11 deletions

View File

@ -38,7 +38,8 @@ void ShiftTorqueReductionController::updateTriggerPinState() {
case TORQUE_REDUCTION_BUTTON: {
updateTriggerPinState(
engineConfiguration->torqueReductionTriggerPin,
engineConfiguration->torqueReductionTriggerPinInverted,
// hack until Inverted merged into Mode
engineConfiguration->torqueReductionTriggerPinInverted ? PI_INVERTED_DEFAULT : PI_DEFAULT,
engine->engineState.lua.torqueReductionState
);
break;
@ -46,7 +47,8 @@ void ShiftTorqueReductionController::updateTriggerPinState() {
case LAUNCH_BUTTON: {
updateTriggerPinState(
engineConfiguration->launchActivatePin,
engineConfiguration->launchActivateInverted,
// hack until Inverted merged into Mode
engineConfiguration->launchActivateInverted ? PI_INVERTED_DEFAULT : PI_DEFAULT,
false
);
break;
@ -54,11 +56,7 @@ void ShiftTorqueReductionController::updateTriggerPinState() {
case TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH: {
updateTriggerPinState(
engineConfiguration->clutchDownPin,
#if !EFI_SIMULATOR
efiIsInputPinInverted(engineConfiguration->clutchDownPinMode),
#else
false,
#endif
engineConfiguration->clutchDownPinMode,
engine->engineState.lua.clutchDownState
);
break;
@ -66,7 +64,8 @@ void ShiftTorqueReductionController::updateTriggerPinState() {
case TORQUE_REDUCTION_CLUTCH_UP_SWITCH: {
updateTriggerPinState(
engineConfiguration->clutchUpPin,
engineConfiguration->clutchUpPinInverted,
// hack until Inverted merged into Mode
engineConfiguration->clutchUpPinInverted ? PI_INVERTED_DEFAULT : PI_DEFAULT,
engine->engineState.lua.clutchUpState
);
break;
@ -79,14 +78,14 @@ void ShiftTorqueReductionController::updateTriggerPinState() {
void ShiftTorqueReductionController::updateTriggerPinState(
const switch_input_pin_e pin,
const bool isPinInverted,
const pin_input_mode_e mode,
const bool invalidPinState
) {
#if !EFI_SIMULATOR
isTorqueReductionTriggerPinValid = isBrainPinValid(pin);
const bool previousTorqueReductionTriggerPinState = torqueReductionTriggerPinState;
if (isTorqueReductionTriggerPinValid) {
torqueReductionTriggerPinState = isPinInverted ^ efiReadPin(pin);
torqueReductionTriggerPinState = efiReadPin(pin, mode);
} else {
torqueReductionTriggerPinState = invalidPinState;
}

View File

@ -13,7 +13,7 @@ public:
float getSparkSkipRatio() const;
private:
void updateTriggerPinState();
void updateTriggerPinState(switch_input_pin_e pin, bool isPinInverted, bool invalidPinState);
void updateTriggerPinState(switch_input_pin_e pin, pin_input_mode_e mode, bool invalidPinState);
void updateTimeConditionSatisfied();
void updateRpmConditionSatisfied();