plot accelerometer data

Dependencies:   mbed LSM9DS1_Library_cal

main.cpp

Committer:
chebbi
Date:
2020-07-08
Revision:
3:201ee5790c15
Parent:
1:9e6bd185745d

File content as of revision 3:201ee5790c15:

#include "mbed.h"
#include "LSM9DS1.h"

// Earth's magnetic field varies by location. Add or subtract
// a declination to get a more accurate heading. Calculate
// your's here:



Serial pc(USBTX, USBRX);




int main()
{
    
    LSM9DS1 IMU(PC4, PC5,0xD6, 0x3C);
    IMU.begin();
    if (!IMU.begin()) {
        pc.printf("Failed to communicate with LSM9DS1.\n");
    }
    int i=0 ; 
    while(1) {
        
        while(!IMU.accelAvailable());
        IMU.readAccel();
        
         
       while( !IMU.gyroAvailable() )
        
        IMU.readGyro();
        
        
        //float acc = sqrt(IMU.calcAccel(IMU.ax)*IMU.calcAccel(IMU.ax)+IMU.calcAccel(IMU.ay)*IMU.calcAccel(IMU.ay)+IMU.calcAccel(IMU.az)*IMU.calcAccel(IMU.az));
        
        //pc.printf("%9f",acc) ;
           pc.printf("%d",i) ;
        
         pc.printf(",") ;
        pc.printf("%9f",IMU.calcAccel(IMU.ax)) ;
         pc.printf(",") ;
        pc.printf("%9f",IMU.calcAccel(IMU.ay)) ;
         pc.printf(",") ;
        pc.printf("%9f",IMU.calcAccel(IMU.az)) ;
        pc.printf(",") ;
        
        
        pc.printf("%9f",IMU.calcAccel(IMU.gx)) ;
         pc.printf(",") ;
        pc.printf("%9f",IMU.calcAccel(IMU.gy)) ;
         pc.printf(",") ;
        pc.printf("%9f",IMU.calcAccel(IMU.gz)) ;
        pc.printf(",") ;        
        
        
           pc.printf("%9f",IMU.calcAccel(IMU.mx)) ;
         pc.printf(",") ;
        pc.printf("%9f",IMU.calcAccel(IMU.my)) ;
         pc.printf(",") ;
        pc.printf("%9f",IMU.calcAccel(IMU.mz)) ;
        pc.printf("%\n\r") ;    
        
        i++ ;
        wait(0.1) ; 
         
        
        
        
      
    }
}