Basic program to interrogate the BNO055 and display euler angles

Dependencies:   BNO055 mbed

Files at this revision

API Documentation at this revision

Comitter:
StressedDave
Date:
Sun May 31 07:23:02 2015 +0000
Commit message:
First version

Changed in this revision

BNO055.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r a8e6e26ebe0f BNO055.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BNO055.lib	Sun May 31 07:23:02 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/StressedDave/code/BNO055/#1db1628eb8b2
diff -r 000000000000 -r a8e6e26ebe0f main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun May 31 07:23:02 2015 +0000
@@ -0,0 +1,40 @@
+#include "mbed.h"
+#include "BNO055.h"
+
+Serial pc(USBTX, USBRX);
+BNO055 imu(I2C_SDA,I2C_SCL);
+DigitalOut led(LED1);
+
+int main() {
+    pc.baud(115200);
+    pc.printf("BNO055 Hello World\r\n\r\n");
+    led = 1;
+// Reset the BNO055
+    imu.reset();
+// Check that the BNO055 is connected and flash LED if not
+    if (!imu.check())
+        while (true){
+            led = !led;
+            wait(0.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");
+    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);
+    }
+}
diff -r 000000000000 -r a8e6e26ebe0f mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun May 31 07:23:02 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/cbbeb26dbd92
\ No newline at end of file