disable compressor on out-of-bounds A/C pressure #6570
This commit is contained in:
parent
01d2e9dbd5
commit
8b63e9e9e9
|
@ -7,6 +7,8 @@
|
||||||
static Deadband<200> maxRpmDeadband;
|
static Deadband<200> maxRpmDeadband;
|
||||||
static Deadband<5> maxCltDeadband;
|
static Deadband<5> maxCltDeadband;
|
||||||
static Deadband<5> maxTpsDeadband;
|
static Deadband<5> maxTpsDeadband;
|
||||||
|
static Deadband<5> minPressureDeadband;
|
||||||
|
static Deadband<5> maxPressureDeadband;
|
||||||
|
|
||||||
bool AcController::getAcState() {
|
bool AcController::getAcState() {
|
||||||
latest_usage_ac_control = getTimeNowS();
|
latest_usage_ac_control = getTimeNowS();
|
||||||
|
@ -45,6 +47,22 @@ bool AcController::getAcState() {
|
||||||
if (tpsTooHigh) {
|
if (tpsTooHigh) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const auto acPressure= Sensor::get(SensorType::AcPressure);
|
||||||
|
if (acPressure.Valid) {
|
||||||
|
const auto minAcPressure = static_cast<float>(engineConfiguration->minAcPressure);
|
||||||
|
acPressureTooLow = minPressureDeadband.lt(acPressure.Value, minAcPressure);
|
||||||
|
if (acPressureTooLow) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto maxAcPressure = static_cast<float>(engineConfiguration->maxAcPressure);
|
||||||
|
acPressureTooHigh = maxPressureDeadband.gt(acPressure.Value, maxAcPressure);
|
||||||
|
if (acPressureTooHigh) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isDisabledByLua) {
|
if (isDisabledByLua) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,8 @@ bit engineTooHot;AC engine too hot
|
||||||
bit tpsTooHigh;AC tps too high
|
bit tpsTooHigh;AC tps too high
|
||||||
bit isDisabledByLua;AC disabled by Lua
|
bit isDisabledByLua;AC disabled by Lua
|
||||||
bit acCompressorState;AC compressor on
|
bit acCompressorState;AC compressor on
|
||||||
|
bit acPressureTooLow;AC pressure too low
|
||||||
|
bit acPressureTooHigh;AC pressure too high
|
||||||
|
|
||||||
int latest_usage_ac_control;AC latest activity
|
int latest_usage_ac_control;AC latest activity
|
||||||
! todo: extract some helper which would contain boolean state and most recent toggle time?
|
! todo: extract some helper which would contain boolean state and most recent toggle time?
|
||||||
|
|
Loading…
Reference in New Issue