ti bisogna il phaserunner
Dependencies: mbed PID mbed-rtos
Diff: Peripherien/Regler.h
- Revision:
- 8:1655d27152e6
- Parent:
- 7:15e6fc689368
- Child:
- 9:56aed8c6779f
diff -r 15e6fc689368 -r 1655d27152e6 Peripherien/Regler.h --- a/Peripherien/Regler.h Thu May 16 20:42:39 2019 +0000 +++ b/Peripherien/Regler.h Fri May 17 14:35:54 2019 +0000 @@ -7,6 +7,7 @@ #include "Phaserunner.h" #include "Encoder.h" +#include "PID.h" class Regler{ private: @@ -16,6 +17,9 @@ Phaserunner& linkspedal; Phaserunner& rechtspedal; + // PID Regler + PID pid; + //Encoder Encoder& encoder; @@ -31,6 +35,18 @@ // Ticker Ticker ticker; + // Ellipse Parameters + float a_,b_,beta_; + + // Regler Parameters Pedale + float Kp_,Ki_,Ts_,setPoint_; + + // Ergometer Stufe (von 1 bis 10) + float ErgoStufe_; + + // Pedelec Values + float PedStufe_, PedFactor_; + const static float PI = 3.14159265; @@ -86,6 +102,46 @@ * @param recuperation */ void setRecuperationPedals(uint8_t recuperation); + + /** + * Setzt die Ellipse Parameters + * @param a + * @param b + * @param beta + */ + void setEllipseParameters(float a, float b, float beta); + + /** + * Setzt die PI Regler Parameters + * @param Kp + * @param Ki + * @param Ts in s + */ + void setReglerParameters(float Kp, float Ki, float Ts); + + /** + * Setzt die PI Regler Setpoint + * @param SetPoint + */ + void setReglerSetPoint(float Setpoint); + + /** + * Setzt die Ergometer schwirichkeit Stufe + * @param ErgoStufe + */ + void setErgoStufe(float ErgoStufe); + + /** + * Setzt die Pedelec schwirichkeit Stufe + * @param ErgoStufe + */ + void setPedStufe(float PedStufe); + + /** + * Setzt die Pedelec Factor + * @param PedFactor + */ + void setPedFactor(float PedFactor); }; #endif //PA_REGLER_H