Carlo Collodi / kangaroo

Dependencies:   QEI mbed

Committer:
sherryxy
Date:
Sun Dec 01 23:43:58 2013 +0000
Revision:
49:3aaa790800ad
Parent:
44:3566c5699ba6
Child:
53:978b7fa74080
trying to get calibration working

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 23:112c0be5a7f3 29 private:
calamaridudeman 23:112c0be5a7f3 30 Ticker t;
calamaridudeman 23:112c0be5a7f3 31 AnalogIn aIn;
calamaridudeman 23:112c0be5a7f3 32 DigitalOut Forward;
calamaridudeman 23:112c0be5a7f3 33 DigitalOut Backward;
calamaridudeman 23:112c0be5a7f3 34 PwmOut pwmOut;
calamaridudeman 37:bf257a0154db 35 QEI& encoder;
calamaridudeman 23:112c0be5a7f3 36
calamaridudeman 23:112c0be5a7f3 37 float speed;
calamaridudeman 23:112c0be5a7f3 38 float freq;
calamaridudeman 23:112c0be5a7f3 39 float pos;
calamaridudeman 23:112c0be5a7f3 40 float angle;
calamaridudeman 23:112c0be5a7f3 41 float voltage;
calamaridudeman 44:3566c5699ba6 42 volatile int mode;
calamaridudeman 43:68faf056ed5c 43
calamaridudeman 44:3566c5699ba6 44 volatile float dAngularVelocity;
calamaridudeman 44:3566c5699ba6 45 volatile float dAngle;
calamaridudeman 44:3566c5699ba6 46 volatile float dTorque;
calamaridudeman 23:112c0be5a7f3 47 };
calamaridudeman 23:112c0be5a7f3 48
calamaridudeman 23:112c0be5a7f3 49 #endif