Environment:
-
Chip: nRF54L15
-
SDK Version: nRF Connect SDK (NCS) v3.1.1
-
Board: nRF54L15 DK / Custom Board
Description: Hi Nordic Team,
I am developing a low-latency application on the nRF54L15 using the ESB (Enhanced ShockBurst) protocol as the default running mode. I need to implement a mechanism to switch to BLE mode specifically for firmware updates (DFU/FOTA) and then return to ESB if no connection is established.
My desired workflow is as follows:
-
Default State: The device runs proprietary ESB logic.
-
Trigger: Upon a specific Button Press (GPIO interrupt), the device should suspend/uninitialize the ESB subsystem.
-
Action: Initialize the BLE stack and start advertising with the SMP Service (Console/DFU).
-
Timeout Logic: If no BLE Central connects within 30 seconds, the device should stop BLE advertising, disable the Bluetooth stack, and re-initialize/resume the ESB functionality.
My Questions: Since the nRF54L15 is a new platform, could you please provide a reference sample or code snippets demonstrating:
-
How to cleanly de-initialize ESB and initialize BLE (and vice versa) in the same runtime context without triggering a full system reset?
-
How to properly manage the shared radio resources to avoid conflicts during this switch?
-
Is there an existing sample in the NCS that combines
esb_ptx(or prx) with thesmp_svr(SMP Server) that I can modify?
Any guidance on the recommended architectural approach for this "dual-mode but exclusive" operation on the nRF54L15 would be greatly appreciated.
Thanks.