Code for our FYDP -only one IMU works right now -RTOS is working

Dependencies:   mbed

Committer:
majik
Date:
Wed Mar 18 22:23:48 2015 +0000
Revision:
0:964eb6a2ef00
This is our FYDP code, but only one IMU works with the RTOS.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
majik 0:964eb6a2ef00 1 #ifndef RECKON_H
majik 0:964eb6a2ef00 2 #define RECKON_H
majik 0:964eb6a2ef00 3
majik 0:964eb6a2ef00 4 #include "mbed.h"
majik 0:964eb6a2ef00 5 #include "ADNS5090.h"
majik 0:964eb6a2ef00 6
majik 0:964eb6a2ef00 7 //TODO: include a function to swap motors if they are connected wrong.
majik 0:964eb6a2ef00 8
majik 0:964eb6a2ef00 9 #define DEGREES(radians)((radians)*180/M_PI)
majik 0:964eb6a2ef00 10
majik 0:964eb6a2ef00 11 class Reckon
majik 0:964eb6a2ef00 12 {
majik 0:964eb6a2ef00 13 public:
majik 0:964eb6a2ef00 14
majik 0:964eb6a2ef00 15 ADNS5090& optical_flow_L;
majik 0:964eb6a2ef00 16 ADNS5090& optical_flow_R;
majik 0:964eb6a2ef00 17 float r;
majik 0:964eb6a2ef00 18
majik 0:964eb6a2ef00 19 float x;
majik 0:964eb6a2ef00 20 float y;
majik 0:964eb6a2ef00 21 float accX;
majik 0:964eb6a2ef00 22 float accY;
majik 0:964eb6a2ef00 23 float accZ;
majik 0:964eb6a2ef00 24
majik 0:964eb6a2ef00 25 float flowX;
majik 0:964eb6a2ef00 26 float flowY;
majik 0:964eb6a2ef00 27 float flowYaw;
majik 0:964eb6a2ef00 28 float flow_dx_L;
majik 0:964eb6a2ef00 29 float flow_dx_R;
majik 0:964eb6a2ef00 30 float flow_dy_L;
majik 0:964eb6a2ef00 31 float flow_dy_R;
majik 0:964eb6a2ef00 32 float gyroYaw;
majik 0:964eb6a2ef00 33
majik 0:964eb6a2ef00 34 Reckon(ADNS5090& L,ADNS5090& R, float radius);
majik 0:964eb6a2ef00 35
majik 0:964eb6a2ef00 36 static float reduce_angle( float &);
majik 0:964eb6a2ef00 37
majik 0:964eb6a2ef00 38 float dest_angle(float x_dest, float y_dest);
majik 0:964eb6a2ef00 39 float dest_distance(float x_dest, float y_dest);
majik 0:964eb6a2ef00 40
majik 0:964eb6a2ef00 41 bool updateOpticalFlow(); //new
majik 0:964eb6a2ef00 42 void reset();
majik 0:964eb6a2ef00 43
majik 0:964eb6a2ef00 44 private:
majik 0:964eb6a2ef00 45 Timer frametime;
majik 0:964eb6a2ef00 46 };
majik 0:964eb6a2ef00 47
majik 0:964eb6a2ef00 48 #endif