mechatronics drive

Dependencies:   BNO055_fusion mbed

Fork of DEMO3 by Edwin Cho

LOCALIZE.h

Committer:
12104404
Date:
2016-03-02
Revision:
2:634c1adf89b2
Parent:
1:8966a48ce8d5
Child:
3:c58eb4be51de

File content as of revision 2:634c1adf89b2:

#ifndef LOCALIZE_H
#define LOCALIZE_H

#include "mbed.h"
#include "BNO055.h"

#define R_P_ADDR    0x04
//0x0B^0x0F=0x04
#define R_N_ADDR    0x0B

#define FRAME_H     180
#define FRAME_W     150
#define RX_OFF 7
#define RY_OFF 6
#define R_ERROR     14

#define ERROR_IMU   -1
#define ERROR_RX_P  -2
#define ERROR_RX_N  -3
#define ERROR_RY_P  -4
#define ERROR_RY_N  -5

typedef struct {
    int x;
    int y;
    int a;
}LOCALIZE_xya;

class LOCALIZE
{
public:
    LOCALIZE(I2C& y_i2c, I2C& x_imu_i2c, PinName imu_reset);
    int init(void);
    void get_angle(LOCALIZE_xya *xya);
    void get_xy(LOCALIZE_xya *xya);

protected:
    I2C _y_i2c;
    I2C _x_imu_i2c;
    BNO055 _imu;
    BNO055_EULER_TypeDef _euler;
    BNO055_GRAVITY_TypeDef _gravity;
    BNO055_LIN_ACC_TypeDef _accel;
    LOCALIZE_xya _xya;
};

#endif  //LOCALIZE_H