Code to run the microcontrollers on the R5 competition bot

Dependencies:   LineSensors mbed

Committer:
Hypna
Date:
Sat Apr 18 04:57:20 2015 +0000
Revision:
22:8f726dc175cd
Parent:
18:2bd595af51d2
stuff

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Hypna 0:e60f22c1d573 1 #ifndef DRIVECONTROLLER_H
Hypna 0:e60f22c1d573 2 #define DRIVECONTROLLER_H
Hypna 0:e60f22c1d573 3 #include "mbed.h"
Hypna 5:f53f06a866e9 4 #include "LineSensors.h"
Hypna 0:e60f22c1d573 5
jmar11 16:b49db5c8e16c 6 typedef enum {NORTH, EAST, SOUTH, WEST} abs_direction;
jmar11 16:b49db5c8e16c 7 //typedef enum {FORWARD, RIGHT, BACK, LEFT} rel_direction;
jmar11 16:b49db5c8e16c 8
Hypna 0:e60f22c1d573 9 class DriveController
Hypna 0:e60f22c1d573 10 {
jmar11 16:b49db5c8e16c 11 public:
jmar11 18:2bd595af51d2 12 //private:
jmar11 18:2bd595af51d2 13
jmar11 16:b49db5c8e16c 14 typename ::abs_direction orient;
jmar11 16:b49db5c8e16c 15
Hypna 13:aa6f64c73271 16 PwmOut treadSpeed1;
Hypna 13:aa6f64c73271 17 PwmOut treadSpeed2;
Hypna 2:d0ce8e26cbc4 18
Hypna 13:aa6f64c73271 19 DigitalOut treadDirection1;
Hypna 13:aa6f64c73271 20 DigitalOut treadDirection2;
Hypna 4:ac6b2e5b240b 21
jmar11 18:2bd595af51d2 22 LineSensors sensors;
jmar11 18:2bd595af51d2 23
Hypna 5:f53f06a866e9 24 bool sensorStates[8][3];
Hypna 0:e60f22c1d573 25
Hypna 12:edcae0f36e9c 26 void spinTest();
Hypna 12:edcae0f36e9c 27 double calculateError();
Hypna 2:d0ce8e26cbc4 28 bool intersection();
Hypna 0:e60f22c1d573 29
jmar11 18:2bd595af51d2 30 //public:
jmar11 18:2bd595af51d2 31
Hypna 2:d0ce8e26cbc4 32 DriveController();
jmar11 17:5046b27f5441 33 void move(typename ::abs_direction dir);
jmar11 17:5046b27f5441 34 void rotate(typename ::abs_direction dir);
jmar11 18:2bd595af51d2 35 typename ::abs_direction getOrient();
jmar11 18:2bd595af51d2 36 void setSensors();
Hypna 0:e60f22c1d573 37 };
Hypna 0:e60f22c1d573 38
Hypna 0:e60f22c1d573 39 #endif