Localization
Dependencies: BNO055_fusion mbed
LOCALIZE.h
00001 #ifndef LOCALIZE_H 00002 #define LOCALIZE_H 00003 00004 #include "mbed.h" 00005 #include "BNO055.h" 00006 00007 #define R_P_ADDR 0x04 00008 //0x0B^0x0F=0x04 00009 #define R_N_ADDR 0x0B 00010 00011 #define FRAME_OFF 0 00012 #define FRAME_H 150 00013 #define FRAME_W 104 00014 #define R_WAIT 0.025 00015 #define R_ERROR 14 00016 #define RX_OFF 7 00017 #define RY_OFF 6 00018 00019 #define ERROR_IMU -1 00020 #define ERROR_RX_P -2 00021 #define ERROR_RX_N -3 00022 #define ERROR_RY_P -4 00023 #define ERROR_RY_N -5 00024 00025 typedef struct { 00026 int x; 00027 int y; 00028 int a; 00029 }LOCALIZE_xya; 00030 00031 class LOCALIZE 00032 { 00033 public: 00034 LOCALIZE(I2C& y_i2c, I2C& x_imu_i2c, PinName imu_reset, PinName sw1, PinName sw2, PinName sw3, PinName sw4); 00035 int init(void); 00036 void get_raw_xy(void); 00037 void get_angle(LOCALIZE_xya *xya); 00038 void get_xy(LOCALIZE_xya *xya); 00039 int _angle, _rx_p, _rx_n, _ry_p, _ry_n;// 00040 BNO055_EULER_TypeDef _euler; 00041 void ledSw(void); 00042 00043 protected: 00044 I2C _y_i2c; 00045 I2C _x_imu_i2c; 00046 BNO055 _imu; 00047 DigitalIn _sw1; 00048 DigitalIn _sw2; 00049 DigitalIn _sw3; 00050 DigitalIn _sw4; 00051 00052 BNO055_GRAVITY_TypeDef _gravity; 00053 BNO055_LIN_ACC_TypeDef _accel; 00054 LOCALIZE_xya _xya; 00055 00056 }; 00057 00058 #endif //LOCALIZE_H
Generated on Fri Jul 15 2022 21:18:53 by 1.7.2