Sherry Yang
/
BNO055_Demo
BNO044 Demo
Fork of BNO055_HelloWorld by
main.cpp@0:a8e6e26ebe0f, 2015-05-31 (annotated)
- Committer:
- StressedDave
- Date:
- Sun May 31 07:23:02 2015 +0000
- Revision:
- 0:a8e6e26ebe0f
- Child:
- 1:aa7766849e5d
First version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
StressedDave | 0:a8e6e26ebe0f | 1 | #include "mbed.h" |
StressedDave | 0:a8e6e26ebe0f | 2 | #include "BNO055.h" |
StressedDave | 0:a8e6e26ebe0f | 3 | |
StressedDave | 0:a8e6e26ebe0f | 4 | Serial pc(USBTX, USBRX); |
StressedDave | 0:a8e6e26ebe0f | 5 | BNO055 imu(I2C_SDA,I2C_SCL); |
StressedDave | 0:a8e6e26ebe0f | 6 | DigitalOut led(LED1); |
StressedDave | 0:a8e6e26ebe0f | 7 | |
StressedDave | 0:a8e6e26ebe0f | 8 | int main() { |
StressedDave | 0:a8e6e26ebe0f | 9 | pc.baud(115200); |
StressedDave | 0:a8e6e26ebe0f | 10 | pc.printf("BNO055 Hello World\r\n\r\n"); |
StressedDave | 0:a8e6e26ebe0f | 11 | led = 1; |
StressedDave | 0:a8e6e26ebe0f | 12 | // Reset the BNO055 |
StressedDave | 0:a8e6e26ebe0f | 13 | imu.reset(); |
StressedDave | 0:a8e6e26ebe0f | 14 | // Check that the BNO055 is connected and flash LED if not |
StressedDave | 0:a8e6e26ebe0f | 15 | if (!imu.check()) |
StressedDave | 0:a8e6e26ebe0f | 16 | while (true){ |
StressedDave | 0:a8e6e26ebe0f | 17 | led = !led; |
StressedDave | 0:a8e6e26ebe0f | 18 | wait(0.1); |
StressedDave | 0:a8e6e26ebe0f | 19 | } |
StressedDave | 0:a8e6e26ebe0f | 20 | // Display sensor information |
StressedDave | 0:a8e6e26ebe0f | 21 | pc.printf("BNO055 found\r\n\r\n"); |
StressedDave | 0:a8e6e26ebe0f | 22 | pc.printf("Chip ID: %0z\r\n",imu.ID.id); |
StressedDave | 0:a8e6e26ebe0f | 23 | pc.printf("Accelerometer ID: %0z\r\n",imu.ID.accel); |
StressedDave | 0:a8e6e26ebe0f | 24 | pc.printf("Gyroscope ID: %0z\r\n",imu.ID.gyro); |
StressedDave | 0:a8e6e26ebe0f | 25 | pc.printf("Magnetometer ID: %0z\r\n\r\n",imu.ID.mag); |
StressedDave | 0:a8e6e26ebe0f | 26 | pc.printf("Firmware version v%d.%0d\r\n",imu.ID.sw[0],imu.ID.sw[1]); |
StressedDave | 0:a8e6e26ebe0f | 27 | pc.printf("Bootloader version v%d\r\n\r\n",imu.ID.bootload); |
StressedDave | 0:a8e6e26ebe0f | 28 | // Display chip serial number |
StressedDave | 0:a8e6e26ebe0f | 29 | for (int i = 0; i<4; i++){ |
StressedDave | 0:a8e6e26ebe0f | 30 | 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]); |
StressedDave | 0:a8e6e26ebe0f | 31 | } |
StressedDave | 0:a8e6e26ebe0f | 32 | pc.printf("\r\n"); |
StressedDave | 0:a8e6e26ebe0f | 33 | while (true) { |
StressedDave | 0:a8e6e26ebe0f | 34 | imu.setmode(OPERATION_MODE_NDOF); |
StressedDave | 0:a8e6e26ebe0f | 35 | imu.get_calib(); |
StressedDave | 0:a8e6e26ebe0f | 36 | imu.get_angles(); |
StressedDave | 0:a8e6e26ebe0f | 37 | pc.printf("%0z %5.1d %5.1d %5.1d\r\n",imu.calib,imu.euler.roll,imu.euler.pitch,imu.euler.yaw); |
StressedDave | 0:a8e6e26ebe0f | 38 | wait(1.0); |
StressedDave | 0:a8e6e26ebe0f | 39 | } |
StressedDave | 0:a8e6e26ebe0f | 40 | } |