cube

Dependencies:   BNO055_fusion_tom FastPWM mbed

Committer:
wchurch
Date:
Sun Apr 09 00:47:55 2017 +0000
Revision:
5:9247f07a954a
Parent:
4:ae9e664301dd
Child:
6:f2c930a90873
interrupt test working;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wchurch 0:604ceafb7bb3 1 #include "mbed.h"
wchurch 0:604ceafb7bb3 2 #include "BNO055.h"
wchurch 0:604ceafb7bb3 3
wchurch 0:604ceafb7bb3 4
wchurch 0:604ceafb7bb3 5 //------------------------------------
wchurch 0:604ceafb7bb3 6 // Hyperterminal configuration
wchurch 0:604ceafb7bb3 7 // 9600 bauds, 8-bit data, no parity
wchurch 0:604ceafb7bb3 8 //------------------------------------
wchurch 0:604ceafb7bb3 9
wchurch 0:604ceafb7bb3 10 Serial pc(SERIAL_TX, SERIAL_RX);
wchurch 0:604ceafb7bb3 11
wchurch 5:9247f07a954a 12 Ticker pwmint;
wchurch 0:604ceafb7bb3 13 DigitalOut myled(LED1);
wchurch 1:d81f93d3f819 14 PwmOut P1(PE_9);
wchurch 1:d81f93d3f819 15 PwmOut P2(PE_11);
wchurch 1:d81f93d3f819 16 PwmOut P3(PE_13);
wchurch 0:604ceafb7bb3 17
wchurch 5:9247f07a954a 18 void pwmupdate() {
wchurch 5:9247f07a954a 19 myled = !myled;
wchurch 5:9247f07a954a 20 }
wchurch 5:9247f07a954a 21
wchurch 0:604ceafb7bb3 22 int main()
wchurch 0:604ceafb7bb3 23 {
wchurch 0:604ceafb7bb3 24 //int i = 1;
wchurch 0:604ceafb7bb3 25 pc.printf("Hello World !\n");
wchurch 0:604ceafb7bb3 26 I2C i2c(PB_9, PB_8); // SDA, SCL
wchurch 0:604ceafb7bb3 27 BNO055 imu(i2c, PA_8); // Reset
wchurch 0:604ceafb7bb3 28
wchurch 0:604ceafb7bb3 29 BNO055_ID_INF_TypeDef bno055_id_inf;
wchurch 0:604ceafb7bb3 30 BNO055_EULER_TypeDef euler_angles;
wchurch 0:604ceafb7bb3 31
wchurch 0:604ceafb7bb3 32 pc.printf("Bosch Sensortec BNO055 test program on " __DATE__ "/" __TIME__ "\r\n");
wchurch 0:604ceafb7bb3 33 if (imu.chip_ready() == 0){
wchurch 4:ae9e664301dd 34 pc.printf("Bosch BNO055 is NOT available!!\r\n");
wchurch 0:604ceafb7bb3 35 }
wchurch 0:604ceafb7bb3 36 imu.read_id_inf(&bno055_id_inf);
wchurch 0:604ceafb7bb3 37 pc.printf("CHIP:0x%02x, ACC:0x%02x, MAG:0x%02x, GYR:0x%02x, , SW:0x%04x, , BL:0x%02x\r\n",
wchurch 0:604ceafb7bb3 38 bno055_id_inf.chip_id, bno055_id_inf.acc_id, bno055_id_inf.mag_id,
wchurch 0:604ceafb7bb3 39 bno055_id_inf.gyr_id, bno055_id_inf.sw_rev_id, bno055_id_inf.bootldr_rev_id);
wchurch 5:9247f07a954a 40 pwmint.attach(&pwmupdate,.03);
wchurch 0:604ceafb7bb3 41
wchurch 0:604ceafb7bb3 42 while(1) {
wchurch 0:604ceafb7bb3 43 // acc.getAccAllAxis(data);
wchurch 0:604ceafb7bb3 44 // pc.printf("Data %d %d %d \n",data[0], data[1], data[2]);
wchurch 0:604ceafb7bb3 45 imu.get_Euler_Angles(&euler_angles);
wchurch 0:604ceafb7bb3 46 pc.printf("Heading:%+6.4f [deg], Roll:%+6.4f [deg], Pitch:%+6.4f [deg]\r\n",
wchurch 0:604ceafb7bb3 47 euler_angles.h, euler_angles.r, euler_angles.p);
wchurch 0:604ceafb7bb3 48 wait(0.2);
wchurch 0:604ceafb7bb3 49
wchurch 5:9247f07a954a 50
wchurch 2:93c7a7fb3203 51 P1 = (euler_angles.h/360.0);
wchurch 2:93c7a7fb3203 52 P2 = (euler_angles.r/360.0);
wchurch 2:93c7a7fb3203 53 P3 = (euler_angles.p/360.0);
wchurch 0:604ceafb7bb3 54 }
wchurch 0:604ceafb7bb3 55 }