assignment

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 InterruptIn button(USER_BUTTON);
00011 DigitalOut led(LED1);
00012 
00013 volatile uint8_t sensor = 0;
00014 
00015 void toggle() {
00016     sensor = (sensor + 1) % 6;
00017 }
00018 
00019 int main()
00020 {
00021     float sensor_value = 0;
00022     int16_t pDataXYZ[3] = {0};
00023     float pGyroDataXYZ[3] = {0};
00024 
00025     button.rise(&toggle); 
00026     BSP_TSENSOR_Init();
00027     BSP_HSENSOR_Init();
00028     
00029     BSP_PSENSOR_Init();
00030 
00031     BSP_MAGNETO_Init();
00032     BSP_GYRO_Init();
00033     BSP_ACCELERO_Init();
00034 
00035     while(1) {
00036 
00037         led = 1;
00038         switch (sensor) {
00039             case 0:
00040                 sensor_value = BSP_TSENSOR_ReadTemp();
00041                 printf("\nTEMPERATURE = %.2f degC\n", sensor_value);
00042                 break;
00043             case 1:
00044                 sensor_value = BSP_HSENSOR_ReadHumidity();
00045                 printf("HUMIDITY    = %.2f %%\n", sensor_value);
00046                 break;
00047             case 2:
00048                 sensor_value = BSP_PSENSOR_ReadPressure();
00049                 printf("PRESSURE is = %.2f mBar\n", sensor_value);
00050                 break;
00051             case 3:
00052                 BSP_MAGNETO_GetXYZ(pDataXYZ);
00053                 printf("\nMAGNETO_X = %d\n", pDataXYZ[0]);
00054                 printf("MAGNETO_Y = %d\n", pDataXYZ[1]);
00055                 printf("MAGNETO_Z = %d\n", pDataXYZ[2]);
00056                 break;
00057             case 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                 break;
00063             case 5:
00064                 BSP_ACCELERO_AccGetXYZ(pDataXYZ);
00065                 printf("\nACCELERO_X = %d\n", pDataXYZ[0]);
00066                 printf("ACCELERO_Y = %d\n", pDataXYZ[1]);
00067                 printf("ACCELERO_Z = %d\n", pDataXYZ[2]);
00068                 break;
00069             
00070             default:
00071             break;
00072             
00073         }
00074         wait(1);
00075         led = 0;
00076 
00077         
00078 
00079 
00080 
00081     }
00082 }