Thundersoft
/
FRDM_FXS_MULTI_B_for_TT_Mxx
Create a project for TT_Mxx.
main.cpp@0:369a1b265ddb, 2019-03-21 (annotated)
- 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?
User | Revision | Line number | New 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 | } |