30#define MAX_MAP_BUFFER_LENGTH (MAX_CYLINDER_COUNT)
33#define SAMPLER_DIMENSION 2
42 void start(uint8_t cylinderNumber);
51 void showInfo(
const char* sensorName)
const override;
72 void onEnginePhase(
float , efitick_t edgeTimestamp,
float currentPhase,
float nextPhase)
override;
void showInfo(const char *sensorName) const override
MapAverager(SensorType type, efidur_t timeout)
void start(uint8_t cylinderNumber)
SensorResult submit(float sensorVolts)
SensorConverter * m_function
void setFunction(SensorConverter &func)
void submitSample(float voltsMap1, float voltsMap2)
void onEnginePhase(float, efitick_t edgeTimestamp, float currentPhase, float nextPhase) override
void onFastCallback() override
void onConfigurationChange(engine_configuration_s const *previousConfig) override
mapSampler samplers[MAX_CYLINDER_COUNT]
void triggerCallback(uint32_t index, efitick_t edgeTimestamp)
Base class for sensors that compute a value on one thread, and want to make it available to consumers...
void mapAveragingAdcCallback(float instantVoltage)
void startAveraging(struct mapSampler *s)
float filterMapValue(float value)
MapAverager & getMapAvg(size_t idx)
expected< float > SensorResult
Base class for a sensor that has its value asynchronously set, then later retrieved by a consumer.