![](/media/cache/group/Thundersoft-new.png.50x50_q85.png)
Create a project for TT_Mxx.
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include "MAG3110.h" 00003 #include "FXOS8700Q.h" 00004 #include "MMA8652.h" 00005 #include "FXLS8471Q.h" 00006 #include "FXAS21000.h" 00007 #include "MPL3115A2.h" 00008 00009 00010 00011 00012 #if __TT_M3HQ__ 00013 #define DISPLAY_TMPM_STRING "Welcome to Thundersoft TT_M3HQ" 00014 #endif 00015 00016 00017 #if __TT_M4G9__ 00018 #define DISPLAY_TMPM_STRING "Welcome to Thundersoft TT_M4G9" 00019 #endif 00020 00021 00022 int main() 00023 { 00024 FXLS8471Q acc1(D11, D12, D13, D10); 00025 MMA8652 acc2(D14, D15); 00026 FXOS8700Q_acc combo_acc(D14, D15, FXOS8700CQ_SLAVE_ADDR0); 00027 FXOS8700Q_mag combo_mag(D14, D15, FXOS8700CQ_SLAVE_ADDR0); 00028 MAG3110 mag2(D14, D15); 00029 FXAS21000 gyro(D14, D15); 00030 MPL3115A2 wigo_sensor1(D14, D15, MPL3115A2_DEFAULT_ADDRESS,(PinName)0,(PinName)0); 00031 float acc_data[3], gyro_data[3],sensor_data[2]; 00032 MotionSensorDataUnits adata; 00033 MotionSensorDataUnits mdata; 00034 int16_t acc_raw[3]; 00035 printf("%s\r\n",DISPLAY_TMPM_STRING); 00036 combo_acc.enable(); 00037 combo_mag.enable(); 00038 mag2.enable(); 00039 wigo_sensor1.Barometric_Mode(); 00040 wigo_sensor1.Oversample_Ratio( OVERSAMPLE_RATIO_32); 00041 printf("FXLS8471 Acc = 0x%x\r\n", acc1.getWhoAmI()); 00042 printf("MMA8652 Acc = 0x%x\r\n", acc2.getWhoAmI()); 00043 printf("FXOS8700 Combo = 0x%x\r\n", combo_acc.whoAmI()); 00044 printf("MAG3110 Mag = 0x%x\r\n", mag2.whoAmI()); 00045 printf("FXAS21000 Gyro = 0x%x\r\n", gyro.getWhoAmI()); 00046 printf("MPL3115A2 = 0x%x \r\n",wigo_sensor1.getDeviceID()); 00047 while(1) { 00048 acc1.ReadXYZ(acc_data); 00049 acc1.ReadXYZraw(acc_raw); 00050 printf("FXLS8471 Acc: X:%6.3f Y:%6.3f Z:%6.3f (Raw X:%4d Y:%4d Z:%4d)\r\n", acc_data[0], acc_data[1], acc_data[2], acc_raw[0], acc_raw[1], acc_raw[2]); 00051 00052 acc2.ReadXYZ(acc_data); 00053 acc2.ReadXYZraw(acc_raw); 00054 printf("MMA8652 Acc: X:%6.3f Y:%6.3f Z:%6.3f (Raw X:%4d Y:%4d Z:%4d)\r\n", acc_data[0], acc_data[1], acc_data[2], acc_raw[0], acc_raw[1], acc_raw[2]); 00055 00056 combo_acc.getAxis(adata); 00057 printf("FXOS8700 Acc: X:%6.3f Y:%6.3f Z:%6.3f\r\n", adata.x , adata.y , adata.z ); 00058 00059 combo_mag.getAxis(mdata); 00060 printf("FXOS8700 Mag: X:%6.2f Y:%6.2f Z:%6.2f\r\n", mdata.x , mdata.y , mdata.z ); 00061 00062 mag2.getAxis(mdata); 00063 printf("MAG3110 Mag: X:%6.2f Y:%6.2f Z:%6.2f\r\n", mdata.x , mdata.y , mdata.z ); 00064 00065 gyro.ReadXYZ(gyro_data); 00066 printf("FXAS21000 Gyro: X:%6.2f Y:%6.2f Z:%6.2f\r\n", gyro_data[0], gyro_data[1], gyro_data[2]); 00067 00068 00069 if ( wigo_sensor1.isDataAvailable()) 00070 { 00071 if(wigo_sensor1.getMode() == BAROMETRIC_MODE) 00072 { 00073 wigo_sensor1.getAllData( &sensor_data[0]); 00074 printf("Pressure: %f Temperature: %f\r\n", sensor_data[0], sensor_data[1]); 00075 wigo_sensor1.Altimeter_Mode(); 00076 } 00077 else 00078 { 00079 wigo_sensor1.getAllData( &sensor_data[0]); 00080 printf("Altitude: %f Temperature: %f\r\n", sensor_data[0], sensor_data[1]); 00081 wigo_sensor1.Barometric_Mode(); 00082 } 00083 } 00084 printf("\r\n"); 00085 wait_ms(1000); 00086 } 00087 }
Generated on Wed Jul 13 2022 20:20:49 by
![doxygen](doxygen.png)