This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

ESB listen before talk

Hi,

Does anyone know if ESB example library has LBT implemented?

Been doing a timming mapping between master and slave on packet exchange, and looks like a bit too exact on precise on the receiving and reply times in order to have LBT specially when I have a few other NRF active devices around.

Parents
  • Hi, Thank you for the help,

    I'm using ESB to synchronize 2 radios times for 1ms error time-stamps. I've tried simplified NTP over GZLL, but needs 100's of packets with a fast conversion average to have a good sync, 1ms as required. When tried the same using ESB, needed 4 packets only and the whole things was super. Then I realized that the send and reply and where EXACT in the timings I was using, which made me think if the lib was listening before the work. Is there any example code that I can use as reference for LBT in the ESB use?

    Thanks

  • There is a defined amount of time between switching between RX and TX. This is simpler in ESB than in Gazell, even though Gazel is built on top of ESB. There's no LBT in ESB, but I think the strict timing between RX adnd TX operation is what you are observing.

    If you want to use LBT in ESB I would recommend you to use the rssi module in the radio peripheral. Go into receive mode and listen for some period of time and sample the receive channel. I would average the rssi reading across a few samples and not just base it one reading. It all depends on how much time you have available.

    Radio_example in the SDK would be the best starting point, but the functionality isn't made specifically.

Reply
  • There is a defined amount of time between switching between RX and TX. This is simpler in ESB than in Gazell, even though Gazel is built on top of ESB. There's no LBT in ESB, but I think the strict timing between RX adnd TX operation is what you are observing.

    If you want to use LBT in ESB I would recommend you to use the rssi module in the radio peripheral. Go into receive mode and listen for some period of time and sample the receive channel. I would average the rssi reading across a few samples and not just base it one reading. It all depends on how much time you have available.

    Radio_example in the SDK would be the best starting point, but the functionality isn't made specifically.

Children
No Data
Related