Initial
Dependencies: LIS3MDL LPS25H LSM6DS33 USBDevice mbed
main.cpp
- Committer:
- bclaus
- Date:
- 2016-10-06
- Revision:
- 1:b6fa3b031046
- Parent:
- 0:6ff6b64d1bef
File content as of revision 1:b6fa3b031046:
/* *LSM6DSS can provide readings up to 6.6khz for acc and gyr *LIS3MDL can only do 80hz *LPS25H can do up to 25Hz * */ #include "mbed.h" #include "USBSerial.h" #include "lis3mdl.h" #include "LPS25H.h" #include "LSM6DS33.h" LIS3MDL mag(PTB3, PTB2); LPS25H bar(PTB3, PTB2); LSM6DS33 accgyr(PTB3, PTB2,LSM6DS33_AG_I2C_ADDR(1)); Timer tmain; //Virtual serial port over USB USBSerial serial; int main(void) { accgyr.begin(); double timeLog=0; tmain.start(); timeLog +=tmain.read(); //run main loop at 100Hz double mainPeriod = 0.01; //sample acc/gyr/mag at full rate serial.printf("begin teensyIMU\r\n"); while(1) { if(tmain.read()< mainPeriod){ wait(mainPeriod - tmain.read());//wait until time for next main loop }else{ serial.printf("not fast enough\r\n"); } timeLog +=tmain.read(); tmain.reset(); //read accgyr at full rate accgyr.readAll(); mag.readMag(); bar.readPres(); serial.printf("tIMU:%.9lf %f %f %f %f %f %f %f %d %d %d %f\r\n",timeLog,accgyr.temperature_c, accgyr.ax,accgyr.ay,accgyr.az, accgyr.gx,accgyr.gy,accgyr.gz, mag.mx_raw,mag.my_raw,mag.mz_raw, bar.presPa); } }