Marco Calzana / Mbed 2 deprecated DISCO-SensorsButton

Dependencies:   BSP_B-L475E-IOT01 mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 // Sensors drivers present in the BSP library
00004 #include "stm32l475e_iot01_tsensor.h"
00005 #include "stm32l475e_iot01_hsensor.h"
00006 #include "stm32l475e_iot01_psensor.h"
00007 #include "stm32l475e_iot01_magneto.h"
00008 #include "stm32l475e_iot01_gyro.h"
00009 #include "stm32l475e_iot01_accelero.h"
00010 
00011 DigitalOut led(LED1);
00012 InterruptIn button(USER_BUTTON);
00013 int sensor = 0;
00014 
00015 void toggle() {
00016     sensor = (sensor+1)%6;
00017 }
00018 int main()
00019 {
00020     float sensor_value = 0;
00021     int16_t pDataXYZ[3] = {0};
00022     float pGyroDataXYZ[3] = {0};
00023 
00024     BSP_TSENSOR_Init();
00025     BSP_HSENSOR_Init();
00026     
00027     BSP_PSENSOR_Init();
00028 
00029     BSP_MAGNETO_Init();
00030     BSP_GYRO_Init();
00031     BSP_ACCELERO_Init();
00032 
00033     while(1) {
00034         button.rise(&toggle);
00035         led = 1;
00036         if(sensor == 0){
00037             sensor_value = BSP_TSENSOR_ReadTemp();
00038             printf("\nTEMPERATURE = %.2f degC\n", sensor_value);
00039         }
00040         
00041         else if(sensor == 1){
00042             sensor_value = BSP_HSENSOR_ReadHumidity();
00043             printf("HUMIDITY    = %.2f %%\n", sensor_value);
00044         }
00045         else if(sensor == 2){
00046             sensor_value = BSP_PSENSOR_ReadPressure();
00047             printf("PRESSURE is = %.2f mBar\n", sensor_value);
00048         }
00049         
00050         else if(sensor == 3){
00051             BSP_MAGNETO_GetXYZ(pDataXYZ);
00052             printf("\nMAGNETO_X = %d\n", pDataXYZ[0]);
00053             printf("MAGNETO_Y = %d\n", pDataXYZ[1]);
00054             printf("MAGNETO_Z = %d\n", pDataXYZ[2]);
00055         }
00056         
00057         else if(sensor == 4){
00058             BSP_GYRO_GetXYZ(pGyroDataXYZ);
00059             printf("\nGYRO_X = %.2f\n", pGyroDataXYZ[0]);
00060             printf("GYRO_Y = %.2f\n", pGyroDataXYZ[1]);
00061             printf("GYRO_Z = %.2f\n", pGyroDataXYZ[2]);
00062         }
00063         
00064         else if(sensor == 5){
00065             BSP_ACCELERO_AccGetXYZ(pDataXYZ);
00066             printf("\nACCELERO_X = %d\n", pDataXYZ[0]);
00067             printf("ACCELERO_Y = %d\n", pDataXYZ[1]);
00068             printf("ACCELERO_Z = %d\n", pDataXYZ[2]);
00069         }
00070         wait(1);
00071     }
00072 }