|
rusEFI
The most advanced open source ECU
|
Functions | |
| float | interpolateClampedWithValidation (float x1, float y1, float x2, float y2, float x) |
| float | interpolateClamped (float x1, float y1, float x2, float y2, float x) |
| float | interpolateMsg (const char *msg, float x1, float y1, float x2, float y2, float x) |
| Linear interpolation by two points. | |
| template<typename TValue , int TSize> | |
| void | ensureArrayIsAscending (const char *msg, const TValue(&values)[TSize]) |
| template<typename TValue , int TSize> | |
| void | ensureArrayIsAscendingOrDefault (const char *msg, const TValue(&values)[TSize]) |
| template<typename kType > | |
| int | findIndexMsg (const char *msg, const kType array[], int size, kType value) |
| Binary search. | |
| template<typename VType , typename kType > | |
| void | setCurveValue (const kType bins[], VType values[], int size, float key, float value) |
| void ensureArrayIsAscending | ( | const char * | msg, |
| const TValue(&) | values[TSize] | ||
| ) |
Definition at line 32 of file efi_interpolation.h.
Referenced by ensureArrayIsAscendingOrDefault(), and validateConfigOnStartUpOrBurn().


| void ensureArrayIsAscendingOrDefault | ( | const char * | msg, |
| const TValue(&) | values[TSize] | ||
| ) |
Definition at line 43 of file efi_interpolation.h.
Referenced by validateConfigOnStartUpOrBurn().


| int findIndexMsg | ( | const char * | msg, |
| const kType | array[], | ||
| int | size, | ||
| kType | value | ||
| ) |
Binary search.
See also ensureArrayIsAscending
Definition at line 57 of file efi_interpolation.h.
Referenced by setCurveValue().


todo: use 'interpolateClampedWithValidation' wider?
Definition at line 69 of file interpolation.cpp.
Referenced by LaunchControlBase::calculateSparkSkipRatio(), FlexSensor::callback(), ThrottleModelBase::estimateThrottleFlow(), IdleController::getClosedLoop(), getCrankingAdvance(), getCrankingFuel3(), IdleController::getIdleTimingAdjustment(), IdleController::getOpenLoop(), getRunningAdvance(), IdleController::getRunningOpenLoop(), EtbController::getSetpointEtb(), FuelComputer::getStoichiometricRatio(), IdleController::getTargetRpm(), IFuelComputer::getTCharge(), IFuelComputer::getTChargeCoefficient(), DfcoController::getTimingRetard(), AirmassVeModelBase::getVe(), interpolateClampedWithValidation(), HellaOilLevelSensor::onEdge(), setHysteresis(), LimpManager::updateRevLimit(), and updateVrThresholdPwm().

Definition at line 58 of file interpolation.cpp.

Linear interpolation by two points.
| x1 | key of the first point |
| y1 | value of the first point |
| x2 | key of the second point |
| y2 | value of the second point |
| X | key to be interpolated |
we could end up here for example while resetting bins while changing engine type
Definition at line 28 of file interpolation.cpp.
Referenced by decodeTpsSentValue(), getAdvanceForRpm(), getAfr(), IFuelComputer::getTChargeCoefficient(), lua_interpolate(), and setLinearCurve().


| void setCurveValue | ( | const kType | bins[], |
| VType | values[], | ||
| int | size, | ||
| float | key, | ||
| float | value | ||
| ) |
Sets specified value for specified key in a correction curve see also setLinearCurve()
Definition at line 115 of file efi_interpolation.h.
