36 result = interpolate3d(
47 case TORQUE_REDUCTION_BUTTON: {
65 case TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH: {
74 case TORQUE_REDUCTION_CLUTCH_UP_SWITCH: {
100 const bool invertPhysicalPin,
101 const bool invalidPinState
130 auto torqueReductionTime = interpolate3d(
138 ((0.0f < torqueReductionTime)
152 if (currentApp.Valid) {
164 return interpolate3d(
virtual SensorResult get() const =0
static float getOrZero(SensorType type)
Timer m_pinTriggeredTimer
void updateTriggerPinState()
float getSparkSkipRatio()
void updateTimeConditionSatisfied()
void updateAppConditionSatisfied()
float getTorqueReductionIgnitionRetard()
void updateRpmConditionSatisfied()
static EngineAccessor engine
static constexpr persistent_config_s * config
static constexpr engine_configuration_s * engineConfiguration
One header which acts as gateway to current engine state.
expected< float > readGppwmChannel(gppwm_channel_e channel)
bool efiReadPin(brain_pin_e pin)
bool isBrainPinValid(brain_pin_e brainPin)
expected< float > SensorResult
static bool isShiftTorqueBelowTemperatureThreshold()
bool torqueReductionState
pin_input_mode_e clutchDownPinMode
switch_input_pin_e clutchUpPin
torqueReductionActivationMode_e torqueReductionActivationMode
int8_t torqueReductionActivationTemperature
pin_input_mode_e torqueReductionTriggerPinMode
int torqueReductionArmingApp
pin_input_mode_e clutchUpPinMode
switch_input_pin_e clutchDownPin
bool limitTorqueReductionTime
switch_input_pin_e launchActivatePin
switch_input_pin_e torqueReductionTriggerPin
pin_input_mode_e launchActivatePinMode
bool torqueReductionEnabled
uint16_t torqueReductionArmingRpm
int8_t torqueReductionCutGearBins[TORQUE_TABLE_Y_SIZE]
gppwm_channel_e torqueReductionTimeXaxis
float torqueReductionTimeTable[TORQUE_TABLE_Y_SIZE][TORQUE_TABLE_X_SIZE]
float torqueReductionIgnitionRetardTable[TORQUE_TABLE_Y_SIZE][TORQUE_TABLE_X_SIZE]
int16_t torqueReductionIgnitionRetardXBins[TORQUE_TABLE_X_SIZE]
int16_t torqueReductionCutXBins[TORQUE_TABLE_X_SIZE]
gppwm_channel_e torqueReductionCutXaxis
int16_t torqueReductionTimeXBins[TORQUE_TABLE_X_SIZE]
int8_t torqueReductionIgnitionRetardGearBins[TORQUE_TABLE_Y_SIZE]
int8_t torqueReductionIgnitionCutTable[TORQUE_TABLE_Y_SIZE][TORQUE_TABLE_X_SIZE]
gppwm_channel_e torqueReductionIgnitionRetardXaxis
int8_t torqueReductionTimeGearBins[TORQUE_TABLE_Y_SIZE]
bool isFlatShiftConditionSatisfied
bool torqueReductionTriggerPinState
bool isRpmConditionSatisfied
int16_t trqRedTimeXaxisValue
bool isBelowTemperatureThreshold
bool isAppConditionSatisfied
bool isTorqueReductionTriggerPinValid
bool isTimeConditionSatisfied
int16_t trqRedIgnRetXaxisValue
int16_t trqRedCutXaxisValue
Tiny Mersenne Twister only 127 bit internal state.