Geo beacon for VF.

Dependencies:   MMA8452 aconno_bsp adc52832_common

Files at this revision

API Documentation at this revision

Comitter:
dbartolovic
Date:
Thu Jul 05 09:10:54 2018 +0000
Branch:
Lizzy_hardware
Parent:
40:94e8695d21ff
Child:
42:bffc939efdf3
Commit message:
Added define for acnfreight

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Fri Apr 20 13:44:25 2018 +0000
+++ b/main.cpp	Thu Jul 05 09:10:54 2018 +0000
@@ -23,6 +23,8 @@
 #define DEBUG_CONNECTION    (0)
 #define DEBUG_WAKEUP_BUZZER (0)
 
+#define ACN_FREIGHT         (1)
+
 #define USE_ACC             (0)
 
 #define SLEEP_TIME_S              (4.00)           /* Sleep time (in s)          */
@@ -46,6 +48,9 @@
 #define INT2_PIN            (p15)
 #define BUZZER              (p18)
 
+#if ACN_FREIGHT
+#define LED_BLINK_HALF_T    (0.5)
+#endif
 #define BUZZER_ON_TIME_S    (0.250)
 #define BUZZER_OFF_TIME_S   (0.050)
 
@@ -94,6 +99,9 @@
 Ticker WakeSleepT;
 Ticker sleepChanger;
 Ticker toggleBuzzer;
+#if ACN_FREIGHT
+    Ticker toggleLed;
+#endif
 NRF52_PWM buzzer(NRF_PWM2);
 
 #if USE_ACC
@@ -117,6 +125,16 @@
     NRF52_DigitalOut act_led(RED_LED);
 #endif
 
+#if ACN_FREIGHT
+    NRF52_DigitalOut signal_led(RED_LED);
+#endif
+
+#if ACN_FREIGHT
+void ledToggle(){
+    signal_led.toggle();
+}
+#endif
+
 void buzzerToggle(){
     static uint8_t initState = 1;
     if(initState){
@@ -212,6 +230,9 @@
                 #endif    
                 //buzzerStart();
                 toggleBuzzer.attach(buzzerToggle, BUZZER_ON_TIME_S);
+                #if ACN_FREIGHT
+                    toggleLed.attach(ledToggle, LED_BLINK_HALF_T);
+                #endif
                 return;
             }
         }
@@ -219,6 +240,10 @@
             if(params->data[1] == stopBuzz[1]){
                 toggleBuzzer.detach();
                 buzzerStop();
+                #if ACN_FREIGHT
+                    toggleLed.detach();
+                    signal_led = 1;
+                #endif
                 WakeSleepT.detach();
                 WakeSleepT.attach(WakeMeUp, FREE_TIME_S);
                 ble.disconnect(Gap::LOCAL_HOST_TERMINATED_CONNECTION);
@@ -339,6 +364,10 @@
         accPower = 1;
         i2cPower = 1;
     #endif 
+
+    #if ACN_FREIGHT
+        signal_led = 1;
+    #endif
     
     ble.init(bleInitComplete);
     /* SpinWait for initialization to complete. This is necessary because the BLE object is used in the main loop below. */