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.
headers/pid_controller.h@1:6f18bb7a77a5, 2018-11-15 (annotated)
- Committer:
- dionigi
- Date:
- Thu Nov 15 17:19:20 2018 +0000
- Revision:
- 1:6f18bb7a77a5
- Child:
- 3:35deb5c21b33
Added assignment3 files
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| dionigi | 1:6f18bb7a77a5 | 1 | #pragma once |
| dionigi | 1:6f18bb7a77a5 | 2 | |
| dionigi | 1:6f18bb7a77a5 | 3 | #include "globals.h" |
| dionigi | 1:6f18bb7a77a5 | 4 | |
| dionigi | 1:6f18bb7a77a5 | 5 | const float KpX = 1; |
| dionigi | 1:6f18bb7a77a5 | 6 | const float KdX = 0; |
| dionigi | 1:6f18bb7a77a5 | 7 | |
| dionigi | 1:6f18bb7a77a5 | 8 | const float KpW = 1; |
| dionigi | 1:6f18bb7a77a5 | 9 | const float KdW = 0; |
| dionigi | 1:6f18bb7a77a5 | 10 | |
| dionigi | 1:6f18bb7a77a5 | 11 | class PIDController { |
| dionigi | 1:6f18bb7a77a5 | 12 | public: |
| dionigi | 1:6f18bb7a77a5 | 13 | PIDController(); |
| dionigi | 1:6f18bb7a77a5 | 14 | |
| dionigi | 1:6f18bb7a77a5 | 15 | void reset() volatile; |
| dionigi | 1:6f18bb7a77a5 | 16 | void update() volatile; |
| dionigi | 1:6f18bb7a77a5 | 17 | |
| dionigi | 1:6f18bb7a77a5 | 18 | void setXGoal(int counts); |
| dionigi | 1:6f18bb7a77a5 | 19 | void setWGoal(int counts); |
| dionigi | 1:6f18bb7a77a5 | 20 | |
| dionigi | 1:6f18bb7a77a5 | 21 | bool isDone() volatile; |
| dionigi | 1:6f18bb7a77a5 | 22 | char* getData(); |
| dionigi | 1:6f18bb7a77a5 | 23 | private: |
| dionigi | 1:6f18bb7a77a5 | 24 | void getSensorFeedback() volatile; |
| dionigi | 1:6f18bb7a77a5 | 25 | void x_controller() volatile; |
| dionigi | 1:6f18bb7a77a5 | 26 | void w_controller() volatile; |
| dionigi | 1:6f18bb7a77a5 | 27 | void updateMotorPwm() volatile; |
| dionigi | 1:6f18bb7a77a5 | 28 | |
| dionigi | 1:6f18bb7a77a5 | 29 | int m_goalW; |
| dionigi | 1:6f18bb7a77a5 | 30 | int m_goalX; |
| dionigi | 1:6f18bb7a77a5 | 31 | |
| dionigi | 1:6f18bb7a77a5 | 32 | float m_pwmW; |
| dionigi | 1:6f18bb7a77a5 | 33 | float m_pwmX; |
| dionigi | 1:6f18bb7a77a5 | 34 | |
| dionigi | 1:6f18bb7a77a5 | 35 | int m_errorW; |
| dionigi | 1:6f18bb7a77a5 | 36 | int m_errorX; |
| dionigi | 1:6f18bb7a77a5 | 37 | int m_errorW_old; |
| dionigi | 1:6f18bb7a77a5 | 38 | int m_errorX_old; |
| dionigi | 1:6f18bb7a77a5 | 39 | |
| dionigi | 1:6f18bb7a77a5 | 40 | int m_countsW; |
| dionigi | 1:6f18bb7a77a5 | 41 | int m_countsX; |
| dionigi | 1:6f18bb7a77a5 | 42 | |
| dionigi | 1:6f18bb7a77a5 | 43 | char buf[200]; |
| dionigi | 1:6f18bb7a77a5 | 44 | }; |
