Leonardo Iandiorio / Mbed 2 deprecated BlinkPosition

Dependencies:   BSP_B-L475E-IOT01 mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "stm32l475e_iot01_accelero.h"
00003 
00004 DigitalOut led1(LED1);
00005 DigitalOut led2(LED2);
00006 DigitalOut led3(LED3);
00007 
00008 void blink_led(int led1On, int led2On, int led3On, int reset, DigitalOut led = LED4) {
00009     led1 = led1On;
00010     led2 = led2On;
00011     led3 = led3On;
00012     wait(1);
00013     if(reset) {
00014         led1 = 0;    
00015         led2 = 0;
00016         led3 = 0;
00017     } else {
00018         led = !led;
00019     }
00020 }
00021 
00022 int main()
00023 {
00024     int16_t pDataXYZ[3] = {0};
00025 
00026     BSP_ACCELERO_Init();
00027         
00028     while(1) {
00029         BSP_ACCELERO_AccGetXYZ(pDataXYZ);
00030         printf("\nACCELERO_X = %d\n", pDataXYZ[0]);
00031         printf("ACCELERO_Y = %d\n", pDataXYZ[1]);
00032         printf("ACCELERO_Z = %d\n", pDataXYZ[2]);
00033         
00034         if(pDataXYZ[2] > 900 || pDataXYZ[2] < -900) { //Horizontal State
00035             blink_led(1, 0, 0, 0, led1);
00036         } else if(pDataXYZ[1] > 900 || pDataXYZ[1] < -900) { //Long Edge State
00037             blink_led(0, 1, 0, 0, led2);
00038         } else if(pDataXYZ[0] > 900 || pDataXYZ[0] < -900) { // Short Edge State
00039             blink_led(0, 0, 1, 0, led3);
00040         } else { // all other positions
00041             blink_led(1, 1, 1, 1);
00042         }
00043     }
00044 }