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.
Base/Asservissement.h@0:1cfd66c3a181, 2019-05-22 (annotated)
- Committer:
- xav_jann1
- Date:
- Wed May 22 16:54:27 2019 +0000
- Revision:
- 0:1cfd66c3a181
Premiere version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
xav_jann1 | 0:1cfd66c3a181 | 1 | #ifndef ASSERVISSEMENT_H |
xav_jann1 | 0:1cfd66c3a181 | 2 | #define ASSERVISSEMENT_H |
xav_jann1 | 0:1cfd66c3a181 | 3 | |
xav_jann1 | 0:1cfd66c3a181 | 4 | #include "mbed.h" |
xav_jann1 | 0:1cfd66c3a181 | 5 | |
xav_jann1 | 0:1cfd66c3a181 | 6 | class Asservissement { |
xav_jann1 | 0:1cfd66c3a181 | 7 | public: |
xav_jann1 | 0:1cfd66c3a181 | 8 | // Constructeur: |
xav_jann1 | 0:1cfd66c3a181 | 9 | Asservissement(float P, float I, float D); |
xav_jann1 | 0:1cfd66c3a181 | 10 | |
xav_jann1 | 0:1cfd66c3a181 | 11 | // Setters: |
xav_jann1 | 0:1cfd66c3a181 | 12 | void setP(float P); |
xav_jann1 | 0:1cfd66c3a181 | 13 | void setI(float I); |
xav_jann1 | 0:1cfd66c3a181 | 14 | void setD(float D); |
xav_jann1 | 0:1cfd66c3a181 | 15 | void setPID(float P, float I, float D); |
xav_jann1 | 0:1cfd66c3a181 | 16 | |
xav_jann1 | 0:1cfd66c3a181 | 17 | // Pointeurs: |
xav_jann1 | 0:1cfd66c3a181 | 18 | float* getP_ptr(); |
xav_jann1 | 0:1cfd66c3a181 | 19 | float* getI_ptr(); |
xav_jann1 | 0:1cfd66c3a181 | 20 | float* getD_ptr(); |
xav_jann1 | 0:1cfd66c3a181 | 21 | |
xav_jann1 | 0:1cfd66c3a181 | 22 | // Asservissement: |
xav_jann1 | 0:1cfd66c3a181 | 23 | void toValue(float value); |
xav_jann1 | 0:1cfd66c3a181 | 24 | |
xav_jann1 | 0:1cfd66c3a181 | 25 | // Calcul d'asservissement: |
xav_jann1 | 0:1cfd66c3a181 | 26 | float computeError(float value); |
xav_jann1 | 0:1cfd66c3a181 | 27 | |
xav_jann1 | 0:1cfd66c3a181 | 28 | private: |
xav_jann1 | 0:1cfd66c3a181 | 29 | // PID: |
xav_jann1 | 0:1cfd66c3a181 | 30 | float m_P, m_I, m_D; |
xav_jann1 | 0:1cfd66c3a181 | 31 | |
xav_jann1 | 0:1cfd66c3a181 | 32 | // Value: |
xav_jann1 | 0:1cfd66c3a181 | 33 | float m_desired_value; |
xav_jann1 | 0:1cfd66c3a181 | 34 | |
xav_jann1 | 0:1cfd66c3a181 | 35 | float m_erreur_prev, m_erreur_integral; |
xav_jann1 | 0:1cfd66c3a181 | 36 | |
xav_jann1 | 0:1cfd66c3a181 | 37 | }; |
xav_jann1 | 0:1cfd66c3a181 | 38 | |
xav_jann1 | 0:1cfd66c3a181 | 39 | #endif |