mirror of https://github.com/FOME-Tech/fome-fw.git
cisnan -> std::isnan
This commit is contained in:
parent
28cc1f2ede
commit
aa5ea293e6
|
@ -132,7 +132,7 @@ GppwmResult GppwmChannel::getOutput() const {
|
|||
|
||||
float resultVal = m_table->getValue(xAxisValue.Value, yAxisValue.Value);
|
||||
|
||||
if (cisnan(result.Result)) {
|
||||
if (std::isnan(result.Result)) {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ static angle_t getRunningAdvance(int rpm, float engineLoad) {
|
|||
return engineConfiguration->fixedTiming;
|
||||
}
|
||||
|
||||
if (cisnan(engineLoad)) {
|
||||
if (std::isnan(engineLoad)) {
|
||||
warning(ObdCode::CUSTOM_NAN_ENGINE_LOAD, "NaN engine load");
|
||||
return NAN;
|
||||
}
|
||||
|
@ -154,7 +154,7 @@ static angle_t getCrankingAdvance(int rpm, float engineLoad) {
|
|||
|
||||
angle_t getAdvance(int rpm, float engineLoad) {
|
||||
#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT
|
||||
if (cisnan(engineLoad)) {
|
||||
if (std::isnan(engineLoad)) {
|
||||
return 0; // any error should already be reported
|
||||
}
|
||||
|
||||
|
@ -164,11 +164,11 @@ angle_t getAdvance(int rpm, float engineLoad) {
|
|||
if (isCranking) {
|
||||
angle = getCrankingAdvance(rpm, engineLoad);
|
||||
assertAngleRange(angle, "crAngle", ObdCode::CUSTOM_ERR_ANGLE_CR);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(angle), "cr_AngleN", 0);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !std::isnan(angle), "cr_AngleN", 0);
|
||||
} else {
|
||||
angle = getRunningAdvance(rpm, engineLoad);
|
||||
|
||||
if (cisnan(angle)) {
|
||||
if (std::isnan(angle)) {
|
||||
warning(ObdCode::CUSTOM_ERR_6610, "NaN angle from table");
|
||||
return 0;
|
||||
}
|
||||
|
@ -181,12 +181,12 @@ angle_t getAdvance(int rpm, float engineLoad) {
|
|||
|
||||
if (allowCorrections) {
|
||||
angle_t correction = getAdvanceCorrections(engineLoad);
|
||||
if (!cisnan(correction)) { // correction could be NaN during settings update
|
||||
if (!std::isnan(correction)) { // correction could be NaN during settings update
|
||||
angle += correction;
|
||||
}
|
||||
}
|
||||
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(angle), "_AngleN5", 0);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !std::isnan(angle), "_AngleN5", 0);
|
||||
wrapAngle(angle, "getAdvance", ObdCode::CUSTOM_ERR_ADCANCE_CALC_ANGLE);
|
||||
return angle;
|
||||
#else
|
||||
|
|
|
@ -101,7 +101,7 @@ void EngineState::periodicFastCallback() {
|
|||
|
||||
int rpm = Sensor::getOrZero(SensorType::Rpm);
|
||||
engine->ignitionState.sparkDwell = engine->ignitionState.getSparkDwell(rpm);
|
||||
engine->ignitionState.dwellAngle = cisnan(rpm) ? NAN : engine->ignitionState.sparkDwell / getOneDegreeTimeMs(rpm);
|
||||
engine->ignitionState.dwellAngle = std::isnan(rpm) ? NAN : engine->ignitionState.sparkDwell / getOneDegreeTimeMs(rpm);
|
||||
|
||||
// todo: move this into slow callback, no reason for IAT corr to be here
|
||||
engine->fuelComputer.running.intakeTemperatureCoefficient = getIatFuelCorrection();
|
||||
|
|
|
@ -115,9 +115,9 @@ float getRunningFuel(float baseFuel) {
|
|||
float postCrankingFuelCorrection = engine->fuelComputer.running.postCrankingFuelCorrection;
|
||||
float baroCorrection = engine->engineState.baroCorrection;
|
||||
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(iatCorrection), "NaN iatCorrection", 0);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(cltCorrection), "NaN cltCorrection", 0);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(postCrankingFuelCorrection), "NaN postCrankingFuelCorrection", 0);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !std::isnan(iatCorrection), "NaN iatCorrection", 0);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !std::isnan(cltCorrection), "NaN cltCorrection", 0);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !std::isnan(postCrankingFuelCorrection), "NaN postCrankingFuelCorrection", 0);
|
||||
|
||||
float correction = baroCorrection * iatCorrection * cltCorrection * postCrankingFuelCorrection;
|
||||
|
||||
|
@ -131,7 +131,7 @@ float getRunningFuel(float baseFuel) {
|
|||
|
||||
float runningFuel = baseFuel * correction;
|
||||
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(runningFuel), "NaN runningFuel", 0);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !std::isnan(runningFuel), "NaN runningFuel", 0);
|
||||
|
||||
// Publish output state
|
||||
engine->fuelComputer.running.baseFuel = baseFuel * 1000;
|
||||
|
@ -195,7 +195,7 @@ static float getBaseFuelMass(int rpm) {
|
|||
baseFuelMass *= engineConfiguration->globalFuelCorrection;
|
||||
engine->engineState.baseFuel = baseFuelMass;
|
||||
|
||||
if (cisnan(baseFuelMass)) {
|
||||
if (std::isnan(baseFuelMass)) {
|
||||
// todo: we should not have this here but https://github.com/rusefi/rusefi/issues/1690
|
||||
return 0;
|
||||
}
|
||||
|
@ -204,11 +204,11 @@ static float getBaseFuelMass(int rpm) {
|
|||
}
|
||||
|
||||
angle_t getInjectionOffset(float rpm, float load) {
|
||||
if (cisnan(rpm)) {
|
||||
if (std::isnan(rpm)) {
|
||||
return 0; // error already reported
|
||||
}
|
||||
|
||||
if (cisnan(load)) {
|
||||
if (std::isnan(load)) {
|
||||
return 0; // error already reported
|
||||
}
|
||||
|
||||
|
@ -218,7 +218,7 @@ angle_t getInjectionOffset(float rpm, float load) {
|
|||
config->injPhaseRpmBins, rpm
|
||||
);
|
||||
|
||||
if (cisnan(value)) {
|
||||
if (std::isnan(value)) {
|
||||
// we could be here while resetting configuration for example
|
||||
// huh? what? when do we have RPM while resetting configuration? is that CI edge case? shall we fix CI?
|
||||
warning(ObdCode::CUSTOM_ERR_6569, "phase map not ready");
|
||||
|
@ -325,7 +325,7 @@ float getInjectionMass(int rpm) {
|
|||
}
|
||||
|
||||
floatms_t tpsAccelEnrich = engine->tpsAccelEnrichment.getTpsEnrichment();
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(tpsAccelEnrich), "NaN tpsAccelEnrich", 0);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !std::isnan(tpsAccelEnrich), "NaN tpsAccelEnrich", 0);
|
||||
engine->engineState.tpsAccelEnrich = tpsAccelEnrich;
|
||||
|
||||
// For legacy reasons, the TPS accel table is in units of milliseconds, so we have to convert BACK to mass
|
||||
|
|
|
@ -13,7 +13,7 @@ void WallFuel::resetWF() {
|
|||
|
||||
float WallFuel::adjust(float desiredMassGrams) {
|
||||
invocationCounter++;
|
||||
if (cisnan(desiredMassGrams)) {
|
||||
if (std::isnan(desiredMassGrams)) {
|
||||
return desiredMassGrams;
|
||||
}
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ void InjectionEvent::onTriggerTooth(efitick_t nowNt, float currentPhase, float n
|
|||
engine->outputChannels.actualLastInjectionStage2 = injectionDurationStage2;
|
||||
}
|
||||
|
||||
if (cisnan(injectionDurationStage1) || cisnan(injectionDurationStage2)) {
|
||||
if (std::isnan(injectionDurationStage1) || std::isnan(injectionDurationStage2)) {
|
||||
warning(ObdCode::CUSTOM_OBD_NAN_INJECTION, "NaN injection pulse");
|
||||
return;
|
||||
}
|
||||
|
@ -263,10 +263,10 @@ static float getInjectionAngleCorrection(float fuelMs, float oneDegreeUs) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(fuelMs), "NaN fuelMs", false);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !std::isnan(fuelMs), "NaN fuelMs", false);
|
||||
|
||||
angle_t injectionDurationAngle = MS2US(fuelMs) / oneDegreeUs;
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(injectionDurationAngle), "NaN injectionDurationAngle", false);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !std::isnan(injectionDurationAngle), "NaN injectionDurationAngle", false);
|
||||
assertAngleRange(injectionDurationAngle, "injectionDuration_r", ObdCode::CUSTOM_INJ_DURATION);
|
||||
|
||||
if (mode == InjectionTimingMode::Center) {
|
||||
|
@ -286,7 +286,7 @@ InjectionEvent::InjectionEvent() {
|
|||
// or unexpected if unable to calculate the start angle due to missing information.
|
||||
expected<float> InjectionEvent::computeInjectionAngle() const {
|
||||
floatus_t oneDegreeUs = getEngineRotationState()->getOneDegreeUs();
|
||||
if (cisnan(oneDegreeUs)) {
|
||||
if (std::isnan(oneDegreeUs)) {
|
||||
// in order to have fuel schedule we need to have current RPM
|
||||
return unexpected;
|
||||
}
|
||||
|
@ -297,7 +297,7 @@ expected<float> InjectionEvent::computeInjectionAngle() const {
|
|||
|
||||
// User configured offset - degrees after TDC combustion
|
||||
floatus_t injectionOffset = getEngineState()->injectionOffset;
|
||||
if (cisnan(injectionOffset)) {
|
||||
if (std::isnan(injectionOffset)) {
|
||||
// injection offset map not ready - we are not ready to schedule fuel events
|
||||
return unexpected;
|
||||
}
|
||||
|
@ -311,7 +311,7 @@ expected<float> InjectionEvent::computeInjectionAngle() const {
|
|||
// Convert from cylinder-relative to cylinder-1-relative
|
||||
openingAngle += getCylinderAngle(ownIndex, cylinderNumber);
|
||||
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(openingAngle), "findAngle#3", false);
|
||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !std::isnan(openingAngle), "findAngle#3", false);
|
||||
assertAngleRange(openingAngle, "findAngle#a33", ObdCode::CUSTOM_ERR_6544);
|
||||
|
||||
wrapAngle(openingAngle, "addFuel#2", ObdCode::CUSTOM_ERR_6555);
|
||||
|
|
|
@ -26,11 +26,11 @@
|
|||
* @see interpolateClamped
|
||||
*/
|
||||
float interpolateMsg(const char *msg, float x1, float y1, float x2, float y2, float x) {
|
||||
if (cisnan(x1) || cisnan(x2) || cisnan(y1) || cisnan(y2)) {
|
||||
if (std::isnan(x1) || std::isnan(x2) || std::isnan(y1) || std::isnan(y2)) {
|
||||
warning(ObdCode::CUSTOM_ERR_INTERPOLATE_1, "interpolate%s: why param", msg);
|
||||
return NAN;
|
||||
}
|
||||
if (cisnan(x)) {
|
||||
if (std::isnan(x)) {
|
||||
warning(ObdCode::CUSTOM_ERR_INTERPOLATE_2, "interpolate%s: why X", msg);
|
||||
return NAN;
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ float interpolateMsg(const char *msg, float x1, float y1, float x2, float y2, fl
|
|||
// a*x2 + b = y2
|
||||
// efiAssertVoid(ObdCode::CUSTOM_ERR_ASSERT_VOID, x1 != x2, "no way we can interpolate");
|
||||
float a = INTERPOLATION_A(x1, y1, x2, y2);
|
||||
if (cisnan(a)) {
|
||||
if (std::isnan(a)) {
|
||||
warning(ObdCode::CUSTOM_ERR_INTERPOLATE_4, "interpolate%s: why a", msg);
|
||||
return NAN;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue