Motor

Fork of Motor by Reiko Randoja

Committer:
Reiko
Date:
Sat Sep 14 16:22:37 2013 +0000
Revision:
2:3faf5dcde08f
Parent:
1:c97f8bcd6c0f
Child:
3:94db629c0a83
Changed some variables to float

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Reiko 0:5cafacc2a607 1 #ifndef MOTOR_H
Reiko 0:5cafacc2a607 2 #define MOTOR_H
Reiko 0:5cafacc2a607 3
Reiko 0:5cafacc2a607 4 #include "mbed.h"
Reiko 1:c97f8bcd6c0f 5 #include "PCA9555.h"
Reiko 1:c97f8bcd6c0f 6 #include "qed.h"
Reiko 0:5cafacc2a607 7
Reiko 0:5cafacc2a607 8 class Motor {
Reiko 0:5cafacc2a607 9 public:
Reiko 1:c97f8bcd6c0f 10 Motor(PinName PWMpin, PCA9555 *ioExt, unsigned int dir1Pin, unsigned int dir2Pin, PinName encA, PinName encB);
Reiko 0:5cafacc2a607 11
Reiko 1:c97f8bcd6c0f 12 void setPWM(float newPWM);
Reiko 0:5cafacc2a607 13 void setSpeed(int newSpeed);
Reiko 0:5cafacc2a607 14 int getSpeed();
Reiko 1:c97f8bcd6c0f 15 void pid();
Reiko 0:5cafacc2a607 16
Reiko 0:5cafacc2a607 17 private:
Reiko 1:c97f8bcd6c0f 18 PwmOut pwm;
Reiko 1:c97f8bcd6c0f 19 PCA9555 *extIO;
Reiko 1:c97f8bcd6c0f 20 unsigned int dir1;
Reiko 1:c97f8bcd6c0f 21 unsigned int dir2;
Reiko 1:c97f8bcd6c0f 22 QED qed;
Reiko 1:c97f8bcd6c0f 23
Reiko 1:c97f8bcd6c0f 24 int currentSpeed;
Reiko 1:c97f8bcd6c0f 25 int getDecoderCount();
Reiko 0:5cafacc2a607 26
Reiko 2:3faf5dcde08f 27 void resetPID();
Reiko 2:3faf5dcde08f 28
Reiko 1:c97f8bcd6c0f 29 //void pid();
Reiko 0:5cafacc2a607 30
Reiko 1:c97f8bcd6c0f 31 int setPoint;
Reiko 1:c97f8bcd6c0f 32 float pMulti;
Reiko 1:c97f8bcd6c0f 33 float iMulti;
Reiko 2:3faf5dcde08f 34 float dMulti;
Reiko 2:3faf5dcde08f 35 float error;
Reiko 2:3faf5dcde08f 36 float prevError;
Reiko 1:c97f8bcd6c0f 37 float P;
Reiko 1:c97f8bcd6c0f 38 float I;
Reiko 2:3faf5dcde08f 39 float D;
Reiko 2:3faf5dcde08f 40 float minPwm;
Reiko 0:5cafacc2a607 41 };
Reiko 0:5cafacc2a607 42
Reiko 0:5cafacc2a607 43 #endif