Geo beacon for VF.

Dependencies:   MMA8452 aconno_bsp adc52832_common

Revision:
28:7b71c61d2160
Parent:
27:2c67f07590fd
Child:
29:7b794a8633b4
--- a/main.cpp	Wed Sep 13 16:28:32 2017 +0000
+++ b/main.cpp	Thu Sep 14 12:43:51 2017 +0000
@@ -25,8 +25,8 @@
 
 #define USE_ACC             (0)
 
-#define SLEEP_TIME_S              (3.00)           /* Sleep time (in s)          */
-#define ADV_TIMER_TIME_S          (1.00)           /* Advertising time (in s)    */
+#define SLEEP_TIME_S              (7.00)           /* Sleep time (in s)          */
+#define ADV_TIMER_TIME_S          (0.30)           /* Advertising time (in s)    */
 #define SCAN_TIMER_TIME_S         (0.25)           /* Scanning time (in s)       */
 #define FREE_TIME_S               (0.1)            /* Time between end of a scanning and sleep mode */
 #define AWAKE_TIME_S              (ADV_TIMER_TIME_S+SCAN_TIMER_TIME_S+FREE_TIME_S)      /* Was 0.15 */
@@ -41,7 +41,7 @@
 #define MSD_ID              (0xFF)
 
 #define BUZZ_TIME_S         (1)     /* Buzz time in s */
-#define ADV_INTERVAL        (100)   /* Advertising interval (in ms) */
+#define ADV_INTERVAL        (50)   /* Advertising interval (in ms) */
 #define SCAN_INTERVAL       (SCAN_TIMER_TIME_S)   /* Scan interval (in ms) */
 #define SCAN_WINDOW         (SCAN_TIMER_TIME_S)
 
@@ -115,7 +115,6 @@
 
 void buzzerStart(){
     buzzer.enable(BUZZER_FREQUENCY_Hz);
-    //buzzer.enable(1);
     buzzer.enableChannel(0, BUZZER);
     buzzer.setDuty(0,0.5f);
 }
@@ -442,6 +441,7 @@
     #endif 
     
     //WakeSleepT.attach(GoToSleep, AWAKE_TIME_S);
+    __enable_irq();
     GoToSleep();
     ble.init(bleInitComplete);
     ble.gap().setTxPower(txPower);
@@ -457,39 +457,29 @@
         wait_ms(1);
         acc.set_register((char)FF_COUNT, (char)0x01);  //WAS 0x08        // Set Counter degister value (10ms)
         wait_ms(1);
-        acc.set_register((char)FF_MT_THS, (char)0x90);         // Set TH value for motion detection on 1 G (1/0.063) and DBCNTM = 1 (Increments or clears counter)
+        acc.set_register((char)FF_MT_THS, (char)0x88);  //WAS 0x90       // Set TH value for motion detection on 1 G (1/0.063) and DBCNTM = 1 (Increments or clears counter)
+        
+        // TODO: SMANJITI OSJETILJVOST
         wait_ms(1);
                 
         // Setup for the interrupt handler
         accPulse.rise(&pulse_handler);                                                                                //  -------------------------------------
-        //acc.set_register((char)CTRL_REG_1, (char)0x03);       // Flow data rate and Active mode           
-        acc.set_register((char)CTRL_REG_1, (char)0x01);         // Flow data rate and Active mode           
-        acc.set_register((char)CTRL_REG_2, (char)0x03);         // Set Low power mode
+        //acc.set_register((char)CTRL_REG_1, (char)0xF9);       // Flow data rate and Active mode           
+        acc.set_register((char)CTRL_REG_1, (char)0x38);         // Flow data rate and Active mode           
+        acc.set_register((char)CTRL_REG_2, (char)0x1B);         // Set Low power mode
         wait(1);
     #endif
     
-    __enable_irq();
-    
     /* SpinWait for initialization to complete. This is necessary because the BLE object is used in the main loop below. */
     while (ble.hasInitialized()  == false){ /* spin loop */ }
     
+    /*
     buzzerStart();
     wait_ms(500);
-    
-    // Disconnect and stop PWM2
-    /*
-    NRF_PWM2->PSEL.OUT[0] = 0x80000000;
-    NRF_PWM2->PSEL.OUT[1] = 0x80000000;
-    NRF_PWM2->PSEL.OUT[2] = 0x80000000;
-    NRF_PWM2->PSEL.OUT[3] = 0x80000000;
-    NRF_PWM2->TASKS_STOP = 1;
+    buzzerStop();    
     */
     
-    buzzerStop();
-    
-    
     while(true){   
-        
         ble.waitForEvent();
     }
 }