porting a OS5

Dependencies:   BSP_B-L475E-IOT01

Committer:
fabio_gatti
Date:
Tue Aug 07 10:47:14 2018 +0000
Revision:
0:faa406d23ae7
porting a OS5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fabio_gatti 0:faa406d23ae7 1 #include "mbed.h"
fabio_gatti 0:faa406d23ae7 2
fabio_gatti 0:faa406d23ae7 3 // Sensors drivers present in the BSP library
fabio_gatti 0:faa406d23ae7 4 #include "stm32l475e_iot01_tsensor.h"
fabio_gatti 0:faa406d23ae7 5 #include "stm32l475e_iot01_hsensor.h"
fabio_gatti 0:faa406d23ae7 6 #include "stm32l475e_iot01_psensor.h"
fabio_gatti 0:faa406d23ae7 7 #include "stm32l475e_iot01_magneto.h"
fabio_gatti 0:faa406d23ae7 8 #include "stm32l475e_iot01_gyro.h"
fabio_gatti 0:faa406d23ae7 9 #include "stm32l475e_iot01_accelero.h"
fabio_gatti 0:faa406d23ae7 10
fabio_gatti 0:faa406d23ae7 11 // laser driver
fabio_gatti 0:faa406d23ae7 12 //#include "lis3mdl_class.h"
fabio_gatti 0:faa406d23ae7 13 #include "VL53L0X.h"
fabio_gatti 0:faa406d23ae7 14
fabio_gatti 0:faa406d23ae7 15
fabio_gatti 0:faa406d23ae7 16 DigitalOut led(LED1);
fabio_gatti 0:faa406d23ae7 17 Serial pc(USBTX, USBRX); //use these pins for serial coms
fabio_gatti 0:faa406d23ae7 18
fabio_gatti 0:faa406d23ae7 19 #ifdef TARGET_DISCO_L475VG_IOT01A
fabio_gatti 0:faa406d23ae7 20 static DevI2C devI2c(PB_11,PB_10);
fabio_gatti 0:faa406d23ae7 21 static DigitalOut shutdown_pin(PC_6);
fabio_gatti 0:faa406d23ae7 22 static VL53L0X range(&devI2c, &shutdown_pin, PC_7);
fabio_gatti 0:faa406d23ae7 23 #endif
fabio_gatti 0:faa406d23ae7 24
fabio_gatti 0:faa406d23ae7 25 int main()
fabio_gatti 0:faa406d23ae7 26 {
fabio_gatti 0:faa406d23ae7 27 float sensor_value = 0;
fabio_gatti 0:faa406d23ae7 28 int16_t pDataXYZ[3] = {0};
fabio_gatti 0:faa406d23ae7 29 float pGyroDataXYZ[3] = {0};
fabio_gatti 0:faa406d23ae7 30
fabio_gatti 0:faa406d23ae7 31 pc.baud(115200);
fabio_gatti 0:faa406d23ae7 32
fabio_gatti 0:faa406d23ae7 33 range.init_sensor(VL53L0X_DEFAULT_ADDRESS);
fabio_gatti 0:faa406d23ae7 34
fabio_gatti 0:faa406d23ae7 35
fabio_gatti 0:faa406d23ae7 36
fabio_gatti 0:faa406d23ae7 37
fabio_gatti 0:faa406d23ae7 38
fabio_gatti 0:faa406d23ae7 39 BSP_TSENSOR_Init();
fabio_gatti 0:faa406d23ae7 40 BSP_HSENSOR_Init();
fabio_gatti 0:faa406d23ae7 41 BSP_PSENSOR_Init();
fabio_gatti 0:faa406d23ae7 42
fabio_gatti 0:faa406d23ae7 43 BSP_MAGNETO_Init();
fabio_gatti 0:faa406d23ae7 44 BSP_GYRO_Init();
fabio_gatti 0:faa406d23ae7 45 BSP_ACCELERO_Init();
fabio_gatti 0:faa406d23ae7 46
fabio_gatti 0:faa406d23ae7 47 while(1) {
fabio_gatti 0:faa406d23ae7 48
fabio_gatti 0:faa406d23ae7 49 led = 1;
fabio_gatti 0:faa406d23ae7 50
fabio_gatti 0:faa406d23ae7 51 sensor_value = BSP_TSENSOR_ReadTemp();
fabio_gatti 0:faa406d23ae7 52 printf("TEMPERATURE = %.2f degC\n", sensor_value);
fabio_gatti 0:faa406d23ae7 53
fabio_gatti 0:faa406d23ae7 54 sensor_value = BSP_HSENSOR_ReadHumidity();
fabio_gatti 0:faa406d23ae7 55 printf("HUMIDITY = %.2f %%\n", sensor_value);
fabio_gatti 0:faa406d23ae7 56
fabio_gatti 0:faa406d23ae7 57 sensor_value = BSP_PSENSOR_ReadPressure();
fabio_gatti 0:faa406d23ae7 58 printf("PRESSURE is = %.2f mBar\n", sensor_value);
fabio_gatti 0:faa406d23ae7 59
fabio_gatti 0:faa406d23ae7 60 led = 0;
fabio_gatti 0:faa406d23ae7 61
fabio_gatti 0:faa406d23ae7 62 wait(1);
fabio_gatti 0:faa406d23ae7 63
fabio_gatti 0:faa406d23ae7 64 led = 1;
fabio_gatti 0:faa406d23ae7 65
fabio_gatti 0:faa406d23ae7 66 BSP_MAGNETO_GetXYZ(pDataXYZ);
fabio_gatti 0:faa406d23ae7 67 printf("MAGNETO_X = %d\n", pDataXYZ[0]);
fabio_gatti 0:faa406d23ae7 68 printf("MAGNETO_Y = %d\n", pDataXYZ[1]);
fabio_gatti 0:faa406d23ae7 69 printf("MAGNETO_Z = %d\n", pDataXYZ[2]);
fabio_gatti 0:faa406d23ae7 70
fabio_gatti 0:faa406d23ae7 71 BSP_GYRO_GetXYZ(pGyroDataXYZ);
fabio_gatti 0:faa406d23ae7 72 printf("GYRO_X = %.2f\n", pGyroDataXYZ[0]);
fabio_gatti 0:faa406d23ae7 73 printf("GYRO_Y = %.2f\n", pGyroDataXYZ[1]);
fabio_gatti 0:faa406d23ae7 74 printf("GYRO_Z = %.2f\n", pGyroDataXYZ[2]);
fabio_gatti 0:faa406d23ae7 75
fabio_gatti 0:faa406d23ae7 76 BSP_ACCELERO_AccGetXYZ(pDataXYZ);
fabio_gatti 0:faa406d23ae7 77 printf("ACCELERO_X = %d\n", pDataXYZ[0]);
fabio_gatti 0:faa406d23ae7 78 printf("ACCELERO_Y = %d\n", pDataXYZ[1]);
fabio_gatti 0:faa406d23ae7 79 printf("ACCELERO_Z = %d\n", pDataXYZ[2]);
fabio_gatti 0:faa406d23ae7 80
fabio_gatti 0:faa406d23ae7 81 uint32_t distance;
fabio_gatti 0:faa406d23ae7 82 int status = range.get_distance(&distance);
fabio_gatti 0:faa406d23ae7 83 if (status == VL53L0X_ERROR_NONE) {
fabio_gatti 0:faa406d23ae7 84 printf("VL53L0X [mm]: %6ld\r\n", distance);
fabio_gatti 0:faa406d23ae7 85 } else {
fabio_gatti 0:faa406d23ae7 86 printf("VL53L0X [mm]: --\r\n");
fabio_gatti 0:faa406d23ae7 87 }
fabio_gatti 0:faa406d23ae7 88 led = 0;
fabio_gatti 0:faa406d23ae7 89
fabio_gatti 0:faa406d23ae7 90 wait(1);
fabio_gatti 0:faa406d23ae7 91
fabio_gatti 0:faa406d23ae7 92 }
fabio_gatti 0:faa406d23ae7 93 }