rusEFI
The most advanced open source ECU
|
#include <limp_manager.h>
Public Member Functions | |
void | updateState (float rpm, efitick_t nowNt) |
void | onFastCallback () override |
void | onIgnitionStateChanged (bool ignitionOn) override |
bool | allowElectronicThrottle () const |
LimpState | allowInjection () const |
LimpState | allowIgnition () const |
float | getTimeSinceAnyCut () const |
bool | allowTriggerInput () const |
void | updateRevLimit (float rpm) |
angle_t | getLimitingTimingRetard () const |
float | getLimitingFuelCorrection () const |
void | reportEtbProblem () |
void | fatalError () |
Public Member Functions inherited from EngineModule | |
virtual void | onConfigurationChange (engine_configuration_s const *) |
virtual void | onSlowCallback () |
virtual bool | needsDelayedShutoff () |
Data Fields | |
ShutdownController | shutdownController |
Timer | externalGdiCanBusComms |
Private Member Functions | |
void | setFaultRevLimit (int limit, ClearReason rpmLimitReason) |
Private Attributes | |
Hysteresis | m_revLimitHysteresis |
MaxLimitWithHysteresis | m_boostCutHysteresis |
Hysteresis | m_injectorDutyCutHysteresis |
int32_t | m_faultRevLimit = INT32_MAX |
Clearable | m_allowEtb |
Clearable | m_allowInjection |
Clearable | m_allowIgnition |
Clearable | m_allowTriggerInput |
Clearable | m_transientAllowInjection = true |
Clearable | m_transientAllowIgnition = true |
bool | m_hadOilPressureAfterStart = false |
bool | m_ignitionOn = false |
angle_t | m_timingRetard = 0 |
float | m_fuelCorrection = 1.0f |
float | m_revLimit |
ClearReason | m_rpmLimitReason = ClearReason::None |
float | resumeRpm |
Timer | m_lastCutTime |
Timer | m_injectorDutySustainedTimer |
Timer | m_lowOilPressureTimer |
Definition at line 88 of file limp_manager.h.
bool LimpManager::allowElectronicThrottle | ( | ) | const |
Definition at line 274 of file limp_manager.cpp.
Referenced by EtbController::setOutput().
LimpState LimpManager::allowIgnition | ( | ) | const |
Definition at line 293 of file limp_manager.cpp.
Referenced by onTriggerEventSparkLogic().
LimpState LimpManager::allowInjection | ( | ) | const |
Definition at line 283 of file limp_manager.cpp.
Referenced by handleFuel().
bool LimpManager::allowTriggerInput | ( | ) | const |
Definition at line 279 of file limp_manager.cpp.
Referenced by handleShaftSignal().
void LimpManager::fatalError | ( | ) |
Definition at line 255 of file limp_manager.cpp.
Referenced by firmwareError().
float LimpManager::getLimitingFuelCorrection | ( | ) | const |
Definition at line 309 of file limp_manager.cpp.
Referenced by getRunningFuel().
angle_t LimpManager::getLimitingTimingRetard | ( | ) | const |
Definition at line 303 of file limp_manager.cpp.
Referenced by EngineState::periodicFastCallback().
float LimpManager::getTimeSinceAnyCut | ( | ) | const |
Definition at line 315 of file limp_manager.cpp.
|
overridevirtual |
Reimplemented from EngineModule.
Definition at line 35 of file limp_manager.cpp.
Referenced by TriggerCentral::decodeMapCam().
|
overridevirtual |
Reimplemented from EngineModule.
Definition at line 246 of file limp_manager.cpp.
void LimpManager::reportEtbProblem | ( | ) |
Definition at line 250 of file limp_manager.cpp.
Referenced by EtbController::checkJam().
|
private |
Definition at line 264 of file limp_manager.cpp.
Referenced by fatalError(), and reportEtbProblem().
void LimpManager::updateRevLimit | ( | float | rpm | ) |
Definition at line 39 of file limp_manager.cpp.
Referenced by EngineState::periodicFastCallback(), and updateState().
void LimpManager::updateState | ( | float | rpm, |
efitick_t | nowNt | ||
) |
todo: we need explicit clarification on why do we cut fuel but do not cut spark here!
Definition at line 54 of file limp_manager.cpp.
Referenced by onFastCallback().
Timer LimpManager::externalGdiCanBusComms |
Definition at line 115 of file limp_manager.h.
Referenced by processCanRxMessage(), and updateState().
|
private |
Definition at line 127 of file limp_manager.h.
Referenced by allowElectronicThrottle(), fatalError(), and reportEtbProblem().
|
private |
Definition at line 129 of file limp_manager.h.
Referenced by allowIgnition(), and fatalError().
|
private |
Definition at line 128 of file limp_manager.h.
Referenced by allowInjection(), and fatalError().
|
private |
Definition at line 130 of file limp_manager.h.
Referenced by allowTriggerInput(), and fatalError().
|
private |
Definition at line 121 of file limp_manager.h.
Referenced by updateState().
|
private |
Definition at line 125 of file limp_manager.h.
Referenced by setFaultRevLimit(), and updateState().
|
private |
Definition at line 141 of file limp_manager.h.
Referenced by getLimitingFuelCorrection(), and updateRevLimit().
|
private |
Definition at line 135 of file limp_manager.h.
Referenced by updateState().
|
private |
Definition at line 138 of file limp_manager.h.
Referenced by onIgnitionStateChanged(), and updateState().
|
private |
Definition at line 122 of file limp_manager.h.
Referenced by updateState().
|
private |
Definition at line 152 of file limp_manager.h.
Referenced by updateState().
|
private |
Definition at line 149 of file limp_manager.h.
Referenced by getTimeSinceAnyCut(), and updateState().
|
private |
Definition at line 155 of file limp_manager.h.
Referenced by updateState().
|
private |
Definition at line 144 of file limp_manager.h.
Referenced by updateRevLimit(), and updateState().
|
private |
Definition at line 120 of file limp_manager.h.
Referenced by updateState().
|
private |
Definition at line 145 of file limp_manager.h.
Referenced by setFaultRevLimit(), and updateState().
|
private |
Definition at line 140 of file limp_manager.h.
Referenced by getLimitingTimingRetard(), and updateRevLimit().
|
private |
Definition at line 133 of file limp_manager.h.
Referenced by allowIgnition(), and updateState().
|
private |
Definition at line 132 of file limp_manager.h.
Referenced by allowInjection(), and updateState().
|
private |
Definition at line 146 of file limp_manager.h.
Referenced by updateRevLimit(), and updateState().
ShutdownController LimpManager::shutdownController |
Definition at line 90 of file limp_manager.h.
Referenced by configureRusefiLuaHooks(), doScheduleStopEngine(), and updateState().