progress - reusing code for other data types
This commit is contained in:
parent
090fa01465
commit
9410e3d075
|
@ -10,19 +10,6 @@
|
||||||
#include "efilib.h"
|
#include "efilib.h"
|
||||||
#include "interpolation.h"
|
#include "interpolation.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @param precision for example '0.1' for one digit fractional part
|
|
||||||
*/
|
|
||||||
void setLinearCurve(float array[], int size, float from, float to, float precision) {
|
|
||||||
for (int i = 0; i < size; i++) {
|
|
||||||
float value = interpolateMsg("setLinearCurve", 0, from, size - 1, to, i);
|
|
||||||
/**
|
|
||||||
* rounded values look nicer, also we want to avoid precision mismatch with Tuner Studio
|
|
||||||
*/
|
|
||||||
array[i] = efiRound(value, precision);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void setRpmBin(float array[], int size, float idleRpm, float topRpm) {
|
void setRpmBin(float array[], int size, float idleRpm, float topRpm) {
|
||||||
array[0] = idleRpm - 150;
|
array[0] = idleRpm - 150;
|
||||||
int rpmStep = (int)(efiRound((topRpm - idleRpm) / (size - 2), 50) - 150);
|
int rpmStep = (int)(efiRound((topRpm - idleRpm) / (size - 2), 50) - 150);
|
||||||
|
|
|
@ -158,7 +158,21 @@ void setTableBin(float array[], int size, float from, float to);
|
||||||
|
|
||||||
#define setArrayValues(array, size, value) setTableBin(array, size, value, value)
|
#define setArrayValues(array, size, value) setTableBin(array, size, value, value)
|
||||||
|
|
||||||
void setLinearCurve(float array[], int size, float from, float to, float precision);
|
/**
|
||||||
|
* @param precision for example '0.1' for one digit fractional part
|
||||||
|
*/
|
||||||
|
template<typename vType>
|
||||||
|
void setLinearCurveAny(vType array[], int size, float from, float to, float precision) {
|
||||||
|
for (int i = 0; i < size; i++) {
|
||||||
|
float value = interpolateMsg("setLinearCurve", 0, from, size - 1, to, i);
|
||||||
|
/**
|
||||||
|
* rounded values look nicer, also we want to avoid precision mismatch with Tuner Studio
|
||||||
|
*/
|
||||||
|
array[i] = efiRound(value, precision);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#define setLinearCurve setLinearCurveAny<float>
|
||||||
void setRpmTableBin(float array[], int size);
|
void setRpmTableBin(float array[], int size);
|
||||||
|
|
||||||
#endif /* TABLE_HELPER_H_ */
|
#endif /* TABLE_HELPER_H_ */
|
||||||
|
|
Loading…
Reference in New Issue