Create a project for TT_Mxx.

Committer:
ThunderSoft
Date:
Thu Mar 21 09:03:32 2019 +0000
Revision:
0:369a1b265ddb
Add code for FRDM_FXS_MULTI_B

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ThunderSoft 0:369a1b265ddb 1 #include "mbed.h"
ThunderSoft 0:369a1b265ddb 2 #include "MAG3110.h"
ThunderSoft 0:369a1b265ddb 3 #include "FXOS8700Q.h"
ThunderSoft 0:369a1b265ddb 4 #include "MMA8652.h"
ThunderSoft 0:369a1b265ddb 5 #include "FXLS8471Q.h"
ThunderSoft 0:369a1b265ddb 6 #include "FXAS21000.h"
ThunderSoft 0:369a1b265ddb 7 #include "MPL3115A2.h"
ThunderSoft 0:369a1b265ddb 8
ThunderSoft 0:369a1b265ddb 9
ThunderSoft 0:369a1b265ddb 10
ThunderSoft 0:369a1b265ddb 11
ThunderSoft 0:369a1b265ddb 12 #if __TT_M3HQ__
ThunderSoft 0:369a1b265ddb 13 #define DISPLAY_TMPM_STRING "Welcome to Thundersoft TT_M3HQ"
ThunderSoft 0:369a1b265ddb 14 #endif
ThunderSoft 0:369a1b265ddb 15
ThunderSoft 0:369a1b265ddb 16
ThunderSoft 0:369a1b265ddb 17 #if __TT_M4G9__
ThunderSoft 0:369a1b265ddb 18 #define DISPLAY_TMPM_STRING "Welcome to Thundersoft TT_M4G9"
ThunderSoft 0:369a1b265ddb 19 #endif
ThunderSoft 0:369a1b265ddb 20
ThunderSoft 0:369a1b265ddb 21
ThunderSoft 0:369a1b265ddb 22 int main()
ThunderSoft 0:369a1b265ddb 23 {
ThunderSoft 0:369a1b265ddb 24 FXLS8471Q acc1(D11, D12, D13, D10);
ThunderSoft 0:369a1b265ddb 25 MMA8652 acc2(D14, D15);
ThunderSoft 0:369a1b265ddb 26 FXOS8700Q_acc combo_acc(D14, D15, FXOS8700CQ_SLAVE_ADDR0);
ThunderSoft 0:369a1b265ddb 27 FXOS8700Q_mag combo_mag(D14, D15, FXOS8700CQ_SLAVE_ADDR0);
ThunderSoft 0:369a1b265ddb 28 MAG3110 mag2(D14, D15);
ThunderSoft 0:369a1b265ddb 29 FXAS21000 gyro(D14, D15);
ThunderSoft 0:369a1b265ddb 30 MPL3115A2 wigo_sensor1(D14, D15, MPL3115A2_DEFAULT_ADDRESS,(PinName)0,(PinName)0);
ThunderSoft 0:369a1b265ddb 31 float acc_data[3], gyro_data[3],sensor_data[2];
ThunderSoft 0:369a1b265ddb 32 MotionSensorDataUnits adata;
ThunderSoft 0:369a1b265ddb 33 MotionSensorDataUnits mdata;
ThunderSoft 0:369a1b265ddb 34 int16_t acc_raw[3];
ThunderSoft 0:369a1b265ddb 35 printf("%s\r\n",DISPLAY_TMPM_STRING);
ThunderSoft 0:369a1b265ddb 36 combo_acc.enable();
ThunderSoft 0:369a1b265ddb 37 combo_mag.enable();
ThunderSoft 0:369a1b265ddb 38 mag2.enable();
ThunderSoft 0:369a1b265ddb 39 wigo_sensor1.Barometric_Mode();
ThunderSoft 0:369a1b265ddb 40 wigo_sensor1.Oversample_Ratio( OVERSAMPLE_RATIO_32);
ThunderSoft 0:369a1b265ddb 41 printf("FXLS8471 Acc = 0x%x\r\n", acc1.getWhoAmI());
ThunderSoft 0:369a1b265ddb 42 printf("MMA8652 Acc = 0x%x\r\n", acc2.getWhoAmI());
ThunderSoft 0:369a1b265ddb 43 printf("FXOS8700 Combo = 0x%x\r\n", combo_acc.whoAmI());
ThunderSoft 0:369a1b265ddb 44 printf("MAG3110 Mag = 0x%x\r\n", mag2.whoAmI());
ThunderSoft 0:369a1b265ddb 45 printf("FXAS21000 Gyro = 0x%x\r\n", gyro.getWhoAmI());
ThunderSoft 0:369a1b265ddb 46 printf("MPL3115A2 = 0x%x \r\n",wigo_sensor1.getDeviceID());
ThunderSoft 0:369a1b265ddb 47 while(1) {
ThunderSoft 0:369a1b265ddb 48 acc1.ReadXYZ(acc_data);
ThunderSoft 0:369a1b265ddb 49 acc1.ReadXYZraw(acc_raw);
ThunderSoft 0:369a1b265ddb 50 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]);
ThunderSoft 0:369a1b265ddb 51
ThunderSoft 0:369a1b265ddb 52 acc2.ReadXYZ(acc_data);
ThunderSoft 0:369a1b265ddb 53 acc2.ReadXYZraw(acc_raw);
ThunderSoft 0:369a1b265ddb 54 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]);
ThunderSoft 0:369a1b265ddb 55
ThunderSoft 0:369a1b265ddb 56 combo_acc.getAxis(adata);
ThunderSoft 0:369a1b265ddb 57 printf("FXOS8700 Acc: X:%6.3f Y:%6.3f Z:%6.3f\r\n", adata.x, adata.y, adata.z);
ThunderSoft 0:369a1b265ddb 58
ThunderSoft 0:369a1b265ddb 59 combo_mag.getAxis(mdata);
ThunderSoft 0:369a1b265ddb 60 printf("FXOS8700 Mag: X:%6.2f Y:%6.2f Z:%6.2f\r\n", mdata.x, mdata.y, mdata.z);
ThunderSoft 0:369a1b265ddb 61
ThunderSoft 0:369a1b265ddb 62 mag2.getAxis(mdata);
ThunderSoft 0:369a1b265ddb 63 printf("MAG3110 Mag: X:%6.2f Y:%6.2f Z:%6.2f\r\n", mdata.x, mdata.y, mdata.z);
ThunderSoft 0:369a1b265ddb 64
ThunderSoft 0:369a1b265ddb 65 gyro.ReadXYZ(gyro_data);
ThunderSoft 0:369a1b265ddb 66 printf("FXAS21000 Gyro: X:%6.2f Y:%6.2f Z:%6.2f\r\n", gyro_data[0], gyro_data[1], gyro_data[2]);
ThunderSoft 0:369a1b265ddb 67
ThunderSoft 0:369a1b265ddb 68
ThunderSoft 0:369a1b265ddb 69 if ( wigo_sensor1.isDataAvailable())
ThunderSoft 0:369a1b265ddb 70 {
ThunderSoft 0:369a1b265ddb 71 if(wigo_sensor1.getMode() == BAROMETRIC_MODE)
ThunderSoft 0:369a1b265ddb 72 {
ThunderSoft 0:369a1b265ddb 73 wigo_sensor1.getAllData( &sensor_data[0]);
ThunderSoft 0:369a1b265ddb 74 printf("Pressure: %f Temperature: %f\r\n", sensor_data[0], sensor_data[1]);
ThunderSoft 0:369a1b265ddb 75 wigo_sensor1.Altimeter_Mode();
ThunderSoft 0:369a1b265ddb 76 }
ThunderSoft 0:369a1b265ddb 77 else
ThunderSoft 0:369a1b265ddb 78 {
ThunderSoft 0:369a1b265ddb 79 wigo_sensor1.getAllData( &sensor_data[0]);
ThunderSoft 0:369a1b265ddb 80 printf("Altitude: %f Temperature: %f\r\n", sensor_data[0], sensor_data[1]);
ThunderSoft 0:369a1b265ddb 81 wigo_sensor1.Barometric_Mode();
ThunderSoft 0:369a1b265ddb 82 }
ThunderSoft 0:369a1b265ddb 83 }
ThunderSoft 0:369a1b265ddb 84 printf("\r\n");
ThunderSoft 0:369a1b265ddb 85 wait_ms(1000);
ThunderSoft 0:369a1b265ddb 86 }
ThunderSoft 0:369a1b265ddb 87 }