22/02/16
Fork of BNO055_fusion by
BNO055 Class Reference
Interface for Bosch Sensortec Intelligent 9-axis absolute orientation sensor Chip: BNO055. More...
#include <BNO055.h>
Public Member Functions | |
BNO055 (PinName p_sda, PinName p_scl, PinName p_reset, uint8_t addr, uint8_t mode) | |
Configure data pin. | |
BNO055 (PinName p_sda, PinName p_scl, PinName p_reset) | |
Configure data pin. | |
BNO055 (I2C &p_i2c, PinName p_reset, uint8_t addr, uint8_t mode) | |
Configure data pin (with other devices on I2C line) | |
BNO055 (I2C &p_i2c, PinName p_reset) | |
Configure data pin (with other devices on I2C line) | |
void | get_Euler_Angles (BNO055_EULER_TypeDef *el) |
Get Euler Angles. | |
void | get_quaternion (BNO055_QUATERNION_TypeDef *qua) |
Get Quaternion XYZ&W. | |
void | get_linear_accel (BNO055_LIN_ACC_TypeDef *la) |
Get Linear accel data. | |
void | get_gravity (BNO055_GRAVITY_TypeDef *gr) |
Get Gravity data. | |
void | get_chip_temperature (BNO055_TEMPERATURE_TypeDef *tmp) |
Get Chip temperature data both Acc & Gyro. | |
void | change_fusion_mode (uint8_t mode) |
Change fusion mode. | |
void | set_mounting_position (uint8_t position) |
Set Mouting position Please make sure your mounting direction of BNO055 chip refrence: BNO055 data sheet BST-BNO055-DS000-12 3.4 Axis remap. | |
void | read_id_inf (BNO055_ID_INF_TypeDef *id) |
Read BNO055 ID information. | |
uint8_t | chip_ready (void) |
Check chip is avairable or not. | |
uint8_t | read_calib_status (void) |
Read calibration status. | |
uint8_t | reset (void) |
Reset. | |
void | frequency (int hz) |
Set I2C clock frequency. | |
uint8_t | read_reg0 (uint8_t addr) |
Read page 0 register. | |
uint8_t | write_reg0 (uint8_t addr, uint8_t data) |
Write page 0 register. | |
uint8_t | read_reg1 (uint8_t addr) |
Read page 1 register. | |
uint8_t | write_reg1 (uint8_t addr, uint8_t data) |
Write page 1 register. |
Detailed Description
Interface for Bosch Sensortec Intelligent 9-axis absolute orientation sensor Chip: BNO055.
#include "mbed.h" #include "BNO055.h" Serial pc(USBTX,USBRX); I2C i2c(PB_9, PB_8); // SDA, SCL BNO055 imu(i2c, PA_8); // Reset BNO055_ID_INF_TypeDef bno055_id_inf; BNO055_EULER_TypeDef euler_angles; int main() { pc.printf("Bosch Sensortec BNO055 test program on " __DATE__ "/" __TIME__ "\r\n"); if (imu.chip_ready() == 0){ pc.printf("Bosch BNO055 is NOT avirable!!\r\n"); } imu.read_id_inf(&bno055_id_inf); pc.printf("CHIP:0x%02x, ACC:0x%02x, MAG:0x%02x, GYR:0x%02x, , SW:0x%04x, , BL:0x%02x\r\n", bno055_id_inf.chip_id, bno055_id_inf.acc_id, bno055_id_inf.mag_id, bno055_id_inf.gyr_id, bno055_id_inf.sw_rev_id, bno055_id_inf.bootldr_rev_id); while(1) { imu.get_Euler_Angles(&euler_angles); pc.printf("Heading:%+6.1f [deg], Roll:%+6.1f [deg], Pich:%+6.1f [deg]\r\n", euler_angles.h, euler_angles.r, euler_angles.p); wait(0.5); } }
Definition at line 140 of file BNO055.h.
Constructor & Destructor Documentation
BNO055 | ( | PinName | p_sda, |
PinName | p_scl, | ||
PinName | p_reset, | ||
uint8_t | addr, | ||
uint8_t | mode | ||
) |
Configure data pin.
- Parameters:
-
data SDA and SCL pins device address
Definition at line 22 of file BNO055.cpp.
BNO055 | ( | PinName | p_sda, |
PinName | p_scl, | ||
PinName | p_reset | ||
) |
Configure data pin.
- Parameters:
-
data SDA and SCL pins Other parameters are set default data
Definition at line 30 of file BNO055.cpp.
BNO055 | ( | I2C & | p_i2c, |
PinName | p_reset, | ||
uint8_t | addr, | ||
uint8_t | mode | ||
) |
Configure data pin (with other devices on I2C line)
- Parameters:
-
I2C previous definition device address
Definition at line 38 of file BNO055.cpp.
BNO055 | ( | I2C & | p_i2c, |
PinName | p_reset | ||
) |
Configure data pin (with other devices on I2C line)
- Parameters:
-
I2C previous definition Other parameters are set default data
Definition at line 46 of file BNO055.cpp.
Member Function Documentation
void change_fusion_mode | ( | uint8_t | mode ) |
uint8_t chip_ready | ( | void | ) |
Check chip is avairable or not.
- Parameters:
-
none
- Returns:
- OK = 1, NG = 0;
Definition at line 316 of file BNO055.cpp.
void frequency | ( | int | hz ) |
void get_chip_temperature | ( | BNO055_TEMPERATURE_TypeDef * | tmp ) |
Get Chip temperature data both Acc & Gyro.
- Parameters:
-
int8_t type of data address
Definition at line 160 of file BNO055.cpp.
void get_Euler_Angles | ( | BNO055_EULER_TypeDef * | el ) |
Get Euler Angles.
- Parameters:
-
double type of 3D data address
Definition at line 55 of file BNO055.cpp.
void get_gravity | ( | BNO055_GRAVITY_TypeDef * | gr ) |
Get Gravity data.
- Parameters:
-
double type of 3D data address
Definition at line 129 of file BNO055.cpp.
void get_linear_accel | ( | BNO055_LIN_ACC_TypeDef * | la ) |
Get Linear accel data.
- Parameters:
-
double type of 3D data address
Definition at line 98 of file BNO055.cpp.
void get_quaternion | ( | BNO055_QUATERNION_TypeDef * | qua ) |
Get Quaternion XYZ&W.
- Parameters:
-
int16_t type of 4D data address
Definition at line 86 of file BNO055.cpp.
uint8_t read_calib_status | ( | void | ) |
Read calibration status.
- Parameters:
-
none
- Returns:
- SYS(7:6),GYR(5:4),ACC(3:2),MAG(1:0) 3 = Calibrated, 0= not yet
Definition at line 325 of file BNO055.cpp.
void read_id_inf | ( | BNO055_ID_INF_TypeDef * | id ) |
Read BNO055 ID information.
- Parameters:
-
ID information address
- Returns:
- none
Definition at line 305 of file BNO055.cpp.
uint8_t read_reg0 | ( | uint8_t | addr ) |
Read page 0 register.
- Parameters:
-
register's address
- Returns:
- register data
Definition at line 436 of file BNO055.cpp.
uint8_t read_reg1 | ( | uint8_t | addr ) |
Read page 1 register.
- Parameters:
-
register's address
- Returns:
- register data
Definition at line 460 of file BNO055.cpp.
uint8_t reset | ( | void | ) |
Reset.
- Parameters:
-
none
- Returns:
- 0 = sucess, 1 = Not available chip
Definition at line 245 of file BNO055.cpp.
void set_mounting_position | ( | uint8_t | position ) |
Set Mouting position Please make sure your mounting direction of BNO055 chip refrence: BNO055 data sheet BST-BNO055-DS000-12 3.4 Axis remap.
- Parameters:
-
Set P0 to P7 mounting position data
- Returns:
- none
Definition at line 379 of file BNO055.cpp.
uint8_t write_reg0 | ( | uint8_t | addr, |
uint8_t | data | ||
) |
Write page 0 register.
- Parameters:
-
register's address data
- Returns:
- register data
Definition at line 445 of file BNO055.cpp.
uint8_t write_reg1 | ( | uint8_t | addr, |
uint8_t | data | ||
) |
Write page 1 register.
- Parameters:
-
register's address data
- Returns:
- register data
Definition at line 469 of file BNO055.cpp.
Generated on Thu Jul 14 2022 02:23:01 by 1.7.2