Hi,
I'm working on a project using the DA1468x with SDK DA1468x_SDK_BTLE_v_1.0.8.1050.1.
For this project we need to run a critical section of about 400µs. And we use the Timer0 to trigger periodically this section.
We would like to run this section in the timer handler, but after few seconds we reach the following assert :
ASSERT_WARNING(ble_slp_delays_cnt < (BLE_MAX_DELAYS_ALLOWED + 1));
What is the consequence for BLE if this assert is true ?
What is the aim of the BLE_MAX_DELAYS_ALLOWED define ? How should it be configured ?
Regards,
Device:
Hi Joffrey COFFINEAU,
Please check the UM-B-044-DA1468x Software Platform Reference.pdf in paragraph 9.3.1 for details regarding the BLE_MAX_DELAYS_ALLOWED functionallity. That particular paragraph explains the reason of existance for the definition and its operation.
Thanks MT_dialog
Hi,
Thanks for the answer, i just discovered this interesting document.
To be sure to well understand, may you confirm that reaching this assert mean that we miss BLE event. And adding delay in BLE_MAX_DELAYS_ALLOWED is just used to ignore this warning ?
I have an other question about Timer0 triggering, is there any means to wake up from extended sleep with the Timer0 interrupt (In paragraph 9.2 only Timer1 seems to have this feature)
Regards,
Hi Joffrey COFFINEAU,
Regarding the BLE_DELAYS_MAX_ALLOWED this is just a percentage value in order for the SDK to allow a specific amount of delays to occur, if this assertion occurs that means that you have delayed in executing the slp_isr therefore it took you time to wake up thus you were missing BLE events, you woke up to serve them but you were too late.
Regarding you other question, only Timer1 runs while sleeping, Timer0 is disabled while sleep, but you can wake up via the RTOS timers if you would like.
Thanks MT_dialog