Libary for control.
AvgFilter.h@8:3a2131231969, 2022-03-14 (annotated)
- Committer:
- pmic
- Date:
- Mon Mar 14 16:47:41 2022 +0000
- Revision:
- 8:3a2131231969
- Child:
- 9:9a2672ac2ef4
Added AvgFilter class and extended PID_Cntrl for the case where the I part is zero.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
pmic | 8:3a2131231969 | 1 | #ifndef AVGFILTER_H_ |
pmic | 8:3a2131231969 | 2 | #define AVGFILTER_H_ |
pmic | 8:3a2131231969 | 3 | |
pmic | 8:3a2131231969 | 4 | #include <mbed.h> |
pmic | 8:3a2131231969 | 5 | |
pmic | 8:3a2131231969 | 6 | class AvgFilter |
pmic | 8:3a2131231969 | 7 | { |
pmic | 8:3a2131231969 | 8 | public: |
pmic | 8:3a2131231969 | 9 | AvgFilter(){}; |
pmic | 8:3a2131231969 | 10 | AvgFilter(uint8_t _N); |
pmic | 8:3a2131231969 | 11 | ~AvgFilter(); |
pmic | 8:3a2131231969 | 12 | |
pmic | 8:3a2131231969 | 13 | void setup(uint8_t _N); |
pmic | 8:3a2131231969 | 14 | void reset(); |
pmic | 8:3a2131231969 | 15 | float update(float _inp); |
pmic | 8:3a2131231969 | 16 | |
pmic | 8:3a2131231969 | 17 | private: |
pmic | 8:3a2131231969 | 18 | float m_avg; |
pmic | 8:3a2131231969 | 19 | uint8_t m_N; |
pmic | 8:3a2131231969 | 20 | uint8_t m_idx; |
pmic | 8:3a2131231969 | 21 | float *m_ring_buffer; |
pmic | 8:3a2131231969 | 22 | }; |
pmic | 8:3a2131231969 | 23 | |
pmic | 8:3a2131231969 | 24 | #endif /* AVGFILTER_H_ */ |