Can I copy the ESB code from SDK v3.3.0-preview3 into SDK v2.9.0, and then get the functionality in esb_ptx_ble & esb_prx_ble?
Is there any way to achieve it quickly?
Can I copy the ESB code from SDK v3.3.0-preview3 into SDK v2.9.0, and then get the functionality in esb_ptx_ble & esb_prx_ble?
Is there any way to achieve it quickly?
Hello,
Not sure I understand what problem you are trying to solve here, there should be ESB example projects for the nRF52840 in both the nRF Connect SDK releases you are referring to.
Can I copy the ESB code from SDK v3.3.0-preview3 into SDK v2.9.0, and then get the functionality in esb_ptx_ble & esb_prx_ble?
There may be some api changes, but for most part I would expect it should be pretty straight forward possible yes.
Kenneth
Hello,
Using nRF Connect SDK v3.3.0, one device runs esb_ptx_ble and broadcasts 2 packets of data every 5-10ms, with 15 devices running esb_prx_ble,esb rx interval 7300ms,rx window 15ms, 30 seconds is a receiving cycle, and failure to receive a packet of data within the cycle is considered a failure; After running 15 devices for a few days, occasionally one device experiences dozens of consecutive cycles without receiving data. Why is that?
Hi Edvin,
Yes, However, this firmware will not keep producing errors; no button, UART, or CLI operation is required.
The key issue is that the ESB is not submitting "ESB_EVENT_TIMESLOT_FAILED" or "ESB_EVENT_FATAL_ERROR" to the application layer. If this logic were implemented, the application layer could reset the MCU.
Best regards,
Leo
Leo Mo said:Yes, However, this firmware will not keep producing errors; no button, UART, or CLI operation is required.
I am confused. So what do you want me to do?
BR,
Edvin
Hi Edvin,
Sorry, Using these codes(esb_prx_ble_central_peripheral.zip, nRF Connect SDK v3.3.0/v3.4.0) will make it easier to trigger this issue.
1. prj.conf for Peripheral(nRF52840DK).
2. prj_central.conf for Cnetral(nRF52840DK).
3. Place two 52840DKs together, ensuring RSSI >= -40. Central will scan the Peripheral and connect.
4. After a successful connection, the two devices will send data to each other through the NUS service and open the ESB (esb_start_rx).
5. Using J-Link RTT View to view the logs, it may take several hours for this issue to occur. The logs are as follows:
[06:01:52.518,341] <err> esb: gppi_channel_alloc failed with: -12 [06:01:52.518,371] <err> esb: Failed to initialize PPI
Best regards,
Leo
Hello,
I have not. I tried building it like this:
peripheral: west build -b nrf52840dk/nrf52840 -d build
central: west build -b nrf52840dk/nrf52840 -d build_central -- -DEXTRA_CONF_FILE=prj_central.conf
The two devices seemed to connect, and I see this log:

Is that correct?
Best regards,
Edvin
Hello,
I have not. I tried building it like this:
peripheral: west build -b nrf52840dk/nrf52840 -d build
central: west build -b nrf52840dk/nrf52840 -d build_central -- -DEXTRA_CONF_FILE=prj_central.conf
The two devices seemed to connect, and I see this log:

Is that correct?
Best regards,
Edvin