40 int intRpm = (int)rpm;
46 float timeInSec = (
float)(timeStamp) / US_PER_SECOND;
48 onRpm(intRpm, timeInSec, tps);
104 if (rpmDiffStep < config->dynoRpmStep)
float saeCorrectionFactor
DynoPoint dynoViewPointPrev
float tail_torque[dyno_view_window_size]
static constexpr int dyno_view_window_size_rpm
static constexpr float dyno_view_log_time_smooth_sec
static constexpr int dyno_view_rpm_diff_smooth
uint16_t wheelOverallDiameterMm
static void move(uint8_t size, float *data)
float saeTempCorrectionFactor
float tail_hp[dyno_view_window_size]
static constexpr int dyno_view_window_size
bool onRpm(int rpm, float time, float tps)
float saeBaroCorrectionFactor
static constexpr int dyno_view_tps_diff_to_reset_run
static constexpr int dyno_view_rpm_fall_to_reset_run
static float accumulate_window(uint8_t size, const float *data)
float tail_rpm[dyno_view_window_size_rpm]
static float getOrZero(SensorType type)
float efiRound(float value, float precision)
efitimeus_t getTimeNowUs()
static EngineAccessor engine
static constexpr persistent_config_s * config
scaled_channel< float, 1, 1 > dynoCarFrontalAreaM2
scaled_channel< int8_t, 1, 1 > dynoSaeTemperatureC
scaled_channel< float, 1, 1 > dynoSaeBaro
scaled_channel< float, 1, 1 > dynoCarGearPrimaryReduction
scaled_channel< int8_t, 1, 1 > dynoCarWheelAspectRatio
scaled_channel< int16_t, 1, 1 > dynoCarWheelTireWidthMm
scaled_channel< float, 1, 1 > dynoCarGearFinalDrive
scaled_channel< int8_t, 1, 1 > dynoCarWheelDiaInch
scaled_channel< float, 1, 1 > dynoCarGearRatio
scaled_channel< float, 1, 1 > dynoCarCoeffOfDrag
scaled_channel< int16_t, 1, 1 > dynoCarCarMassKg
scaled_channel< uint8_t, 1, 1 > dynoSaeRelativeHumidity
scaled_channel< int16_t, 1, 1 > dynoCarCargoMassKg