BlinkPosition

Dependencies:   BSP_B-L475E-IOT01 mbed

Committer:
redona
Date:
Thu Nov 15 16:59:44 2018 +0000
Revision:
2:9d4f70381506
Parent:
1:dce931d77528
BlinkPosition

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 #include "stm32l475e_iot01_accelero.h"
lmottola 0:0cc3bd737dcb 4
redona 2:9d4f70381506 5 DigitalOut led1(LED1);
redona 2:9d4f70381506 6 DigitalOut led2(LED2);
redona 2:9d4f70381506 7 DigitalOut led3(LED3);
lmottola 0:0cc3bd737dcb 8
lmottola 0:0cc3bd737dcb 9 int main()
lmottola 0:0cc3bd737dcb 10 {
lmottola 0:0cc3bd737dcb 11 int16_t pDataXYZ[3] = {0};
lmottola 1:dce931d77528 12
lmottola 0:0cc3bd737dcb 13 BSP_ACCELERO_Init();
lmottola 0:0cc3bd737dcb 14
lmottola 0:0cc3bd737dcb 15 while(1) {
redona 2:9d4f70381506 16
lmottola 0:0cc3bd737dcb 17 wait(1);
redona 2:9d4f70381506 18
lmottola 0:0cc3bd737dcb 19 BSP_ACCELERO_AccGetXYZ(pDataXYZ);
lmottola 0:0cc3bd737dcb 20 printf("\nACCELERO_X = %d\n", pDataXYZ[0]);
lmottola 0:0cc3bd737dcb 21 printf("ACCELERO_Y = %d\n", pDataXYZ[1]);
lmottola 0:0cc3bd737dcb 22 printf("ACCELERO_Z = %d\n", pDataXYZ[2]);
redona 2:9d4f70381506 23
redona 2:9d4f70381506 24 int16_t x_data = pDataXYZ[0];
redona 2:9d4f70381506 25 int16_t y_data = pDataXYZ[1];
redona 2:9d4f70381506 26 int16_t z_data = pDataXYZ[2];
redona 2:9d4f70381506 27
redona 2:9d4f70381506 28 if(abs(z_data)>= 970 && abs(z_data) <= 1030 )
redona 2:9d4f70381506 29 {
redona 2:9d4f70381506 30 printf("the board is in horizontal position\n");
redona 2:9d4f70381506 31 led1 = 1;
redona 2:9d4f70381506 32 led2 = 0;
redona 2:9d4f70381506 33 led3 = 0;
redona 2:9d4f70381506 34 wait(1);
redona 2:9d4f70381506 35 led1 = 0;
redona 2:9d4f70381506 36 } else { led1 = 0;}
redona 2:9d4f70381506 37
redona 2:9d4f70381506 38 if(abs(x_data)>= 970 && abs(x_data) <= 1030 ){
redona 2:9d4f70381506 39 printf("the board is in the short edge\n");
redona 2:9d4f70381506 40 led2 = 1;
redona 2:9d4f70381506 41 led1 = 0;
redona 2:9d4f70381506 42 led3 = 0;
redona 2:9d4f70381506 43 wait(1);
redona 2:9d4f70381506 44 led2 = 0;
redona 2:9d4f70381506 45 } else { led2 = 0; }
redona 2:9d4f70381506 46
redona 2:9d4f70381506 47 if(abs(y_data)>= 970 && abs(y_data) <= 1030 ){
redona 2:9d4f70381506 48 printf("the board is in the long edge\n");
redona 2:9d4f70381506 49 led3 = 1;
redona 2:9d4f70381506 50 led2 = 0;
redona 2:9d4f70381506 51 led1 = 0;
redona 2:9d4f70381506 52 wait(1);
redona 2:9d4f70381506 53 led3 = 0;
redona 2:9d4f70381506 54 } else { led3 = 0; }
redona 2:9d4f70381506 55
redona 2:9d4f70381506 56 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)){
redona 2:9d4f70381506 57 printf("unknown position\n");
redona 2:9d4f70381506 58 led1 = 1;
redona 2:9d4f70381506 59 led2 = 1;
redona 2:9d4f70381506 60 led3 = 1;
redona 2:9d4f70381506 61 wait(1);
redona 2:9d4f70381506 62 led1 = 0;
redona 2:9d4f70381506 63 led2 = 0;
redona 2:9d4f70381506 64 led3 = 0;
redona 2:9d4f70381506 65 } else {
redona 2:9d4f70381506 66 led1 = 0;
redona 2:9d4f70381506 67 led2 = 0;
redona 2:9d4f70381506 68 led3 = 0;
redona 2:9d4f70381506 69 }
redona 2:9d4f70381506 70
lmottola 0:0cc3bd737dcb 71 }
lmottola 0:0cc3bd737dcb 72 }