added main and defined M_PI

Dependencies:   BNOWrapper

Committer:
JesiMiranda
Date:
Sat Jul 27 00:12:40 2019 +0000
Revision:
3:24e65bfcea6d
Parent:
2:1fd1549d3fbd
Child:
4:ecd3871549e8
changed like 1 line

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JesiMiranda 1:4a5b43b9502c 1 #include <mbed.h>
JesiMiranda 1:4a5b43b9502c 2 #include <BNO080.h>
JesiMiranda 2:1fd1549d3fbd 3
JesiMiranda 0:0f12b8c4d5f1 4 int main()
JesiMiranda 0:0f12b8c4d5f1 5 {
JesiMiranda 3:24e65bfcea6d 6 Serial pc(USBTX, USBRX, 115200);
JesiMiranda 3:24e65bfcea6d 7
JesiMiranda 1:4a5b43b9502c 8 // Create IMU, passing in output stream, pins, I2C address, and I2C frequency
JesiMiranda 1:4a5b43b9502c 9 // These pin assignments are specific to my dev setup -- you'll need to change them
JesiMiranda 3:24e65bfcea6d 10 //pc.printf("============================================================\n");
JesiMiranda 3:24e65bfcea6d 11
JesiMiranda 3:24e65bfcea6d 12 BNO080 imu(&pc, PB_7, PB_6, D12, PA_11, 0x4b, 400000);
JesiMiranda 3:24e65bfcea6d 13
JesiMiranda 3:24e65bfcea6d 14 //pc.printf("==================================== Entering imu.begin ===================================\r\n");
JesiMiranda 2:1fd1549d3fbd 15 imu.begin();
JesiMiranda 3:24e65bfcea6d 16 //pc.printf("======================================EXIT & ENABLING REPORT FOR IMU==========================================================\r\n");
JesiMiranda 1:4a5b43b9502c 17 // Tell the IMU to report rotation every 100ms and acceleration every 200ms
JesiMiranda 1:4a5b43b9502c 18 imu.enableReport(BNO080::ROTATION, 100);
JesiMiranda 1:4a5b43b9502c 19 imu.enableReport(BNO080::TOTAL_ACCELERATION, 200);
JesiMiranda 3:24e65bfcea6d 20 wait(.002f);
JesiMiranda 3:24e65bfcea6d 21 //pc.printf("======================================DONE ENABLING REPORT FOR IMU ===================================================\r\n");
JesiMiranda 3:24e65bfcea6d 22 //pc.printf("========================= STUCK INSIDE THE WHILE LOOP ===============================\r\n");
JesiMiranda 3:24e65bfcea6d 23
JesiMiranda 3:24e65bfcea6d 24 while (true) {
JesiMiranda 1:4a5b43b9502c 25 wait(.001f);
JesiMiranda 1:4a5b43b9502c 26 // poll the IMU for new data -- this returns true if any packets were received
JesiMiranda 3:24e65bfcea6d 27 if(imu.updateData()) {
JesiMiranda 3:24e65bfcea6d 28 //pc.printf("======================================= INSIDE IMU.UPDATEDATA() =================================\r\n");
JesiMiranda 1:4a5b43b9502c 29 // now check for the specific type of data that was received (can be multiple at once)
JesiMiranda 3:24e65bfcea6d 30 if (imu.hasNewData(BNO080::ROTATION)) {
JesiMiranda 1:4a5b43b9502c 31 // convert quaternion to Euler degrees and print
JesiMiranda 1:4a5b43b9502c 32 pc.printf("IMU Rotation Euler: ");
JesiMiranda 1:4a5b43b9502c 33 TVector3 eulerRadians = imu.rotationVector.euler();
JesiMiranda 1:4a5b43b9502c 34 TVector3 eulerDegrees = eulerRadians * (180.0 / M_PI);
JesiMiranda 1:4a5b43b9502c 35 eulerDegrees.print(pc, true);
JesiMiranda 1:4a5b43b9502c 36 pc.printf("\n");
JesiMiranda 1:4a5b43b9502c 37 }
JesiMiranda 3:24e65bfcea6d 38 /*
JesiMiranda 3:24e65bfcea6d 39 if (imu.hasNewData(BNO080::TOTAL_ACCELERATION)) {
JesiMiranda 1:4a5b43b9502c 40 // print the acceleration vector using its builtin print() method
JesiMiranda 1:4a5b43b9502c 41 pc.printf("IMU Total Acceleration: ");
JesiMiranda 1:4a5b43b9502c 42 imu.totalAcceleration.print(pc, true);
JesiMiranda 1:4a5b43b9502c 43 pc.printf("\n");
JesiMiranda 1:4a5b43b9502c 44 }
JesiMiranda 3:24e65bfcea6d 45 */
JesiMiranda 3:24e65bfcea6d 46
JesiMiranda 1:4a5b43b9502c 47 }
JesiMiranda 0:0f12b8c4d5f1 48 }
JesiMiranda 3:24e65bfcea6d 49
JesiMiranda 0:0f12b8c4d5f1 50 }
JesiMiranda 3:24e65bfcea6d 51