Bluetooth: Controller: Single timer use Extended Advertising nRF54L support
Update Extended Advertising for single timer use support required for nRF54L Series SoCs. As the timer is reset on every radio end, add implementation to accumulate the last_pdu_end_us. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
parent
28f93157fd
commit
373dc0db71
4 changed files with 20 additions and 0 deletions
|
|
@ -641,6 +641,15 @@ uint32_t radio_is_done(void)
|
|||
}
|
||||
#endif /* !CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER */
|
||||
|
||||
uint32_t radio_is_tx_done(void)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER)) {
|
||||
return radio_is_done();
|
||||
} else {
|
||||
return 1U;
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t radio_has_disabled(void)
|
||||
{
|
||||
return (NRF_RADIO->EVENTS_DISABLED != 0);
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ void radio_status_reset(void);
|
|||
uint32_t radio_is_ready(void);
|
||||
uint32_t radio_is_address(void);
|
||||
uint32_t radio_is_done(void);
|
||||
uint32_t radio_is_tx_done(void);
|
||||
uint32_t radio_has_disabled(void);
|
||||
uint32_t radio_is_idle(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -1303,6 +1303,11 @@ static void isr_done(void *param)
|
|||
{
|
||||
struct lll_adv *lll;
|
||||
|
||||
/* Call to ensure packet/event timer accumulates the elapsed time
|
||||
* under single timer use.
|
||||
*/
|
||||
(void)radio_is_tx_done();
|
||||
|
||||
/* Clear radio status and events */
|
||||
lll_isr_status_reset();
|
||||
|
||||
|
|
|
|||
|
|
@ -581,6 +581,11 @@ static void isr_tx_rx(void *param)
|
|||
node_rx_prof = lll_prof_reserve();
|
||||
}
|
||||
|
||||
/* Call to ensure packet/event timer accumulates the elapsed time
|
||||
* under single timer use.
|
||||
*/
|
||||
(void)radio_is_tx_done();
|
||||
|
||||
/* Clear radio tx status and events */
|
||||
lll_isr_tx_status_reset();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue