asdf

Dependencies:   Adafruit_BNO055

Committer:
abraha2d
Date:
Thu Mar 14 17:54:00 2019 +0000
Revision:
0:8103e7288014
asdf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
abraha2d 0:8103e7288014 1 /* mbed Microcontroller Library
abraha2d 0:8103e7288014 2 * Copyright (c) 2018 ARM Limited
abraha2d 0:8103e7288014 3 * SPDX-License-Identifier: Apache-2.0
abraha2d 0:8103e7288014 4 */
abraha2d 0:8103e7288014 5
abraha2d 0:8103e7288014 6 #include "mbed.h"
abraha2d 0:8103e7288014 7 #include "Adafruit_BNO055.h"
abraha2d 0:8103e7288014 8
abraha2d 0:8103e7288014 9 DigitalOut led1(LED1);
abraha2d 0:8103e7288014 10 I2C i2c(p9, p10); // SDA, SCL
abraha2d 0:8103e7288014 11 Adafruit_BNO055 bno(-1, 0x28, &i2c);
abraha2d 0:8103e7288014 12 Serial pc(USBTX, USBRX); // TX, RX
abraha2d 0:8103e7288014 13
abraha2d 0:8103e7288014 14 /**************************************************************************/
abraha2d 0:8103e7288014 15 /*
abraha2d 0:8103e7288014 16 Display sensor calibration status
abraha2d 0:8103e7288014 17 */
abraha2d 0:8103e7288014 18 /**************************************************************************/
abraha2d 0:8103e7288014 19 void displayCalStatus(void)
abraha2d 0:8103e7288014 20 {
abraha2d 0:8103e7288014 21 /* Get the four calibration values (0..3) */
abraha2d 0:8103e7288014 22 /* Any sensor data reporting 0 should be ignored, */
abraha2d 0:8103e7288014 23 /* 3 means 'fully calibrated" */
abraha2d 0:8103e7288014 24 uint8_t system, gyro, accel, mag;
abraha2d 0:8103e7288014 25 system = gyro = accel = mag = 0;
abraha2d 0:8103e7288014 26 bno.getCalibration(&system, &gyro, &accel, &mag);
abraha2d 0:8103e7288014 27
abraha2d 0:8103e7288014 28 /* Display the individual values */
abraha2d 0:8103e7288014 29 pc.printf("Calibration: S:%1d G:%1d A:%1d M:%1d\r\n", system, gyro, accel, mag);
abraha2d 0:8103e7288014 30 }
abraha2d 0:8103e7288014 31
abraha2d 0:8103e7288014 32 // main() runs in its own thread in the OS
abraha2d 0:8103e7288014 33 int main()
abraha2d 0:8103e7288014 34 {
abraha2d 0:8103e7288014 35 pc.baud(115200);
abraha2d 0:8103e7288014 36 pc.printf("Initializing...\r\n");
abraha2d 0:8103e7288014 37
abraha2d 0:8103e7288014 38 /* Initialise the sensor */
abraha2d 0:8103e7288014 39 if(!bno.begin()) {
abraha2d 0:8103e7288014 40 /* There was a problem detecting the BNO055 ... check your connections */
abraha2d 0:8103e7288014 41 pc.printf("Ooops, no BNO055 detected ... Check your wiring or I2C ADDR!\r\n");
abraha2d 0:8103e7288014 42 while(1);
abraha2d 0:8103e7288014 43 }
abraha2d 0:8103e7288014 44
abraha2d 0:8103e7288014 45 bno.setExtCrystalUse(true);
abraha2d 0:8103e7288014 46
abraha2d 0:8103e7288014 47 while (true) {
abraha2d 0:8103e7288014 48 /* Get a new sensor event */
abraha2d 0:8103e7288014 49 sensors_event_t event;
abraha2d 0:8103e7288014 50 bno.getEvent(&event);
abraha2d 0:8103e7288014 51
abraha2d 0:8103e7288014 52 /* Display the floating point data */
abraha2d 0:8103e7288014 53 pc.printf("X: %4f Y: %4f Z: %4f\r\n",
abraha2d 0:8103e7288014 54 event.orientation.x,
abraha2d 0:8103e7288014 55 event.orientation.y,
abraha2d 0:8103e7288014 56 event.orientation.z);
abraha2d 0:8103e7288014 57
abraha2d 0:8103e7288014 58 displayCalStatus();
abraha2d 0:8103e7288014 59
abraha2d 0:8103e7288014 60 // Blink LED and wait 0.5 seconds
abraha2d 0:8103e7288014 61 led1 = !led1;
abraha2d 0:8103e7288014 62 wait_ms(100);
abraha2d 0:8103e7288014 63 }
abraha2d 0:8103e7288014 64 }