Motor

Fork of Motor by Reiko Randoja

Committer:
Reiko
Date:
Sat Aug 31 15:58:46 2013 +0000
Revision:
1:c97f8bcd6c0f
Parent:
0:5cafacc2a607
Child:
2:3faf5dcde08f
Added proper speed changing methods, added initial PI controller

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 1:c97f8bcd6c0f 27 //void pid();
Reiko 0:5cafacc2a607 28
Reiko 1:c97f8bcd6c0f 29 int setPoint;
Reiko 1:c97f8bcd6c0f 30 float pMulti;
Reiko 1:c97f8bcd6c0f 31 float iMulti;
Reiko 1:c97f8bcd6c0f 32 int error;
Reiko 1:c97f8bcd6c0f 33 int prevError;
Reiko 1:c97f8bcd6c0f 34 float P;
Reiko 1:c97f8bcd6c0f 35 float I;
Reiko 0:5cafacc2a607 36 };
Reiko 0:5cafacc2a607 37
Reiko 0:5cafacc2a607 38 #endif