Compilation fix for newer mbed-os
Fork of X_NUCLEO_IDB0XA1 by
Revision 277:8da7a954664d, committed 2016-09-15
- Comitter:
- Vincent Coubard
- Date:
- Thu Sep 15 10:51:41 2016 +0100
- Branch:
- sync_with_github
- Parent:
- 276:a20f4cad1d61
- Parent:
- 274:4826afdae563
- Child:
- 278:a5209d8cfd61
- Child:
- 279:30a6a8ad2623
- Commit message:
- Sync with 09eed58c8df8d351803324b150e324027ecb9ad6
Merge 7b242e25ed2bc04230f0e62d1ae2c076bfc1c354 into e6d00ca1d1860d23ec86287a3d7ff17abad1cb06
2016-07-25 16:35:33+02:00: Andrea Palmieri
Merge pull request #9 from ARMmbed/rtos
Scheduling policy
Changed in this revision
--- a/source/BlueNRGDevice.cpp Thu Sep 15 10:51:40 2016 +0100 +++ b/source/BlueNRGDevice.cpp Thu Sep 15 10:51:41 2016 +0100 @@ -227,9 +227,7 @@ bool must_return = false; do { - BlueNRGGap::getInstance().Process(); - - HCI_Process(); + bluenrgDeviceInstance.processEvents(); if(must_return) return; @@ -466,4 +464,8 @@ void BlueNRGDevice::enable_irq() { irq_.enable_irq(); +} + +void BlueNRGDevice::processEvents() { + btle_handler(); } \ No newline at end of file
--- a/source/bluenrg-hci/hci/hci.c Thu Sep 15 10:51:40 2016 +0100 +++ b/source/bluenrg-hci/hci/hci.c Thu Sep 15 10:51:41 2016 +0100 @@ -179,9 +179,7 @@ hciReadPacket->data_len = data_len; if(HCI_verify(hciReadPacket) == 0) { list_insert_tail(&hciReadPktRxQueue, (tListNode *)hciReadPacket); -#ifdef AST_FOR_MBED_OS - Call_BTLE_Handler(); -#endif + signalEventsToProcess(); } else { list_insert_head(&hciReadPktPool, (tListNode *)hciReadPacket); #ifdef POOL_CNT @@ -199,9 +197,7 @@ } else{ // HCI Read Packet Pool is empty, wait for a free packet. -#ifdef AST_FOR_MBED_OS - Call_BTLE_Handler(); -#endif + signalEventsToProcess(); readPacketListFull = TRUE; Clear_SPI_EXTI_Flag(); return; @@ -1229,4 +1225,3 @@ return 0; } -
--- a/source/platform/btle.cpp Thu Sep 15 10:51:40 2016 +0100 +++ b/source/platform/btle.cpp Thu Sep 15 10:51:41 2016 +0100 @@ -183,14 +183,11 @@ /*ret = aci_gatt_update_char_value(service_handle, dev_name_char_handle, 0, strlen(name), (tHalUint8 *)name);*/ + signalEventsToProcess(); // update the peripheral preferred conenction parameters handle // This value is hardcoded at the moment. g_preferred_connection_parameters_char_handle = 10; - -#ifdef AST_FOR_MBED_OS - minar::Scheduler::postCallback(btle_handler); -#endif return; } @@ -203,15 +200,14 @@ @returns */ /**************************************************************************/ -#ifdef AST_FOR_MBED_OS int btle_handler_pending = 0; void btle_handler(void) { btle_handler_pending = 0; + BlueNRGGap::getInstance().Process(); HCI_Process(); } -#endif /* set BLE Version string */ void setVersionString(uint8_t hwVersion, uint16_t fwVersion)
--- a/source/platform/clock.c Thu Sep 15 10:51:40 2016 +0100 +++ b/source/platform/clock.c Thu Sep 15 10:51:41 2016 +0100 @@ -1,7 +1,12 @@ #include "clock.h" -#include "mbed-drivers/wait_api.h" -#include "mbed-drivers/rtc_time.h" +#ifdef YOTTA_CFG_MBED_OS + #include "mbed-drivers/wait_api.h" + #include "mbed-drivers/rtc_time.h" +#else + #include "wait_api.h" + #include "rtc_time.h" +#endif const uint32_t CLOCK_SECOND = 1000; @@ -28,7 +33,4 @@ { wait_ms(i); } -/*---------------------------------------------------------------------------*/ - - - +/*---------------------------------------------------------------------------*/ \ No newline at end of file
--- a/source/platform/stm32_bluenrg_ble.cpp Thu Sep 15 10:51:40 2016 +0100 +++ b/source/platform/stm32_bluenrg_ble.cpp Thu Sep 15 10:51:41 2016 +0100 @@ -172,20 +172,12 @@ bluenrgDeviceInstance.enable_irq(); } -#ifdef AST_FOR_MBED_OS -/** - * Call BTLE callback handler. - * @param None - * @retval None - */ -void Call_BTLE_Handler(void) -{ - if(!btle_handler_pending) { - btle_handler_pending = 1; - minar::Scheduler::postCallback(btle_handler); - } +void signalEventsToProcess(void) { + if(btle_handler_pending == 0) { + btle_handler_pending = 1; + bluenrgDeviceInstance.signalEventsToProcess(BLE::DEFAULT_INSTANCE); + } } -#endif /** * @brief Disable SPI IRQ. @@ -224,4 +216,4 @@ // End of C function wrappers //////////////////////////////////////// -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ \ No newline at end of file
--- a/x-nucleo-idb0xa1/BlueNRGDevice.h Thu Sep 15 10:51:40 2016 +0100 +++ b/x-nucleo-idb0xa1/BlueNRGDevice.h Thu Sep 15 10:51:41 2016 +0100 @@ -88,6 +88,8 @@ int32_t spiWrite(uint8_t* data1, uint8_t* data2, uint8_t Nb_bytes1, uint8_t Nb_bytes2); void disable_irq(); void enable_irq(); + + virtual void processEvents(); private: bool isInitialized; @@ -102,4 +104,4 @@ SecurityManager *sm; }; -#endif +#endif \ No newline at end of file
--- a/x-nucleo-idb0xa1/bluenrg-hci/hal.h Thu Sep 15 10:51:40 2016 +0100 +++ b/x-nucleo-idb0xa1/bluenrg-hci/hal.h Thu Sep 15 10:51:41 2016 +0100 @@ -98,14 +98,11 @@ */ void Disable_SPI_IRQ(void); -/** - * Call BTLE callback handler. - */ -void Call_BTLE_Handler(void); +void signalEventsToProcess(void); void Hal_Init_Timer(void); uint32_t Hal_Get_Timer_Value(void); void Hal_Start_Timer(uint32_t timeout); void Hal_Stop_Timer(void); -#endif /* __HAL_H__ */ +#endif /* __HAL_H__ */ \ No newline at end of file
--- a/x-nucleo-idb0xa1/platform/btle.h Thu Sep 15 10:51:40 2016 +0100 +++ b/x-nucleo-idb0xa1/platform/btle.h Thu Sep 15 10:51:41 2016 +0100 @@ -50,10 +50,9 @@ uint16_t scan_window, uint8_t own_address_type); -#ifdef AST_FOR_MBED_OS + extern int btle_handler_pending; extern void btle_handler(void); -#endif #ifdef __cplusplus }