assignment 4 exercise 3
Dependencies: BSP_B-L475E-IOT01 mbed
main.cpp@2:c4aec60e035e, 2018-11-12 (annotated)
- Committer:
- mcalzana
- Date:
- Mon Nov 12 17:13:20 2018 +0000
- Revision:
- 2:c4aec60e035e
- Parent:
- 1:dce931d77528
assignment 4 exercise 3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lmottola | 0:0cc3bd737dcb | 1 | #include "mbed.h" |
lmottola | 0:0cc3bd737dcb | 2 | |
lmottola | 0:0cc3bd737dcb | 3 | // Sensors drivers present in the BSP library |
lmottola | 0:0cc3bd737dcb | 4 | #include "stm32l475e_iot01_tsensor.h" |
lmottola | 0:0cc3bd737dcb | 5 | #include "stm32l475e_iot01_hsensor.h" |
lmottola | 0:0cc3bd737dcb | 6 | #include "stm32l475e_iot01_psensor.h" |
lmottola | 0:0cc3bd737dcb | 7 | #include "stm32l475e_iot01_magneto.h" |
lmottola | 0:0cc3bd737dcb | 8 | #include "stm32l475e_iot01_gyro.h" |
lmottola | 0:0cc3bd737dcb | 9 | #include "stm32l475e_iot01_accelero.h" |
lmottola | 0:0cc3bd737dcb | 10 | |
lmottola | 0:0cc3bd737dcb | 11 | DigitalOut led(LED1); |
mcalzana | 2:c4aec60e035e | 12 | InterruptIn button(USER_BUTTON); |
mcalzana | 2:c4aec60e035e | 13 | int sensor = 0; |
lmottola | 0:0cc3bd737dcb | 14 | |
mcalzana | 2:c4aec60e035e | 15 | void toggle() { |
mcalzana | 2:c4aec60e035e | 16 | sensor = (sensor+1)%6; |
mcalzana | 2:c4aec60e035e | 17 | } |
lmottola | 0:0cc3bd737dcb | 18 | int main() |
lmottola | 0:0cc3bd737dcb | 19 | { |
lmottola | 0:0cc3bd737dcb | 20 | float sensor_value = 0; |
lmottola | 0:0cc3bd737dcb | 21 | int16_t pDataXYZ[3] = {0}; |
lmottola | 0:0cc3bd737dcb | 22 | float pGyroDataXYZ[3] = {0}; |
lmottola | 0:0cc3bd737dcb | 23 | |
lmottola | 0:0cc3bd737dcb | 24 | BSP_TSENSOR_Init(); |
lmottola | 0:0cc3bd737dcb | 25 | BSP_HSENSOR_Init(); |
lmottola | 1:dce931d77528 | 26 | |
lmottola | 0:0cc3bd737dcb | 27 | BSP_PSENSOR_Init(); |
lmottola | 0:0cc3bd737dcb | 28 | |
lmottola | 0:0cc3bd737dcb | 29 | BSP_MAGNETO_Init(); |
lmottola | 0:0cc3bd737dcb | 30 | BSP_GYRO_Init(); |
lmottola | 0:0cc3bd737dcb | 31 | BSP_ACCELERO_Init(); |
lmottola | 0:0cc3bd737dcb | 32 | |
lmottola | 0:0cc3bd737dcb | 33 | while(1) { |
mcalzana | 2:c4aec60e035e | 34 | button.rise(&toggle); |
lmottola | 0:0cc3bd737dcb | 35 | led = 1; |
mcalzana | 2:c4aec60e035e | 36 | if(sensor == 0){ |
mcalzana | 2:c4aec60e035e | 37 | sensor_value = BSP_TSENSOR_ReadTemp(); |
mcalzana | 2:c4aec60e035e | 38 | printf("\nTEMPERATURE = %.2f degC\n", sensor_value); |
mcalzana | 2:c4aec60e035e | 39 | } |
mcalzana | 2:c4aec60e035e | 40 | |
mcalzana | 2:c4aec60e035e | 41 | else if(sensor == 1){ |
mcalzana | 2:c4aec60e035e | 42 | sensor_value = BSP_HSENSOR_ReadHumidity(); |
mcalzana | 2:c4aec60e035e | 43 | printf("HUMIDITY = %.2f %%\n", sensor_value); |
mcalzana | 2:c4aec60e035e | 44 | } |
mcalzana | 2:c4aec60e035e | 45 | else if(sensor == 2){ |
mcalzana | 2:c4aec60e035e | 46 | sensor_value = BSP_PSENSOR_ReadPressure(); |
mcalzana | 2:c4aec60e035e | 47 | printf("PRESSURE is = %.2f mBar\n", sensor_value); |
mcalzana | 2:c4aec60e035e | 48 | } |
mcalzana | 2:c4aec60e035e | 49 | |
mcalzana | 2:c4aec60e035e | 50 | else if(sensor == 3){ |
mcalzana | 2:c4aec60e035e | 51 | BSP_MAGNETO_GetXYZ(pDataXYZ); |
mcalzana | 2:c4aec60e035e | 52 | printf("\nMAGNETO_X = %d\n", pDataXYZ[0]); |
mcalzana | 2:c4aec60e035e | 53 | printf("MAGNETO_Y = %d\n", pDataXYZ[1]); |
mcalzana | 2:c4aec60e035e | 54 | printf("MAGNETO_Z = %d\n", pDataXYZ[2]); |
mcalzana | 2:c4aec60e035e | 55 | } |
mcalzana | 2:c4aec60e035e | 56 | |
mcalzana | 2:c4aec60e035e | 57 | else if(sensor == 4){ |
mcalzana | 2:c4aec60e035e | 58 | BSP_GYRO_GetXYZ(pGyroDataXYZ); |
mcalzana | 2:c4aec60e035e | 59 | printf("\nGYRO_X = %.2f\n", pGyroDataXYZ[0]); |
mcalzana | 2:c4aec60e035e | 60 | printf("GYRO_Y = %.2f\n", pGyroDataXYZ[1]); |
mcalzana | 2:c4aec60e035e | 61 | printf("GYRO_Z = %.2f\n", pGyroDataXYZ[2]); |
mcalzana | 2:c4aec60e035e | 62 | } |
mcalzana | 2:c4aec60e035e | 63 | |
mcalzana | 2:c4aec60e035e | 64 | else if(sensor == 5){ |
mcalzana | 2:c4aec60e035e | 65 | BSP_ACCELERO_AccGetXYZ(pDataXYZ); |
mcalzana | 2:c4aec60e035e | 66 | printf("\nACCELERO_X = %d\n", pDataXYZ[0]); |
mcalzana | 2:c4aec60e035e | 67 | printf("ACCELERO_Y = %d\n", pDataXYZ[1]); |
mcalzana | 2:c4aec60e035e | 68 | printf("ACCELERO_Z = %d\n", pDataXYZ[2]); |
mcalzana | 2:c4aec60e035e | 69 | } |
lmottola | 0:0cc3bd737dcb | 70 | wait(1); |
lmottola | 0:0cc3bd737dcb | 71 | } |
lmottola | 0:0cc3bd737dcb | 72 | } |