assignment 4 exercise 3

Dependencies:   BSP_B-L475E-IOT01 mbed

Committer:
mcalzana
Date:
Mon Nov 12 17:13:20 2018 +0000
Revision:
2:c4aec60e035e
Parent:
1:dce931d77528
assignment 4 exercise 3

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