added main and defined M_PI

Dependencies:   BNOWrapper

main.cpp

Committer:
JesiMiranda
Date:
2019-07-22
Revision:
2:1fd1549d3fbd
Parent:
1:4a5b43b9502c
Child:
3:24e65bfcea6d

File content as of revision 2:1fd1549d3fbd:

#include <mbed.h>
#include <BNO080.h>

int main()
{
    Serial pc(USBTX, USBRX, 9600);
 
    // Create IMU, passing in output stream, pins, I2C address, and I2C frequency
    // These pin assignments are specific to my dev setup -- you'll need to change them
    BNO080 imu(&pc, PB_7 , PB_6, PB_0, D10, 0x4b, 400000); 
 
    pc.printf("============================================================\n");
    imu.begin();
    pc.printf("======================================ENABLING REPORT FOR IMU==========================================================\r\n");
    // Tell the IMU to report rotation every 100ms and acceleration every 200ms
    imu.enableReport(BNO080::ROTATION, 100);
    imu.enableReport(BNO080::TOTAL_ACCELERATION, 200);
    pc.printf("======================================DONE ENABLING REPORT FOR IMU ===================================================\r\n");
    pc.printf("=========================    STUCK INSIDE THE WHILE LOOP ===============================\r\n");
    while (true)
    {   
        wait(.001f);
        // poll the IMU for new data -- this returns true if any packets were received
        if(imu.updateData())
        {
            pc.printf("======================================= INSIDE IMU.UPDATEDATA() =================================\r\n");
            // now check for the specific type of data that was received (can be multiple at once)
            if (imu.hasNewData(BNO080::ROTATION))
            {
                // convert quaternion to Euler degrees and print
                pc.printf("IMU Rotation Euler: ");
                TVector3 eulerRadians = imu.rotationVector.euler();
                TVector3 eulerDegrees = eulerRadians * (180.0 / M_PI);
                eulerDegrees.print(pc, true);
                pc.printf("\n");
            }
            if (imu.hasNewData(BNO080::TOTAL_ACCELERATION))
            {
                // print the acceleration vector using its builtin print() method
                pc.printf("IMU Total Acceleration: ");
                imu.totalAcceleration.print(pc, true);
                pc.printf("\n");
            }
        }
    }
 
}