Degree Computation

Dependencies:   aconno_SEGGER_RTT LSM9DS1 Si7006A20 adc52832_common aconnoMPL115A1 aconno_bsp

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers tasks.cpp Source File

tasks.cpp

00001 /**
00002  * Made by Jurica @ aconno
00003  * jurica@aconno.de
00004  * More info @ aconno.de
00005  */
00006 
00007 #include "mbed.h"
00008 #include "aconnoHelpers.h"
00009 #include "ble/BLE.h"
00010 #include "aconnoConfig.h"
00011 
00012 #define UPDATE_SENSORS_SIGNAL   (0x10001000)
00013 #define SEND_DATA_SIGNAL        (0x10001001) 
00014 extern Thread updateDataThread;
00015 extern Thread sendDataThread;
00016 
00017 void updateDataTask()
00018 {
00019     //printf("updateDataTask started.\r\n");
00020     while(1)
00021     {
00022         
00023         ThisThread::flags_wait_any(UPDATE_SENSORS_SIGNAL);
00024         //printf("Ulazim\r\n");
00025         updateData();
00026         sendDataThread.flags_set(SEND_DATA_SIGNAL);
00027         //printf("Vrtim se.\r\n");
00028     }
00029 }
00030 
00031 void sendDataTask()
00032 {
00033     //printf("sendDataTask started.\r\n");
00034     BLE &ble = BLE::Instance();
00035     while(1)
00036     {
00037         updateDataThread.flags_set(UPDATE_SENSORS_SIGNAL);
00038         ThisThread::flags_wait_any(SEND_DATA_SIGNAL);
00039         //printf("Turning BLE radion on.\r\n");
00040         ble.gap().startAdvertising();
00041         ThisThread::sleep_for(RADIO_ACTIVE_TIME_MS);
00042         //printf("Turining BLE radio off.\r\n");
00043         ble.gap().stopAdvertising();
00044         MBED_ASSERT((ADV_PERIOD_TIME_MS-RADIO_ACTIVE_TIME_MS) > 0);
00045         ThisThread::sleep_for(ADV_PERIOD_TIME_MS-RADIO_ACTIVE_TIME_MS);
00046         
00047     }
00048 }