Carlo Collodi / kangaroo

Dependencies:   QEI mbed

Committer:
calamaridudeman
Date:
Mon Dec 02 05:16:26 2013 +0000
Revision:
53:978b7fa74080
Parent:
49:3aaa790800ad
shin works too, now to get event detection

Who changed what in which revision?

UserRevisionLine numberNew contents of line
calamaridudeman 23:112c0be5a7f3 1 #include "mbed.h"
calamaridudeman 23:112c0be5a7f3 2 #include "QEI.h"
calamaridudeman 23:112c0be5a7f3 3
calamaridudeman 23:112c0be5a7f3 4 #ifndef MOTOR_HPP
calamaridudeman 23:112c0be5a7f3 5 #define MOTOR_HPP
calamaridudeman 23:112c0be5a7f3 6
calamaridudeman 23:112c0be5a7f3 7 class Motor {
calamaridudeman 23:112c0be5a7f3 8
calamaridudeman 23:112c0be5a7f3 9 public:
calamaridudeman 37:bf257a0154db 10 Motor(PinName aPin, PinName fPin, PinName bPin, PinName pwmPin, QEI &enc);
calamaridudeman 23:112c0be5a7f3 11
calamaridudeman 23:112c0be5a7f3 12 void start();
calamaridudeman 23:112c0be5a7f3 13 void stop();
calamaridudeman 23:112c0be5a7f3 14 void setTorque(float t);
calamaridudeman 23:112c0be5a7f3 15 void Control();
calamaridudeman 37:bf257a0154db 16 int getPos();
sherryxy 49:3aaa790800ad 17 float getAngle();
calamaridudeman 23:112c0be5a7f3 18 float getCurrent();
calamaridudeman 23:112c0be5a7f3 19 static float filterLowPass(float old, float currentIn, float alphar);
calamaridudeman 23:112c0be5a7f3 20 void setPos(float pos);
calamaridudeman 23:112c0be5a7f3 21 void setVel(float vel);
calamaridudeman 23:112c0be5a7f3 22 void setPosVel(float pos, float vel);
calamaridudeman 23:112c0be5a7f3 23 void zero();
sherryxy 49:3aaa790800ad 24 void calibAngle(float ang);
calamaridudeman 23:112c0be5a7f3 25
calamaridudeman 23:112c0be5a7f3 26 float kp;
calamaridudeman 23:112c0be5a7f3 27 float kd;
calamaridudeman 23:112c0be5a7f3 28
calamaridudeman 53:978b7fa74080 29 volatile float dAngle;
calamaridudeman 53:978b7fa74080 30
calamaridudeman 53:978b7fa74080 31
calamaridudeman 23:112c0be5a7f3 32 private:
calamaridudeman 23:112c0be5a7f3 33 Ticker t;
calamaridudeman 23:112c0be5a7f3 34 AnalogIn aIn;
calamaridudeman 23:112c0be5a7f3 35 DigitalOut Forward;
calamaridudeman 23:112c0be5a7f3 36 DigitalOut Backward;
calamaridudeman 23:112c0be5a7f3 37 PwmOut pwmOut;
calamaridudeman 37:bf257a0154db 38 QEI& encoder;
calamaridudeman 23:112c0be5a7f3 39
calamaridudeman 23:112c0be5a7f3 40 float speed;
calamaridudeman 23:112c0be5a7f3 41 float freq;
calamaridudeman 23:112c0be5a7f3 42 float pos;
calamaridudeman 23:112c0be5a7f3 43 float angle;
calamaridudeman 23:112c0be5a7f3 44 float voltage;
calamaridudeman 44:3566c5699ba6 45 volatile int mode;
calamaridudeman 43:68faf056ed5c 46
calamaridudeman 44:3566c5699ba6 47 volatile float dAngularVelocity;
calamaridudeman 44:3566c5699ba6 48 volatile float dTorque;
calamaridudeman 23:112c0be5a7f3 49 };
calamaridudeman 23:112c0be5a7f3 50
calamaridudeman 23:112c0be5a7f3 51 #endif