use in class project
Dependencies: mbed BNO055 ros_lib_kinetic
Diff: main.cpp
- Revision:
- 0:7f3dd28ad889
- Child:
- 1:1e40c57efbb1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Dec 15 08:49:09 2018 +0000 @@ -0,0 +1,45 @@ +#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: %u\r\n",imu.ID.id); + pc.printf("Accelerometer ID: %u\r\n",imu.ID.accel); + pc.printf("Gyroscope ID: %u\r\n",imu.ID.gyro); + pc.printf("Magnetometer ID: %u\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("%u.%u.%u.%u\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(); + imu.get_temp(); + imu.get_quat(); + pc.printf("Temperature\t%d\n", imu.temperature); + pc.printf("Quaternion: w:%f\tx:%f\ty:%f\tz:%f\n", imu.quat.w, imu.quat.x, imu.quat.y, imu.quat.z); + //pc.printf("%u\t\t%5.1d\t\t%5.1d\t\t%5.1d\r\n",imu.calib,imu.euler.roll,imu.euler.pitch,imu.euler.yaw); + wait(0.5); + } +} \ No newline at end of file