Motor class working

Dependencies:   QEI biquadFilter mbed

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?

UserRevisionLine numberNew 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