Skip to content

inductivekickback/ncs_ble_esb_demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 

Repository files navigation

This project was built from the v1.6.0 tag of nRF Connect SDK (NCS) and demonstrates a reasonable approach to integrating the Enhanced ShockBurst (ESB) Transmitter sample into the Bluetooth Peripheral UART sample so the two protocols can run concurrently. An expanded description is posted here.

The BLE connection looks like this:

And the timeslots fit in to the schedule like this:

Features
  • Wraps the MPSL timeslot feature to provide a simple interface
    • Provides fixed-length timeslots at a consistent interval
  • Uses the MPSL radio notifications feature to synchronize timeslots to BLE Connection Events
  • Optimized SoC peripheral use
    • a single interrupt vector is used for both radio notifications and timeslot callbacks
    • a single (cooperative) thread
      • minimizes processing in ISRs
      • executes application callbacks in a safe manner
      • protects MPSL API calls from being reentered
    • no additional RTCs or timers
  • Requires minimal modification to the ESB library
    • doesn't add RADIO_IRQHandler to the vector table (this is already done by the SoftDevice Controller)
    • two (optional) functions allow saving and restoring a pipe's PID so it can persist when the library is disabled and reinitialzed
  • BLE connectivity can be tested using nRF Connect for Mobile (Android, iOS)
  • ESB works with the (unmodified) Enhanced ShockBurst Receiver sample in NCS

About

Practical example of running BLE and ESB concurrently

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published