drive down

Dependencies:   BMP280 BNO055_fusion PowerControl mbed

Fork of TEAM_G_FLOW_RIDA by Edwin Cho

Committer:
12104404
Date:
Sun Mar 06 18:31:59 2016 +0000
Revision:
5:c89308dc1827
Parent:
4:d70375cfa533
Child:
6:0602a9e8118b
working;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
12104404 0:96d6eb224379 1 #ifndef LOCALIZE_H
12104404 0:96d6eb224379 2 #define LOCALIZE_H
12104404 0:96d6eb224379 3
12104404 0:96d6eb224379 4 #include "mbed.h"
12104404 0:96d6eb224379 5 #include "BNO055.h"
12104404 0:96d6eb224379 6
12104404 1:8966a48ce8d5 7 #define R_P_ADDR 0x04
12104404 2:634c1adf89b2 8 //0x0B^0x0F=0x04
12104404 2:634c1adf89b2 9 #define R_N_ADDR 0x0B
12104404 1:8966a48ce8d5 10
12104404 1:8966a48ce8d5 11 #define FRAME_H 180
12104404 1:8966a48ce8d5 12 #define FRAME_W 150
12104404 5:c89308dc1827 13 #define R_WAIT 0.075
12104404 1:8966a48ce8d5 14 #define R_ERROR 14
12104404 4:d70375cfa533 15 #define RX_OFF 7
12104404 4:d70375cfa533 16 #define RY_OFF 6
12104404 1:8966a48ce8d5 17
12104404 1:8966a48ce8d5 18 #define ERROR_IMU -1
12104404 1:8966a48ce8d5 19 #define ERROR_RX_P -2
12104404 1:8966a48ce8d5 20 #define ERROR_RX_N -3
12104404 1:8966a48ce8d5 21 #define ERROR_RY_P -4
12104404 1:8966a48ce8d5 22 #define ERROR_RY_N -5
12104404 0:96d6eb224379 23
12104404 0:96d6eb224379 24 typedef struct {
12104404 0:96d6eb224379 25 int x;
12104404 0:96d6eb224379 26 int y;
12104404 0:96d6eb224379 27 int a;
12104404 0:96d6eb224379 28 }LOCALIZE_xya;
12104404 0:96d6eb224379 29
12104404 0:96d6eb224379 30 class LOCALIZE
12104404 0:96d6eb224379 31 {
12104404 0:96d6eb224379 32 public:
12104404 0:96d6eb224379 33 LOCALIZE(I2C& y_i2c, I2C& x_imu_i2c, PinName imu_reset);
12104404 0:96d6eb224379 34 int init(void);
12104404 3:c58eb4be51de 35 void get_raw_xy(void);
12104404 0:96d6eb224379 36 void get_angle(LOCALIZE_xya *xya);
12104404 1:8966a48ce8d5 37 void get_xy(LOCALIZE_xya *xya);
12104404 0:96d6eb224379 38
12104404 0:96d6eb224379 39 protected:
12104404 4:d70375cfa533 40 int _angle, _rx_p, _rx_n, _ry_p, _ry_n;
12104404 0:96d6eb224379 41 I2C _y_i2c;
12104404 0:96d6eb224379 42 I2C _x_imu_i2c;
12104404 0:96d6eb224379 43 BNO055 _imu;
12104404 1:8966a48ce8d5 44 BNO055_EULER_TypeDef _euler;
12104404 1:8966a48ce8d5 45 BNO055_GRAVITY_TypeDef _gravity;
12104404 1:8966a48ce8d5 46 BNO055_LIN_ACC_TypeDef _accel;
12104404 1:8966a48ce8d5 47 LOCALIZE_xya _xya;
12104404 0:96d6eb224379 48 };
12104404 0:96d6eb224379 49
12104404 0:96d6eb224379 50 #endif //LOCALIZE_H