Sherry Yang
/
BNO055_Demo
BNO044 Demo
Fork of BNO055_HelloWorld by
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 // BNO055 Demo 00002 00003 #include "mbed.h" 00004 #include "BNO055.h" 00005 00006 //Serial pc(USBTX, USBRX); 00007 Serial pc(p9, p11); 00008 //BNO055 imu(I2C_SDA,I2C_SCL); 00009 BNO055 imu(p30, p7); 00010 00011 void setup() { 00012 pc.baud(115200); 00013 00014 pc.printf("\r\n------ BNO055 Demo -----------\r\n"); 00015 00016 // Reset the BNO055 00017 imu.reset(); 00018 // Check that the BNO055 is connected and display info 00019 if (imu.check()) 00020 { 00021 pc.printf("BNO055 found\r\n\r\n"); 00022 pc.printf("Chip ID: %d\r\n",imu.ID.id); 00023 pc.printf("Accelerometer ID: %d\r\n",imu.ID.accel); 00024 pc.printf("Gyroscope ID: %d\r\n",imu.ID.gyro); 00025 pc.printf("Magnetometer ID: %d\r\n\r\n",imu.ID.mag); 00026 pc.printf("Firmware version v%d.%0d\r\n",imu.ID.sw[0],imu.ID.sw[1]); 00027 pc.printf("Bootloader version v%d\r\n\r\n",imu.ID.bootload); 00028 } 00029 00030 // Set power mode, POWER_MODE_NORMAL(default), POWER_MODE_LOWPOWER, or POWER_MODE_SUSPEND(sleep) 00031 // By default, I2C will pull high when bus is free(pg90 of datasheet) 00032 imu.setpowermode(POWER_MODE_SUSPEND); 00033 } 00034 00035 int main() { 00036 setup(); 00037 00038 while (true) { 00039 imu.setmode(OPERATION_MODE_AMG); 00040 pc.printf("Temp:\r\n"); 00041 imu.set_temp_units(CENTIGRADE); 00042 imu.get_temp(); 00043 pc.printf("TC: %d\r\n", imu.temperature); 00044 imu.set_temp_units(FAHRENHEIT); 00045 imu.get_temp(); 00046 pc.printf("TF: %d\r\n", imu.temperature); 00047 00048 imu.get_accel(); 00049 pc.printf("Accel:\r\n"); 00050 pc.printf("AX: %2f\r\n", imu.accel.x); 00051 pc.printf("AY: %2f\r\n", imu.accel.y); 00052 pc.printf("AZ: %2f\r\n", imu.accel.z); 00053 00054 imu.get_gyro(); 00055 pc.printf("Gyro:\r\n"); 00056 pc.printf("GX: %2f\r\n", imu.gyro.x); 00057 pc.printf("GY: %2f\r\n", imu.gyro.y); 00058 pc.printf("GZ: %2f\r\n", imu.gyro.z); 00059 00060 imu.get_mag(); 00061 pc.printf("Mag:\r\n"); 00062 pc.printf("MX: %2f\r\n", imu.mag.x); 00063 pc.printf("MY: %2f\r\n", imu.mag.y); 00064 pc.printf("MZ: %2f\r\n\r\n", imu.mag.z); 00065 00066 wait(1.0); 00067 } 00068 }
Generated on Thu Jul 28 2022 16:03:15 by 1.7.2