Motor class working
Dependencies: QEI biquadFilter mbed
Motor.h@4:38c653bfec5f, 2017-10-16 (annotated)
- Committer:
- Alex_Kyrl
- Date:
- Mon Oct 16 12:34:11 2017 +0000
- Revision:
- 4:38c653bfec5f
- Parent:
- 3:9d861827b714
added EMG class;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Alex_Kyrl | 0:f2ae86546400 | 1 | #ifndef MOTOR_H |
Alex_Kyrl | 0:f2ae86546400 | 2 | #define MOTOR_H |
Alex_Kyrl | 0:f2ae86546400 | 3 | |
Alex_Kyrl | 0:f2ae86546400 | 4 | #include "mbed.h" |
Alex_Kyrl | 0:f2ae86546400 | 5 | #include "QEI.h" |
Alex_Kyrl | 3:9d861827b714 | 6 | #include "iostream" |
Alex_Kyrl | 0:f2ae86546400 | 7 | class Motor { |
Alex_Kyrl | 0:f2ae86546400 | 8 | private: |
Alex_Kyrl | 3:9d861827b714 | 9 | float velocity ; // acual velocity of motor in degrees/s |
Alex_Kyrl | 3:9d861827b714 | 10 | float angle ; // angle of the motor in degrees |
Alex_Kyrl | 0:f2ae86546400 | 11 | float frequency ; |
Alex_Kyrl | 3:9d861827b714 | 12 | float sample_time; // set sample time of motor |
Alex_Kyrl | 1:1a01edf0379c | 13 | float angle_prev; |
Alex_Kyrl | 3:9d861827b714 | 14 | float safety_angle; //safety angle in degrees |
Alex_Kyrl | 1:1a01edf0379c | 15 | int POS , NEG; |
Alex_Kyrl | 0:f2ae86546400 | 16 | QEI _Encoder; |
Alex_Kyrl | 0:f2ae86546400 | 17 | DigitalOut _direction; |
Alex_Kyrl | 0:f2ae86546400 | 18 | PwmOut _PWM; |
Alex_Kyrl | 0:f2ae86546400 | 19 | |
Alex_Kyrl | 0:f2ae86546400 | 20 | |
Alex_Kyrl | 0:f2ae86546400 | 21 | public: |
Alex_Kyrl | 0:f2ae86546400 | 22 | Motor(); |
Alex_Kyrl | 1:1a01edf0379c | 23 | Motor(float , PinName , PinName , PinName , PinName , PinName , int , float , int , float , float , int); |
Alex_Kyrl | 0:f2ae86546400 | 24 | void change_direction(); |
Alex_Kyrl | 1:1a01edf0379c | 25 | void control_velocity(float); |
Alex_Kyrl | 0:f2ae86546400 | 26 | void set_period(float); |
Alex_Kyrl | 1:1a01edf0379c | 27 | void set_angle(); //needs to be updated |
Alex_Kyrl | 3:9d861827b714 | 28 | void set_velocity(); //needs to be updated |
Alex_Kyrl | 0:f2ae86546400 | 29 | |
Alex_Kyrl | 0:f2ae86546400 | 30 | float get_velocity(); |
Alex_Kyrl | 0:f2ae86546400 | 31 | float get_period(); |
Alex_Kyrl | 0:f2ae86546400 | 32 | |
Alex_Kyrl | 1:1a01edf0379c | 33 | |
Alex_Kyrl | 0:f2ae86546400 | 34 | }; |
Alex_Kyrl | 0:f2ae86546400 | 35 | |
Alex_Kyrl | 0:f2ae86546400 | 36 | #endif |