Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of X_NUCLEO_IDB0XA1 by
Revision 264:1e754a01869e, committed 2016-09-15
- Comitter:
- Vincent Coubard
- Date:
- Thu Sep 15 10:51:26 2016 +0100
- Branch:
- e9fb3e390284c3f7ef8e1d21cc55deef7558ca3d
- Parent:
- 254:f4d217cadbde
- Child:
- 273:00205952d841
- Commit message:
- Sync with e9fb3e390284c3f7ef8e1d21cc55deef7558ca3d
2016-07-11 11:07:03+01:00: Vincent Coubard
Changes needed for the scheduling policy.
Friendly with RTOS.
Changed in this revision
--- a/source/BlueNRGDevice.cpp Thu Sep 15 10:51:17 2016 +0100
+++ b/source/BlueNRGDevice.cpp Thu Sep 15 10:51:26 2016 +0100
@@ -229,9 +229,7 @@
bool must_return = false;
do {
- BlueNRGGap::getInstance().Process();
-
- HCI_Process();
+ bluenrgDeviceInstance.processEvents();
if(must_return) return;
@@ -469,3 +467,7 @@
{
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:17 2016 +0100
+++ b/source/bluenrg-hci/hci/hci.c Thu Sep 15 10:51:26 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:17 2016 +0100
+++ b/source/platform/btle.cpp Thu Sep 15 10:51:26 2016 +0100
@@ -203,9 +203,7 @@
/*ret = aci_gatt_update_char_value(service_handle, dev_name_char_handle, 0,
strlen(name), (tHalUint8 *)name);*/
-#ifdef AST_FOR_MBED_OS
- minar::Scheduler::postCallback(btle_handler);
-#endif
+ signalEventsToProcess();
return;
}
@@ -218,15 +216,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)
@@ -643,4 +640,4 @@
#ifdef __cplusplus
}
-#endif
+#endif
\ No newline at end of file
--- a/source/platform/stm32_bluenrg_ble.cpp Thu Sep 15 10:51:17 2016 +0100
+++ b/source/platform/stm32_bluenrg_ble.cpp Thu Sep 15 10:51:26 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:17 2016 +0100
+++ b/x-nucleo-idb0xa1/BlueNRGDevice.h Thu Sep 15 10:51:26 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:17 2016 +0100 +++ b/x-nucleo-idb0xa1/bluenrg-hci/hal.h Thu Sep 15 10:51:26 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:17 2016 +0100
+++ b/x-nucleo-idb0xa1/platform/btle.h Thu Sep 15 10:51:26 2016 +0100
@@ -49,13 +49,12 @@
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
}
#endif
-#endif
+#endif
\ No newline at end of file
