Lizzy project

Dependencies:   aconno_I2C Lis2dh12 adc52832_common aconno_SEGGER_RTT

Branch:
mbedOsUpdate
Revision:
19:2681edc2f2b9
Parent:
11:4dc690157508
Child:
22:7dae8496b97c
--- a/tasks/tasks.cpp	Wed Sep 12 16:21:36 2018 +0200
+++ b/tasks/tasks.cpp	Thu Sep 13 12:20:35 2018 +0200
@@ -1,16 +1,14 @@
-#include "main.h"
+/**
+ * Aconno.de
+ */
+
 #include "bsp_buzz.h"
-#include "bsp_led.h"
+#include "bspLed.h"
 #include "aconno_ble.h"
 #include "tasks.h"
 #include "GapAdvertisingData.h"
-
-
-DigitalOut redLed(RED_LED_PIN);
-#if NANO_MODULE == 0
-DigitalOut greenLed(GREEN_LED_PIN);
-DigitalOut blueLed(BLUE_LED_PIN);
-#endif
+#include "aconnoConfig.h"
+#include "bsp.h"
 
 Buzz buzzer(NRF_PWM2, BUZZER_PIN);
 
@@ -25,10 +23,7 @@
 
 void tasks_init()
 {
-    redLed = 1;
-    greenLed = 1;
-    blueLed = 1;
-    
+
 #if TEST_LEDS_BUZZ
     test_ticker.attach(led_tick, 0.5);
 #endif
@@ -38,7 +33,7 @@
 void buzz_tick()
 {
     static int start = 1;
-    
+
     if (start)
     {
         buzzer.enable();
@@ -57,23 +52,23 @@
 void led_tick()
 {
     static int count = 0;
-    
+
     switch(count)
     {
         case 0:
             redLed = 0;
             break;
-            
+
         case 1:
             redLed = 1;
             greenLed = 0;
             break;
-            
+
         case 2:
             greenLed = 1;
             blueLed = 0;
             break;
-        
+
         default:
             blueLed = 1;
             count = -1;
@@ -81,7 +76,7 @@
             test_ticker.detach();
             test_ticker.attach(buzz_tick, BUZZ_TIME_S);
     }
-    
+
     count++;
 }
 #endif
@@ -98,18 +93,36 @@
         advertisementPacket.magnetometer[0] = (int16_t)0;
         advertisementPacket.magnetometer[1] = (int16_t)0;
         advertisementPacket.magnetometer[2] = (int16_t)0;
-        
-        
+
+		lisPowerCtrl(LIS_ON);
+		wait_ms(POWER_UP_DELAY_MS);
+		/*
+		//mems.setMode(LOW_POWER);
+	    mems.setMode(HIGH_RES);
+	    mems.enableAxes(X_axis);
+	    mems.enableAxes(Y_axis);
+	    mems.enableAxes(Z_axis);
+	    mems.setODR(ODR_50Hz);
+	    //mems.setScale(_16g);
+	    mems.setScale(_2g);
+	    mems.int1Setup(0x40);       // IntActivity 1 driven to INT1 pad
+	    mems.int1Latch(0x01);       // Enable int1 latch
+	    mems.int1Threshold(INT1_THRESHOLD);
+	    mems.int1Duration(INT1_DUR);
+	    mems.int1Config(0x2A);      // Enable XHigh, YHigh and ZHigh
+		*/
+
         advertisementPacket.accelerometer[0] = (int16_t)mems->readXAxis();
         advertisementPacket.accelerometer[1] = (int16_t)mems->readYAxis();
         advertisementPacket.accelerometer[2] = (int16_t)mems->readZAxis();
-        
+
         advertisementPacket.acc_lsb_value = LSB_VALUE;
-        
+
         updateServiceT.signal_set(MEAS_DONE);
         bleT.signal_set(MEAS_DONE);
-        
-        wait_ms(MEASURE_INTERVAL_MS);
+
+		lisPowerCtrl(LIS_OFF);
+        Thread::wait(MEASURE_INTERVAL_MS);
     }
 }
 
@@ -119,7 +132,7 @@
     {
         Thread::signal_wait(MEAS_DONE);
         updateServiceT.signal_clr(MEAS_DONE);
-        
+
         lizzy_service->set_acc_data(advertisementPacket.accelerometer);
     }
 }
@@ -130,7 +143,7 @@
     {
         Thread::signal_wait(UPDATE_BUZZ_LEDS);
         updateBuzzLedsT.signal_clr(UPDATE_BUZZ_LEDS);
-        
+
         if (buzzer.get_state() != (lizzy_service->get_buzz_state()))
         {
             if (lizzy_service->get_buzz_state())
@@ -159,7 +172,7 @@
     {
         Thread::signal_wait(MEAS_DONE);
         bleT.signal_clr(MEAS_DONE);
-        
+
         /*
         printf("%6d\t", advertisementPacket.accelerometer[0]);
         printf("%6d\t", advertisementPacket.accelerometer[1]);
@@ -167,10 +180,10 @@
         */
 
         //updatePayload(ble, &advertisementPacket);
-        
+
         /* setup advertising */
-        
-        
+
+
         /*
         GapAdvertisingData advetisementData = GapAdvertisingData();
         advetisementData = ble->getAdvertisingData();
@@ -180,19 +193,19 @@
         adv_data = ble->getAdvertisingData();
         adv_data.updateData(adv_data.MANUFACTURER_SPECIFIC_DATA, (uint8_t *)&advertisementPacket, sizeof(advertisementPacket));
         ble->setAdvertisingData(adv_data);
-        
-        
+
+
         //printf("Ble advertisement is ON.\r\n");
-        
+
         #if DEBUG_LED
             redLed = 0;
         #endif
         //ble->gap().startAdvertising();
         //wait_ms(1000);
-        
+
         //wait_ms(MEASURE_INTERVAL_MS);
         //wait_ms(1000);
-        
+
         //printf("Ble advertisement is OFF.\r\n\r\n");
         #if DEBUG_LED
             redLed = 1;
@@ -206,4 +219,4 @@
         */
         //wait_ms(100);
     }
-}
\ No newline at end of file
+}