About esb_ptx_ble & esb_prx_ble.

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?

Parents
  • 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?

    CONFIG_CONN_INTERVAL_MIN=990  //ms
    CONFIG_CONN_INTERVAL_MAX=1010
    CONFIG_CONN_LATENCY=6

    Is it phase entanglement? Or is it another question? How can I solve it?
  • 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

    esb_prx_ble_central_peripheral.zip

    Best regards,

    Leo

  •  
    Hi Edvin,

    Have you encountered this issue?

    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

Reply Children
No Data
Related