Libary for control.

Dependencies:   FastPWM

Dependents:   RT2_Cuboid

Committer:
pmic
Date:
Thu May 05 09:18:40 2022 +0000
Revision:
10:eb29810d831b
Parent:
6:e93f67d98616
Adjusted AvgFilter (damn...)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pmic 5:75dc97c6c98e 1 #ifndef LINEAR_CHARACTERISTICS_H_
pmic 5:75dc97c6c98e 2 #define LINEAR_CHARACTERISTICS_H_
pmic 5:75dc97c6c98e 3
pmic 5:75dc97c6c98e 4 class LinearCharacteristics
pmic 5:75dc97c6c98e 5 {
pmic 5:75dc97c6c98e 6
pmic 5:75dc97c6c98e 7 public:
pmic 5:75dc97c6c98e 8
pmic 5:75dc97c6c98e 9 LinearCharacteristics(float gain, float offset);
pmic 5:75dc97c6c98e 10 LinearCharacteristics(float x0, float x1, float y0, float y1);
pmic 5:75dc97c6c98e 11 LinearCharacteristics(float x0, float x1, float y0, float y1, float yMin, float yMax);
pmic 6:e93f67d98616 12
pmic 5:75dc97c6c98e 13 LinearCharacteristics() {};
pmic 6:e93f67d98616 14
pmic 5:75dc97c6c98e 15 virtual ~LinearCharacteristics();
pmic 6:e93f67d98616 16
pmic 5:75dc97c6c98e 17 float operator()(float x)
pmic 5:75dc97c6c98e 18 {
pmic 5:75dc97c6c98e 19 return evaluate(x);
pmic 5:75dc97c6c98e 20 }
pmic 6:e93f67d98616 21
pmic 5:75dc97c6c98e 22 float evaluate(float x);
pmic 6:e93f67d98616 23
pmic 5:75dc97c6c98e 24 void setup(float gain, float offset);
pmic 5:75dc97c6c98e 25 void setup(float x0, float x1, float y0, float y1);
pmic 5:75dc97c6c98e 26 void setup(float x0, float x1, float y0, float y1, float yMin, float yMax);
pmic 6:e93f67d98616 27
pmic 6:e93f67d98616 28 void correctExistingOffset(float);
pmic 6:e93f67d98616 29
pmic 5:75dc97c6c98e 30 private:
pmic 5:75dc97c6c98e 31
pmic 5:75dc97c6c98e 32 float gain;
pmic 5:75dc97c6c98e 33 float offset;
pmic 5:75dc97c6c98e 34 float yMin;
pmic 5:75dc97c6c98e 35 float yMax;
pmic 6:e93f67d98616 36
pmic 5:75dc97c6c98e 37 };
pmic 5:75dc97c6c98e 38
pmic 5:75dc97c6c98e 39 #endif