rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
linear_func.h
Go to the documentation of this file.
1#pragma once
2
4
5class LinearFunc final : public SensorConverter {
6public:
7 LinearFunc(float divideInput = 1.0f) : m_divideInput(divideInput) {}
8
9 void configure(float in1, float out1, float in2, float out2, float minOutput, float maxOutput);
10
11 SensorResult convert(float inputValue) const override;
12
13 void showInfo(float testRawValue) const override;
14
15 float getDivideInput() const {
16 return m_divideInput;
17 }
18
19private:
20 // Linear equation parameters for equation of form
21 // y = ax + b
22 float m_a = 1;
23 float m_b = 0;
24
25 float m_minOutput = 0;
26 float m_maxOutput = 0;
27
28 // Divisor for the input values - some configurations use a ratio'd value for compat
29 const float m_divideInput;
30};
float getDivideInput() const
Definition linear_func.h:15
SensorResult convert(float inputValue) const override
LinearFunc(float divideInput=1.0f)
Definition linear_func.h:7
float m_minOutput
Definition linear_func.h:25
void showInfo(float testRawValue) const override
const float m_divideInput
Definition linear_func.h:29
void configure(float in1, float out1, float in2, float out2, float minOutput, float maxOutput)
float m_maxOutput
Definition linear_func.h:26
expected< float > SensorResult
Definition sensor.h:46