Changing sensor using user button
Dependencies: BSP_B-L475E-IOT01 mbed
Diff: main.cpp
- Revision:
- 0:00847986b49e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Nov 14 11:06:11 2018 +0000 @@ -0,0 +1,84 @@ +#include "mbed.h" + +// Sensors drivers present in the BSP library +#include "stm32l475e_iot01_tsensor.h" +#include "stm32l475e_iot01_hsensor.h" +#include "stm32l475e_iot01_psensor.h" +#include "stm32l475e_iot01_magneto.h" +#include "stm32l475e_iot01_gyro.h" +#include "stm32l475e_iot01_accelero.h" + +#define SENSORS 6 + +static int current_sensor = 1; + +InterruptIn button(USER_BUTTON); +DigitalOut led(LED2); + +void changeSensor() { + printf("\nChanging Sensor\n"); + if(current_sensor <= SENSORS) { + current_sensor++; + } else { + current_sensor = 1; + } +} + +int main() { + + float sensor_value = 0; + int16_t pDataXYZ[3] = {0}; + float pGyroDataXYZ[3] = {0}; + + BSP_TSENSOR_Init(); + BSP_HSENSOR_Init(); + + BSP_PSENSOR_Init(); + + BSP_MAGNETO_Init(); + BSP_GYRO_Init(); + BSP_ACCELERO_Init(); + + button.rise(&changeSensor); + + while(1) { + led = 1; + + switch(current_sensor){ + case 1: + sensor_value = BSP_TSENSOR_ReadTemp(); + printf("\nTEMPERATURE = %.2f degC\n", sensor_value); + break; + case 2: + sensor_value = BSP_HSENSOR_ReadHumidity(); + printf("HUMIDITY = %.2f %%\n", sensor_value); + break; + case 3: + sensor_value = BSP_PSENSOR_ReadPressure(); + printf("PRESSURE is = %.2f mBar\n", sensor_value); + break; + case 4: + 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]); + break; + case 5: + 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]); + break; + case 6: + 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]); + break; + } + + led = 0; + + wait(1); + } +} \ No newline at end of file