assignment

Dependencies:   BSP_B-L475E-IOT01 mbed

Committer:
giggiux
Date:
Fri Nov 16 14:46:06 2018 +0000
Revision:
2:30de7a526b52
Parent:
1:dce931d77528
assignment;

Who changed what in which revision?

UserRevisionLine numberNew 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"
giggiux 2:30de7a526b52 10 InterruptIn button(USER_BUTTON);
giggiux 2:30de7a526b52 11 DigitalOut led(LED1);
lmottola 0:0cc3bd737dcb 12
giggiux 2:30de7a526b52 13 volatile uint8_t sensor = 0;
giggiux 2:30de7a526b52 14
giggiux 2:30de7a526b52 15 void toggle() {
giggiux 2:30de7a526b52 16 sensor = (sensor + 1) % 6;
giggiux 2:30de7a526b52 17 }
lmottola 0:0cc3bd737dcb 18
lmottola 0:0cc3bd737dcb 19 int main()
lmottola 0:0cc3bd737dcb 20 {
lmottola 0:0cc3bd737dcb 21 float sensor_value = 0;
lmottola 0:0cc3bd737dcb 22 int16_t pDataXYZ[3] = {0};
lmottola 0:0cc3bd737dcb 23 float pGyroDataXYZ[3] = {0};
lmottola 0:0cc3bd737dcb 24
giggiux 2:30de7a526b52 25 button.rise(&toggle);
lmottola 0:0cc3bd737dcb 26 BSP_TSENSOR_Init();
lmottola 0:0cc3bd737dcb 27 BSP_HSENSOR_Init();
lmottola 1:dce931d77528 28
lmottola 0:0cc3bd737dcb 29 BSP_PSENSOR_Init();
lmottola 0:0cc3bd737dcb 30
lmottola 0:0cc3bd737dcb 31 BSP_MAGNETO_Init();
lmottola 0:0cc3bd737dcb 32 BSP_GYRO_Init();
lmottola 0:0cc3bd737dcb 33 BSP_ACCELERO_Init();
lmottola 0:0cc3bd737dcb 34
lmottola 0:0cc3bd737dcb 35 while(1) {
lmottola 0:0cc3bd737dcb 36
lmottola 0:0cc3bd737dcb 37 led = 1;
giggiux 2:30de7a526b52 38 switch (sensor) {
giggiux 2:30de7a526b52 39 case 0:
giggiux 2:30de7a526b52 40 sensor_value = BSP_TSENSOR_ReadTemp();
giggiux 2:30de7a526b52 41 printf("\nTEMPERATURE = %.2f degC\n", sensor_value);
giggiux 2:30de7a526b52 42 break;
giggiux 2:30de7a526b52 43 case 1:
giggiux 2:30de7a526b52 44 sensor_value = BSP_HSENSOR_ReadHumidity();
giggiux 2:30de7a526b52 45 printf("HUMIDITY = %.2f %%\n", sensor_value);
giggiux 2:30de7a526b52 46 break;
giggiux 2:30de7a526b52 47 case 2:
giggiux 2:30de7a526b52 48 sensor_value = BSP_PSENSOR_ReadPressure();
giggiux 2:30de7a526b52 49 printf("PRESSURE is = %.2f mBar\n", sensor_value);
giggiux 2:30de7a526b52 50 break;
giggiux 2:30de7a526b52 51 case 3:
giggiux 2:30de7a526b52 52 BSP_MAGNETO_GetXYZ(pDataXYZ);
giggiux 2:30de7a526b52 53 printf("\nMAGNETO_X = %d\n", pDataXYZ[0]);
giggiux 2:30de7a526b52 54 printf("MAGNETO_Y = %d\n", pDataXYZ[1]);
giggiux 2:30de7a526b52 55 printf("MAGNETO_Z = %d\n", pDataXYZ[2]);
giggiux 2:30de7a526b52 56 break;
giggiux 2:30de7a526b52 57 case 4:
giggiux 2:30de7a526b52 58 BSP_GYRO_GetXYZ(pGyroDataXYZ);
giggiux 2:30de7a526b52 59 printf("\nGYRO_X = %.2f\n", pGyroDataXYZ[0]);
giggiux 2:30de7a526b52 60 printf("GYRO_Y = %.2f\n", pGyroDataXYZ[1]);
giggiux 2:30de7a526b52 61 printf("GYRO_Z = %.2f\n", pGyroDataXYZ[2]);
giggiux 2:30de7a526b52 62 break;
giggiux 2:30de7a526b52 63 case 5:
giggiux 2:30de7a526b52 64 BSP_ACCELERO_AccGetXYZ(pDataXYZ);
giggiux 2:30de7a526b52 65 printf("\nACCELERO_X = %d\n", pDataXYZ[0]);
giggiux 2:30de7a526b52 66 printf("ACCELERO_Y = %d\n", pDataXYZ[1]);
giggiux 2:30de7a526b52 67 printf("ACCELERO_Z = %d\n", pDataXYZ[2]);
giggiux 2:30de7a526b52 68 break;
giggiux 2:30de7a526b52 69
giggiux 2:30de7a526b52 70 default:
giggiux 2:30de7a526b52 71 break;
giggiux 2:30de7a526b52 72
giggiux 2:30de7a526b52 73 }
giggiux 2:30de7a526b52 74 wait(1);
lmottola 0:0cc3bd737dcb 75 led = 0;
lmottola 0:0cc3bd737dcb 76
giggiux 2:30de7a526b52 77
lmottola 0:0cc3bd737dcb 78
lmottola 0:0cc3bd737dcb 79
lmottola 0:0cc3bd737dcb 80
lmottola 0:0cc3bd737dcb 81 }
lmottola 0:0cc3bd737dcb 82 }