Geo beacon for VF.

Dependencies:   MMA8452 aconno_bsp adc52832_common

Revision:
35:7917a7f951c7
Parent:
34:9856c51ec646
Child:
36:36d44b58980a
--- a/main.cpp	Tue Jan 09 09:34:13 2018 +0000
+++ b/main.cpp	Thu Jan 18 09:57:45 2018 +0000
@@ -77,6 +77,7 @@
 
 Ticker WakeSleepT;
 Ticker sleepChanger;
+Ticker toggleBuzzer;
 NRF52_PWM buzzer(NRF_PWM2);
 
 #if USE_ACC
@@ -100,6 +101,22 @@
     NRF52_DigitalOut act_led(p22);
 #endif
 
+void buzzerToggle(){
+    static uint8_t initState = 1;
+    if(initState){
+        // initial state is off
+        buzzer.enable(BUZZER_FREQUENCY_Hz);
+        buzzer.enableChannel(0, BUZZER);
+        buzzer.setDuty(0,0.5f);    
+        initState = 0;
+    }
+    else{
+        buzzer.enable(0);
+        buzzer.setDuty(0, 0);
+        buzzer.disable();    
+        initState = 1;
+    }
+}
 
 void buzzerStart(){
     buzzer.enable(BUZZER_FREQUENCY_Hz);
@@ -173,12 +190,14 @@
                     connectedLED = 1;
                     wait_ms(100);
                 #endif    
-                buzzerStart();
+                //buzzerStart();
+                toggleBuzzer.attach(buzzerToggle, 0.250);
                 return;
             }
         }
         else if(params->data[0] == stopBuzz[0]){
             if(params->data[1] == stopBuzz[1]){
+                toggleBuzzer.detach();
                 buzzerStop();
                 WakeSleepT.detach();
                 WakeSleepT.attach(WakeMeUp, FREE_TIME_S);