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(), ThrottleModelBase::estimateThrottleFlow(), flexCallback(), 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.