fealkn

Dependencies:   mbed LSM9DS1_Library VL53L0X

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include <stdio.h>
00003 #include "LSM9DS1.h"
00004 #include "VL53L0X.h"
00005 
00006 DigitalOut myled(LED1);
00007 
00008 Serial pc(USBTX,USBRX);
00009 DigitalOut shdn(p26);
00010 
00011 LSM9DS1 lol(p9, p10, 0xD6, 0x3C);
00012 I2C i2c(p28, p27);
00013 VL53L0X lidar(&i2c);
00014 
00015 int main() 
00016 {
00017     float tempC;
00018     shdn = 0; //must reset sensor for an mbed reset to work
00019     wait(0.1);
00020     shdn = 1;
00021     wait(0.1);
00022     lol.begin();
00023     if (!lol.begin()) {
00024         pc.printf("Failed to communicate with LSM9DS1.\n");
00025     }
00026     lol.calibrate();
00027     
00028     //loop taking and printing distance
00029     while (1) 
00030     {
00031         lol.readTemp();
00032         lol.readMag();
00033         lol.readGyro();
00034         
00035         //pc.printf("%d %d %d %d %d %d %d %d %d\n\r", lol.calcGyro(lol.gx), lol.calcGyro(lol.gy), lol.calcGyro(lol.gz), lol.ax, lol.ay, lol.az, lol.mx, lol.my, lol.mz);
00036         //pc.printf("%d %d %d\n\r", lol.calcGyro(lol.gx), lol.calcGyro(lol.gy), lol.calcGyro(lol.gz));
00037         pc.printf("gyro: %d %d %d\n\r", lol.gx, lol.gy, lol.gz);
00038         pc.printf("accel: %d %d %d\n\r", lol.ax, lol.ay, lol.az);
00039         pc.printf("mag: %d %d %d\n\n\r", lol.mx, lol.my, lol.mz);
00040         myled = 1;
00041         wait(2);
00042         myled = 0;
00043         wait(2);
00044 //        tempC = myTMP36;
00045 //        pc.printf("Float operator overloading avoids .read(): T=%5.2F C \n\r", tempC);
00046 //        pc.printf("A Printf arg needs a float type convert: T=%5.2F C \n\r", float(myTMP36));
00047 //        pc.printf("Or Use .read() instead: T=%5.2F C \n\r\n\r", myTMP36.read());
00048 //        wait(.5);
00049         
00050     }
00051     
00052 }