Integration notes
To integrate the Gazell Link Layer library in your application, you need to:
Link in the GZLL library. See the Configuration section.
Supply the glue code used by the library. See the Glue layer section.
RTOS
Gazell Link Layer API is not reentrant. It should be called by only a single thread in an RTOS.
Configuration
In the nRF Connect SDK, you can enable the GZLL library using the CONFIG_GZLL
Kconfig option.
Look for the menu item “Enable Gazell Link Layer”.
The build system will link in the appropriate library for your nRF5 SoC.
Glue layer
The glue layer lets you to select the hardware resources for Gazell.
Radio
Gazell accesses directly the nRF5 radio peripheral.
When nRF5 radio makes an interrupt request, the glue function nrf_gzll_radio_irq_handler()
needs to be called for Gazell processing.
Timer
Gazell requires a timer peripheral for timing purposes.
It accesses directly the timer instance provided by the nrf_gzll_timer
variable.
It consults the nrf_gzll_timer_irqn
variable for the interrupt number of the timer.
When nRF5 timer makes an interrupt request, the glue function nrf_gzll_timer_irq_handler()
needs to be called for Gazell processing.
Software interrupt
Gazell consults the nrf_gzll_swi_irqn
variable for the software interrupt number to use.
When nRF5 software interrupt is triggered, the glue function nrf_gzll_swi_irq_handler()
needs to be called for Gazell processing.
PPI channels
Gazell takes three PPI channels. It consults the following variables for the PPI channel numbers, event end points (EEP) and task end points (TEP):
High frequency clock
You can configure Gazell to automatically switch on and off the high frequency oscillator (NRF_GZLL_XOSC_CTL_AUTO
).
It calls the following glue functions for high frequency clock requests:
Microseconds delay
Gazell calls the glue function nrf_gzll_delay_us()
to delay a number of microseconds.