BlinkPosition

Dependencies:   BSP_B-L475E-IOT01 mbed

Files at this revision

API Documentation at this revision

Comitter:
redona
Date:
Thu Nov 15 16:59:44 2018 +0000
Parent:
1:dce931d77528
Commit message:
BlinkPosition

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r dce931d77528 -r 9d4f70381506 main.cpp
--- a/main.cpp	Fri Nov 09 15:39:17 2018 +0000
+++ b/main.cpp	Thu Nov 15 16:59:44 2018 +0000
@@ -1,67 +1,72 @@
 #include "mbed.h"
 
-// Sensors drivers present in the BSP library
-#include "stm32l475e_iot01_tsensor.h"
-#include "stm32l475e_iot01_hsensor.h"
-#include "stm32l475e_iot01_psensor.h"
-#include "stm32l475e_iot01_magneto.h"
-#include "stm32l475e_iot01_gyro.h"
 #include "stm32l475e_iot01_accelero.h"
 
-DigitalOut led(LED1);
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+DigitalOut led3(LED3);
 
 int main()
 {
-    float sensor_value = 0;
     int16_t pDataXYZ[3] = {0};
-    float pGyroDataXYZ[3] = {0};
-
-    BSP_TSENSOR_Init();
-    BSP_HSENSOR_Init();
     
-    BSP_PSENSOR_Init();
-
-    BSP_MAGNETO_Init();
-    BSP_GYRO_Init();
     BSP_ACCELERO_Init();
 
     while(1) {
-
-        led = 1;
-
-        sensor_value = BSP_TSENSOR_ReadTemp();
-        printf("\nTEMPERATURE = %.2f degC\n", sensor_value);
-
-        sensor_value = BSP_HSENSOR_ReadHumidity();
-        printf("HUMIDITY    = %.2f %%\n", sensor_value);
-
-        sensor_value = BSP_PSENSOR_ReadPressure();
-        printf("PRESSURE is = %.2f mBar\n", sensor_value);
-
-        led = 0;
-
+        
         wait(1);
-
-        led = 1;
-
-        BSP_MAGNETO_GetXYZ(pDataXYZ);
-        printf("\nMAGNETO_X = %d\n", pDataXYZ[0]);
-        printf("MAGNETO_Y = %d\n", pDataXYZ[1]);
-        printf("MAGNETO_Z = %d\n", pDataXYZ[2]);
-
-        BSP_GYRO_GetXYZ(pGyroDataXYZ);
-        printf("\nGYRO_X = %.2f\n", pGyroDataXYZ[0]);
-        printf("GYRO_Y = %.2f\n", pGyroDataXYZ[1]);
-        printf("GYRO_Z = %.2f\n", pGyroDataXYZ[2]);
-
+          
         BSP_ACCELERO_AccGetXYZ(pDataXYZ);
         printf("\nACCELERO_X = %d\n", pDataXYZ[0]);
         printf("ACCELERO_Y = %d\n", pDataXYZ[1]);
         printf("ACCELERO_Z = %d\n", pDataXYZ[2]);
-
-        led = 0;
-
-        wait(1);
-
+        
+       int16_t x_data = pDataXYZ[0];
+       int16_t y_data = pDataXYZ[1];
+       int16_t z_data = pDataXYZ[2];
+        
+         if(abs(z_data)>= 970 && abs(z_data) <= 1030 )
+        {
+            printf("the board is in horizontal position\n");
+            led1 = 1;
+            led2 = 0;
+            led3 = 0;
+            wait(1);
+            led1 = 0;
+         } else { led1 = 0;}
+            
+         if(abs(x_data)>= 970 && abs(x_data) <= 1030 ){
+            printf("the board is in the short edge\n");
+            led2 = 1;
+            led1 = 0;
+            led3 = 0;
+            wait(1);
+            led2 = 0;
+            } else { led2 = 0; }
+            
+         if(abs(y_data)>= 970 && abs(y_data) <= 1030 ){
+             printf("the board is in the long edge\n");
+             led3 = 1;
+             led2 = 0;
+             led1 = 0;
+             wait(1);
+             led3 = 0;
+             } else { led3 = 0; }
+             
+        if(!(abs(z_data)>= 970 && abs(z_data) <= 1030) && !(abs(x_data)>= 970 && abs(x_data) <= 1030) && !(abs(y_data)>= 970 && abs(y_data) <= 1030)){
+            printf("unknown position\n");
+            led1 = 1;
+            led2 = 1;
+            led3 = 1;
+            wait(1);
+            led1 = 0;
+            led2 = 0;
+            led3 = 0;
+            } else {
+            led1 = 0;
+            led2 = 0;
+            led3 = 0;
+            }
+            
     }
 }