assignment 4 exercise 3
Dependencies: BSP_B-L475E-IOT01 mbed
Diff: main.cpp
- Revision:
- 2:c4aec60e035e
- Parent:
- 1:dce931d77528
--- a/main.cpp Fri Nov 09 15:39:17 2018 +0000 +++ b/main.cpp Mon Nov 12 17:13:20 2018 +0000 @@ -9,7 +9,12 @@ #include "stm32l475e_iot01_accelero.h" DigitalOut led(LED1); +InterruptIn button(USER_BUTTON); +int sensor = 0; +void toggle() { + sensor = (sensor+1)%6; +} int main() { float sensor_value = 0; @@ -26,42 +31,42 @@ BSP_ACCELERO_Init(); while(1) { - - led = 1; - - sensor_value = BSP_TSENSOR_ReadTemp(); - printf("\nTEMPERATURE = %.2f degC\n", sensor_value); - - sensor_value = BSP_HSENSOR_ReadHumidity(); - printf("HUMIDITY = %.2f %%\n", sensor_value); - - sensor_value = BSP_PSENSOR_ReadPressure(); - printf("PRESSURE is = %.2f mBar\n", sensor_value); - - led = 0; - - wait(1); - + button.rise(&toggle); led = 1; - - BSP_MAGNETO_GetXYZ(pDataXYZ); - printf("\nMAGNETO_X = %d\n", pDataXYZ[0]); - printf("MAGNETO_Y = %d\n", pDataXYZ[1]); - printf("MAGNETO_Z = %d\n", pDataXYZ[2]); - - BSP_GYRO_GetXYZ(pGyroDataXYZ); - printf("\nGYRO_X = %.2f\n", pGyroDataXYZ[0]); - printf("GYRO_Y = %.2f\n", pGyroDataXYZ[1]); - printf("GYRO_Z = %.2f\n", pGyroDataXYZ[2]); - - BSP_ACCELERO_AccGetXYZ(pDataXYZ); - printf("\nACCELERO_X = %d\n", pDataXYZ[0]); - printf("ACCELERO_Y = %d\n", pDataXYZ[1]); - printf("ACCELERO_Z = %d\n", pDataXYZ[2]); - - led = 0; - + if(sensor == 0){ + sensor_value = BSP_TSENSOR_ReadTemp(); + printf("\nTEMPERATURE = %.2f degC\n", sensor_value); + } + + else if(sensor == 1){ + sensor_value = BSP_HSENSOR_ReadHumidity(); + printf("HUMIDITY = %.2f %%\n", sensor_value); + } + else if(sensor == 2){ + sensor_value = BSP_PSENSOR_ReadPressure(); + printf("PRESSURE is = %.2f mBar\n", sensor_value); + } + + else if(sensor == 3){ + BSP_MAGNETO_GetXYZ(pDataXYZ); + printf("\nMAGNETO_X = %d\n", pDataXYZ[0]); + printf("MAGNETO_Y = %d\n", pDataXYZ[1]); + printf("MAGNETO_Z = %d\n", pDataXYZ[2]); + } + + else if(sensor == 4){ + BSP_GYRO_GetXYZ(pGyroDataXYZ); + printf("\nGYRO_X = %.2f\n", pGyroDataXYZ[0]); + printf("GYRO_Y = %.2f\n", pGyroDataXYZ[1]); + printf("GYRO_Z = %.2f\n", pGyroDataXYZ[2]); + } + + else if(sensor == 5){ + BSP_ACCELERO_AccGetXYZ(pDataXYZ); + printf("\nACCELERO_X = %d\n", pDataXYZ[0]); + printf("ACCELERO_Y = %d\n", pDataXYZ[1]); + printf("ACCELERO_Z = %d\n", pDataXYZ[2]); + } wait(1); - } }