55 if (!tps.Valid || !vss.Valid) {
62 if (vss.Value > lockSpeed) {
66 }
else if (vss.Value < unlockSpeed) {
SingleTimerExecutor scheduler
OutputPin tcuTccOnoffSolenoid
void setTccState(gear_e gear)
void setPcState(gear_e gear)
void initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e outputMode, bool forceInitWithFatalError=false)
void setValue(const char *msg, int logicValue, bool isForce=false)
virtual SensorResult get() const =0
void setSimplePwmDutyCycle(float dutyCycle) override
virtual gear_e getCurrentGear() const
void measureShiftTime(gear_e)
virtual gear_e setCurrentGear(gear_e)
static EngineAccessor engine
static constexpr persistent_config_s * config
static constexpr engine_configuration_s * engineConfiguration
void startSimplePwm(SimplePwm *state, const char *msg, Scheduler *executor, OutputPin *output, float frequency, float dutyCycle, pwm_gen_callback *callback)
output_pin_e tcu_tcc_onoff_solenoid
pwm_freq_t tcu_pc_solenoid_freq
output_pin_e tcu_pc_solenoid_pin
pin_output_mode_e tcu_pc_solenoid_pin_mode
pin_output_mode_e tcu_tcc_onoff_solenoid_mode
uint8_t tcu_tccUnlockSpeed[8]
uint8_t tcu_pcVals4[TCU_TABLE_WIDTH]
uint8_t tcu_pcVals23[TCU_TABLE_WIDTH]
scaled_channel< uint8_t, 1, 5 > tcu_pcAirmassBins[TCU_TABLE_WIDTH]
uint8_t tcu_pcValsN[TCU_TABLE_WIDTH]
uint8_t tcu_pcVals1[TCU_TABLE_WIDTH]
uint8_t tcu_pcVals34[TCU_TABLE_WIDTH]
uint8_t tcu_tccTpsBins[8]
uint8_t tcu_pcVals21[TCU_TABLE_WIDTH]
uint8_t tcu_pcVals3[TCU_TABLE_WIDTH]
uint8_t tcu_pcVals32[TCU_TABLE_WIDTH]
uint8_t tcu_tccLockSpeed[8]
uint8_t tcu_pcVals2[TCU_TABLE_WIDTH]
uint8_t tcu_pcVals43[TCU_TABLE_WIDTH]
uint8_t tcu_pcValsR[TCU_TABLE_WIDTH]
uint8_t tcu_pcVals12[TCU_TABLE_WIDTH]
int8_t pressureControlDuty
int8_t torqueConverterDuty
Generic4TransmissionController generic4TransmissionController
Generic4TransmissionController * getGeneric4TransmissionController()
static SimplePwm pcPwm("Pressure Control")