Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
shared/MD_PID/MD_PID.h@0:ee7e9405e1c7, 2021-04-14 (annotated)
- Committer:
- e2011220
- Date:
- Wed Apr 14 07:26:19 2021 +0000
- Revision:
- 0:ee7e9405e1c7
first
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| e2011220 | 0:ee7e9405e1c7 | 1 | #ifndef MD_PID_H_ |
| e2011220 | 0:ee7e9405e1c7 | 2 | #define MD_PID_H_ |
| e2011220 | 0:ee7e9405e1c7 | 3 | |
| e2011220 | 0:ee7e9405e1c7 | 4 | #include <shared/MD/MD.h> |
| e2011220 | 0:ee7e9405e1c7 | 5 | #include <shared/QEI/QEI.h> |
| e2011220 | 0:ee7e9405e1c7 | 6 | #include "PID.h" |
| e2011220 | 0:ee7e9405e1c7 | 7 | #include "PPID.h" |
| e2011220 | 0:ee7e9405e1c7 | 8 | #include "PI_D.h" |
| e2011220 | 0:ee7e9405e1c7 | 9 | |
| e2011220 | 0:ee7e9405e1c7 | 10 | class MD_PID |
| e2011220 | 0:ee7e9405e1c7 | 11 | { |
| e2011220 | 0:ee7e9405e1c7 | 12 | public: |
| e2011220 | 0:ee7e9405e1c7 | 13 | MD_PID( MD *md, QEI *qei, |
| e2011220 | 0:ee7e9405e1c7 | 14 | double k = 0, double ti = 0, double td = 0, |
| e2011220 | 0:ee7e9405e1c7 | 15 | double max_speed = 0); |
| e2011220 | 0:ee7e9405e1c7 | 16 | virtual void drive(double target, double interval); |
| e2011220 | 0:ee7e9405e1c7 | 17 | virtual void brake(double target); |
| e2011220 | 0:ee7e9405e1c7 | 18 | virtual void free(); |
| e2011220 | 0:ee7e9405e1c7 | 19 | void set_max_speed(double max_speed); |
| e2011220 | 0:ee7e9405e1c7 | 20 | |
| e2011220 | 0:ee7e9405e1c7 | 21 | double get_duty(); |
| e2011220 | 0:ee7e9405e1c7 | 22 | |
| e2011220 | 0:ee7e9405e1c7 | 23 | private: |
| e2011220 | 0:ee7e9405e1c7 | 24 | MD *_md; |
| e2011220 | 0:ee7e9405e1c7 | 25 | QEI *_qei; |
| e2011220 | 0:ee7e9405e1c7 | 26 | PID *_pid; |
| e2011220 | 0:ee7e9405e1c7 | 27 | double _duty; |
| e2011220 | 0:ee7e9405e1c7 | 28 | double _max_speed; |
| e2011220 | 0:ee7e9405e1c7 | 29 | |
| e2011220 | 0:ee7e9405e1c7 | 30 | double read_vel(); |
| e2011220 | 0:ee7e9405e1c7 | 31 | }; |
| e2011220 | 0:ee7e9405e1c7 | 32 | |
| e2011220 | 0:ee7e9405e1c7 | 33 | #endif |