stock mbed AnalogReads current loop closed and working

Dependencies:   mbed

Fork of priustroller_2 by N K

Committer:
bwang
Date:
Sun Jan 31 06:44:58 2016 +0000
Revision:
56:85a26f839af2
Parent:
50:16b43e8fe04f
latest rev

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bwang 11:dccbaa9274c5 1 #ifndef __FILTERS_H
bwang 11:dccbaa9274c5 2 #define __FILTERS_H
bwang 11:dccbaa9274c5 3
bwang 11:dccbaa9274c5 4 class LtiFilter {
bwang 11:dccbaa9274c5 5 public:
bwang 11:dccbaa9274c5 6 virtual float Update(float x) {return x;}
bwang 11:dccbaa9274c5 7 };
bwang 11:dccbaa9274c5 8
bwang 11:dccbaa9274c5 9 class MeanFilter: public LtiFilter {
bwang 11:dccbaa9274c5 10 public:
bwang 11:dccbaa9274c5 11 MeanFilter(float strength);
bwang 11:dccbaa9274c5 12 virtual float Update(float x);
bwang 11:dccbaa9274c5 13 private:
bwang 11:dccbaa9274c5 14 float _mean;
bwang 11:dccbaa9274c5 15 float _strength;
bwang 11:dccbaa9274c5 16 };
bwang 11:dccbaa9274c5 17
bwang 11:dccbaa9274c5 18 class PidController {
bwang 11:dccbaa9274c5 19 public:
bwang 11:dccbaa9274c5 20 PidController(float ki, float kp, float kd, float out_max = 1.0f, float out_min = 0.0f);
bwang 11:dccbaa9274c5 21 float Update(float ref, float in);
nki 50:16b43e8fe04f 22 void ZeroIntegrator();
bwang 11:dccbaa9274c5 23 private:
bwang 11:dccbaa9274c5 24 float _ki, _kp, _kd;
bwang 11:dccbaa9274c5 25 float _last_in, _integral;
bwang 11:dccbaa9274c5 26 float _out_max, _out_min;
bwang 11:dccbaa9274c5 27 };
bwang 11:dccbaa9274c5 28 #endif