Pennati

Dependencies:   BSP_B-L475E-IOT01 mbed

Committer:
lucaspennati
Date:
Thu Nov 15 16:46:40 2018 +0000
Revision:
1:3a872c90df39
Parent:
0:0cc3bd737dcb
Initial Impl

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