Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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 134 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 25 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 33 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 41 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 49 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 319 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 163 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 58 of file BNO055.cpp.
| void get_gravity | ( | BNO055_GRAVITY_TypeDef * | gr ) | 
Get Gravity data.
- Parameters:
- 
  double type of 3D data address 
Definition at line 132 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 101 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 89 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 328 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 308 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 439 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 463 of file BNO055.cpp.
| uint8_t reset | ( | void | ) | 
Reset.
- Parameters:
- 
  none 
- Returns:
- 0 = sucess, 1 = Not available chip
Definition at line 248 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 382 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 448 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 472 of file BNO055.cpp.
Generated on Wed Aug 3 2022 21:28:56 by
 1.7.2
 1.7.2