Degree Computation
Dependencies: aconno_SEGGER_RTT LSM9DS1 Si7006A20 adc52832_common aconnoMPL115A1 aconno_bsp
main.cpp
00001 /* 00002 * aconno.de 00003 * Made by Jurica Resetar 00004 * Edited by Karlo Milicevic 00005 * Edited by Dominik Bartolovic 00006 * All right reserved 00007 * 00008 */ 00009 00010 #include "mbed.h" 00011 #include "ble/BLE.h" 00012 #include "acd52832_bsp.h" 00013 #include "GapAdvertisingData.h" 00014 #include "aconnoConfig.h" 00015 #include "Si7006A20.h" 00016 #include "LSM9DS1.h" 00017 #include "adc52832_common/utilities.h" 00018 #include "acd_nrf52_saadc.h" 00019 #include "tasks.h" 00020 #include <events/mbed_events.h> 00021 #include "aconnoHelpers.h" 00022 00023 GapAdvertisingData adv_data = GapAdvertisingData(); 00024 advertising_packet advertisementPacket; 00025 DigitalOut lightPower(p28); 00026 DigitalOut temperaturePower(p31); 00027 DigitalOut shdn(p6); 00028 DigitalOut power(p2); 00029 00030 Thread updateDataThread; 00031 Thread sendDataThread; 00032 00033 EventQueue eventQueue; 00034 00035 /** 00036 * Callback triggered when the ble initialization process has finished 00037 */ 00038 void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) 00039 { 00040 BLE &ble = BLE::Instance(); 00041 00042 advertisementPacket.header = APPLICATION_ID; 00043 /* setup advertising */ 00044 ble.gap().accumulateAdvertisingPayload( 00045 GapAdvertisingData::BREDR_NOT_SUPPORTED); 00046 ble.gap().accumulateAdvertisingPayload( 00047 GapAdvertisingData::MANUFACTURER_SPECIFIC_DATA, 00048 (uint8_t *)&advertisementPacket, sizeof(advertisementPacket)); 00049 ble.gap().setAdvertisingType( 00050 GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED); 00051 ble.gap().setAdvertisingInterval(ADV_INTERVAL_MS); 00052 ble.gap().setTxPower(TX_POWER_DB); // Set TX power to TX_POWER 00053 } 00054 00055 void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) 00056 { 00057 BLE &ble = BLE::Instance(); 00058 eventQueue.call(Callback<void()>(&ble, &BLE::processEvents)); 00059 } 00060 00061 int main() 00062 { 00063 BLE &ble = BLE::Instance(); 00064 ble.init(bleInitComplete); 00065 ble.onEventsToProcess(scheduleBleEventsProcessing); 00066 while (ble.hasInitialized() == false) { /* spin loop */ } 00067 00068 updateDataThread.start(updateDataTask); 00069 sendDataThread.start(sendDataTask); 00070 00071 while(true) 00072 { 00073 Thread::wait(0xFFFFFFFF); 00074 } 00075 }
Generated on Thu Jul 14 2022 17:43:18 by
1.7.2

