Ben, Simon, Inez IDD
/
BNO055_test2
Test program for the second BNO055 library (Dave's one)
Diff: main.cpp
- Revision:
- 0:e801e9081b04
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Sep 15 23:39:03 2015 +0000 @@ -0,0 +1,47 @@ +#include "mbed.h" +#include "BNO055.h" + +Serial pc(USBTX, USBRX); +BNO055 imu(D14, D15); +DigitalOut led(LED1); +DigitalOut imuResetPin(D12); + +int main() { + pc.baud(9600); + pc.printf("BNO055 Hello World\r\n\r\n"); + led = 1; +// Reset the BNO055 + imuResetPin = 0; + wait(0.1); + imuResetPin = 1; + wait(1); + imu.reset(); +// Check that the BNO055 is connected and flash LED if not + while (!imu.check()){ + led = !led; + wait(1); + } +// Display sensor information + pc.printf("BNO055 found\r\n\r\n"); + pc.printf("Chip ID: %0z\r\n",imu.ID.id); + pc.printf("Accelerometer ID: %0z\r\n",imu.ID.accel); + pc.printf("Gyroscope ID: %0z\r\n",imu.ID.gyro); + pc.printf("Magnetometer ID: %0z\r\n\r\n",imu.ID.mag); + pc.printf("Firmware version v%d.%0d\r\n",imu.ID.sw[0],imu.ID.sw[1]); + pc.printf("Bootloader version v%d\r\n\r\n",imu.ID.bootload); +// Display chip serial number + for (int i = 0; i<4; i++){ + pc.printf("%0z.%0z.%0z.%0z\r\n",imu.ID.serial[i*4],imu.ID.serial[i*4+1],imu.ID.serial[i*4+2],imu.ID.serial[i*4+3]); + } + pc.printf("\r\n"); + + imu.SetExternalCrystal(true); + + while (true) { + imu.setmode(OPERATION_MODE_NDOF); + imu.get_calib(); + imu.get_angles(); + pc.printf("%0z %5.1d %5.1d %5.1d\r\n",imu.calib,imu.euler.roll,imu.euler.pitch,imu.euler.yaw); + wait(1.0); + } +} \ No newline at end of file