RADIO HAL¶
-
group
nrf_radio_hal
Hardware access layer for managing the RADIO peripheral.
Enums
-
enum
nrf_radio_task_t
¶ RADIO tasks.
Values:
-
enumerator
NRF_RADIO_TASK_TXEN
¶ Enable RADIO in TX mode.
-
enumerator
NRF_RADIO_TASK_RXEN
¶ Enable RADIO in RX mode.
-
enumerator
NRF_RADIO_TASK_START
¶ Start RADIO.
-
enumerator
NRF_RADIO_TASK_STOP
¶ Stop RADIO.
-
enumerator
NRF_RADIO_TASK_DISABLE
¶ Disable RADIO.
-
enumerator
NRF_RADIO_TASK_RSSISTART
¶ Start the RSSI and take one single sample of the receive signal strength.
-
enumerator
NRF_RADIO_TASK_RSSISTOP
¶ Stop the RSSI measurement.
-
enumerator
NRF_RADIO_TASK_BCSTART
¶ Start the bit counter.
-
enumerator
NRF_RADIO_TASK_BCSTOP
¶ Stop the bit counter.
-
enumerator
NRF_RADIO_TASK_EDSTART
¶ Start the Energy Detect measurement used in IEEE 802.15.4 mode.
-
enumerator
NRF_RADIO_TASK_EDSTOP
¶ Stop the Energy Detect measurement.
-
enumerator
NRF_RADIO_TASK_CCASTART
¶ Start the Clear Channel Assessment used in IEEE 802.15.4 mode.
-
enumerator
NRF_RADIO_TASK_CCASTOP
¶ Stop the Clear Channel Assessment.
-
enumerator
-
enum
nrf_radio_event_t
¶ RADIO events.
Values:
-
enumerator
NRF_RADIO_EVENT_READY
¶ Radio has ramped up and is ready to be started.
-
enumerator
NRF_RADIO_EVENT_ADDRESS
¶ Address sent or received.
-
enumerator
NRF_RADIO_EVENT_PAYLOAD
¶ Packet payload sent or received.
-
enumerator
NRF_RADIO_EVENT_END
¶ Packet transmitted or received.
-
enumerator
NRF_RADIO_EVENT_DISABLED
¶ RADIO has been disabled.
-
enumerator
NRF_RADIO_EVENT_DEVMATCH
¶ A device address match occurred on the last received packet.
-
enumerator
NRF_RADIO_EVENT_DEVMISS
¶ No device address match occurred on the last received packet.
-
enumerator
NRF_RADIO_EVENT_RSSIEND
¶ Sampling of receive signal strength complete.
-
enumerator
NRF_RADIO_EVENT_BCMATCH
¶ Bit counter reached bit count value.
-
enumerator
NRF_RADIO_EVENT_CRCOK
¶ Packet received with correct CRC.
-
enumerator
NRF_RADIO_EVENT_CRCERROR
¶ Packet received with incorrect CRC.
-
enumerator
NRF_RADIO_EVENT_FRAMESTART
¶ IEEE 802.15.4 length field received.
-
enumerator
NRF_RADIO_EVENT_EDEND
¶ Energy Detection procedure ended.
-
enumerator
NRF_RADIO_EVENT_EDSTOPPED
¶ The sampling of Energy Detection has stopped.
-
enumerator
NRF_RADIO_EVENT_CCAIDLE
¶ Wireless medium in idle - clear to send.
-
enumerator
NRF_RADIO_EVENT_CCABUSY
¶ Wireless medium busy - do not send.
-
enumerator
NRF_RADIO_EVENT_CCASTOPPED
¶ The CCA has stopped.
-
enumerator
NRF_RADIO_EVENT_RATEBOOST
¶ Ble_LR CI field received, receive mode is changed from Ble_LR125Kbit to Ble_LR500Kbit.
-
enumerator
NRF_RADIO_EVENT_TXREADY
¶ RADIO has ramped up and is ready to be started TX path.
-
enumerator
NRF_RADIO_EVENT_RXREADY
¶ RADIO has ramped up and is ready to be started RX path.
-
enumerator
NRF_RADIO_EVENT_MHRMATCH
¶ MAC Header match found.
-
enumerator
NRF_RADIO_EVENT_PHYEND
¶ Generated in Ble_LR125Kbit, Ble_LR500Kbit and BleIeee802154_250Kbit modes when last bit is sent on the air.
-
enumerator
NRF_RADIO_EVENT_SYNC
¶ Generated in Ble_LR125Kbit, Ble_LR500Kbit and BleIeee802154_250Kbit modes when possible preamble has been received.
-
enumerator
NRF_RADIO_EVENT_CTEPRESENT
¶ CTE is present.
-
enumerator
-
enum
nrf_radio_int_mask_t
¶ RADIO interrupts.
Values:
-
enumerator
NRF_RADIO_INT_READY_MASK
¶ Interrupt on READY event.
-
enumerator
NRF_RADIO_INT_ADDRESS_MASK
¶ Interrupt on ADDRESS event.
-
enumerator
NRF_RADIO_INT_PAYLOAD_MASK
¶ Interrupt on PAYLOAD event.
-
enumerator
NRF_RADIO_INT_END_MASK
¶ Interrupt on END event.
-
enumerator
NRF_RADIO_INT_DISABLED_MASK
¶ Interrupt on DISABLED event.
-
enumerator
NRF_RADIO_INT_DEVMATCH_MASK
¶ Interrupt on DEVMATCH event.
-
enumerator
NRF_RADIO_INT_DEVMISS_MASK
¶ Interrupt on DEVMISS event.
-
enumerator
NRF_RADIO_INT_RSSIEND_MASK
¶ Interrupt on RSSIEND event.
-
enumerator
NRF_RADIO_INT_BCMATCH_MASK
¶ Interrupt on BCMATCH event.
-
enumerator
NRF_RADIO_INT_CRCOK_MASK
¶ Interrupt on CRCOK event.
-
enumerator
NRF_RADIO_INT_CRCERROR_MASK
¶ Interrupt on CRCERROR event.
-
enumerator
NRF_RADIO_INT_FRAMESTART_MASK
¶ Interrupt on FRAMESTART event.
-
enumerator
NRF_RADIO_INT_EDEND_MASK
¶ Interrupt on EDEND event.
-
enumerator
NRF_RADIO_INT_EDSTOPPED_MASK
¶ Interrupt on EDSTOPPED event.
-
enumerator
NRF_RADIO_INT_CCAIDLE_MASK
¶ Interrupt on CCAIDLE event.
-
enumerator
NRF_RADIO_INT_CCABUSY_MASK
¶ Interrupt on CCABUSY event.
-
enumerator
NRF_RADIO_INT_CCASTOPPED_MASK
¶ Interrupt on CCASTOPPED event.
-
enumerator
NRF_RADIO_INT_RATEBOOST_MASK
¶ Interrupt on RATEBOOST event.
-
enumerator
NRF_RADIO_INT_TXREADY_MASK
¶ Interrupt on TXREADY event.
-
enumerator
NRF_RADIO_INT_RXREADY_MASK
¶ Interrupt on RXREADY event.
-
enumerator
NRF_RADIO_INT_MHRMATCH_MASK
¶ Interrupt on MHRMATCH event.
-
enumerator
NRF_RADIO_INT_PHYEND_MASK
¶ Interrupt on PHYEND event.
-
enumerator
NRF_RADIO_INT_SYNC_MASK
¶ Interrupt on SYNC event.
-
enumerator
NRF_RADIO_INT_CTEPRESENT_MASK
¶ Interrupt on CTEPRESENT event.
-
enumerator
-
enum
nrf_radio_short_mask_t
¶ RADIO shortcuts.
Values:
-
enumerator
NRF_RADIO_SHORT_READY_START_MASK
¶ Shortcut between READY event and START task.
-
enumerator
NRF_RADIO_SHORT_END_DISABLE_MASK
¶ Shortcut between END event and DISABLE task.
-
enumerator
NRF_RADIO_SHORT_DISABLED_TXEN_MASK
¶ Shortcut between DISABLED event and TXEN task.
-
enumerator
NRF_RADIO_SHORT_DISABLED_RXEN_MASK
¶ Shortcut between DISABLED event and RXEN task.
-
enumerator
NRF_RADIO_SHORT_ADDRESS_RSSISTART_MASK
¶ Shortcut between ADDRESS event and RSSISTART task.
-
enumerator
NRF_RADIO_SHORT_END_START_MASK
¶ Shortcut between END event and START task.
-
enumerator
NRF_RADIO_SHORT_ADDRESS_BCSTART_MASK
¶ Shortcut between ADDRESS event and BCSTART task.
-
enumerator
NRF_RADIO_SHORT_DISABLED_RSSISTOP_MASK
¶ Shortcut between DISABLED event and RSSISTOP task.
-
enumerator
NRF_RADIO_SHORT_RXREADY_CCASTART_MASK
¶ Shortcut between RXREADY event and CCASTART task.
-
enumerator
NRF_RADIO_SHORT_CCAIDLE_TXEN_MASK
¶ Shortcut between CCAIDLE event and TXEN task.
-
enumerator
NRF_RADIO_SHORT_CCABUSY_DISABLE_MASK
¶ Shortcut between CCABUSY event and DISABLE task.
-
enumerator
NRF_RADIO_SHORT_FRAMESTART_BCSTART_MASK
¶ Shortcut between FRAMESTART event and BCSTART task.
-
enumerator
NRF_RADIO_SHORT_READY_EDSTART_MASK
¶ Shortcut between READY event and EDSTART task.
-
enumerator
NRF_RADIO_SHORT_EDEND_DISABLE_MASK
¶ Shortcut between EDEND event and DISABLE task.
-
enumerator
NRF_RADIO_SHORT_CCAIDLE_STOP_MASK
¶ Shortcut between CCAIDLE event and STOP task.
-
enumerator
NRF_RADIO_SHORT_TXREADY_START_MASK
¶ Shortcut between TXREADY event and START task.
-
enumerator
NRF_RADIO_SHORT_RXREADY_START_MASK
¶ Shortcut between RXREADY event and START task.
-
enumerator
NRF_RADIO_SHORT_PHYEND_DISABLE_MASK
¶ Shortcut between PHYEND event and DISABLE task.
-
enumerator
NRF_RADIO_SHORT_PHYEND_START_MASK
¶ Shortcut between PHYEND event and START task.
-
enumerator
-
enum
nrf_radio_cca_mode_t
¶ RADIO Clear Channel Assessment modes.
Values:
-
enumerator
NRF_RADIO_CCA_MODE_ED
¶ Energy Above Threshold. Will report busy whenever energy is detected above set threshold.
-
enumerator
NRF_RADIO_CCA_MODE_CARRIER
¶ Carrier Seen. Will report busy whenever compliant IEEE 802.15.4 signal is seen.
-
enumerator
NRF_RADIO_CCA_MODE_CARRIER_AND_ED
¶ Energy Above Threshold AND Carrier Seen.
-
enumerator
NRF_RADIO_CCA_MODE_CARRIER_OR_ED
¶ Energy Above Threshold OR Carrier Seen.
-
enumerator
NRF_RADIO_CCA_MODE_ED_TEST1
¶ Energy Above Threshold test mode that will abort when first ED measurement over threshold is seen. No averaging.
-
enumerator
-
enum
nrf_radio_state_t
¶ Types of RADIO states.
Values:
-
enumerator
NRF_RADIO_STATE_DISABLED
¶ No operations are going on inside the radio and the power consumption is at a minimum.
-
enumerator
NRF_RADIO_STATE_RXRU
¶ The radio is ramping up and preparing for reception.
-
enumerator
NRF_RADIO_STATE_RXIDLE
¶ The radio is ready for reception to start.
-
enumerator
NRF_RADIO_STATE_RX
¶ Reception has been started.
-
enumerator
NRF_RADIO_STATE_RXDISABLE
¶ The radio is disabling the receiver.
-
enumerator
NRF_RADIO_STATE_TXRU
¶ The radio is ramping up and preparing for transmission.
-
enumerator
NRF_RADIO_STATE_TXIDLE
¶ The radio is ready for transmission to start.
-
enumerator
NRF_RADIO_STATE_TX
¶ The radio is transmitting a packet.
-
enumerator
NRF_RADIO_STATE_TXDISABLE
¶ The radio is disabling the transmitter.
-
enumerator
-
enum
nrf_radio_txpower_t
¶ Types of RADIO TX power.
Values:
-
enumerator
NRF_RADIO_TXPOWER_POS8DBM
¶ 8 dBm.
-
enumerator
NRF_RADIO_TXPOWER_POS7DBM
¶ 7 dBm.
-
enumerator
NRF_RADIO_TXPOWER_POS6DBM
¶ 6 dBm.
-
enumerator
NRF_RADIO_TXPOWER_POS5DBM
¶ 5 dBm.
-
enumerator
NRF_RADIO_TXPOWER_POS4DBM
¶ 4 dBm.
-
enumerator
NRF_RADIO_TXPOWER_POS3DBM
¶ 3 dBm.
-
enumerator
NRF_RADIO_TXPOWER_POS2DBM
¶ 2 dBm.
-
enumerator
NRF_RADIO_TXPOWER_0DBM
¶ 0 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG1DBM
¶ -1 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG2DBM
¶ -2 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG3DBM
¶ -3 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG4DBM
¶ -4 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG5DBM
¶ -5 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG6DBM
¶ -6 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG7DBM
¶ -7 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG8DBM
¶ -8 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG12DBM
¶ -12 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG16DBM
¶ -16 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG20DBM
¶ -20 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG30DBM
¶ -30 dBm.
-
enumerator
NRF_RADIO_TXPOWER_NEG40DBM
¶ -40 dBm.
-
enumerator
-
enum
nrf_radio_mode_t
¶ Types of RADIO modes (data rate and modulation).
Values:
-
enumerator
NRF_RADIO_MODE_NRF_1MBIT
¶ 1Mbit/s Nordic proprietary radio mode.
-
enumerator
NRF_RADIO_MODE_NRF_2MBIT
¶ 2Mbit/s Nordic proprietary radio mode.
-
enumerator
NRF_RADIO_MODE_NRF_250KBIT
¶ 250Kbit/s Nordic proprietary radio mode.
-
enumerator
NRF_RADIO_MODE_BLE_1MBIT
¶ 1 Mbit/s Bluetooth Low Energy.
-
enumerator
NRF_RADIO_MODE_BLE_2MBIT
¶ 2 Mbit/s Bluetooth Low Energy.
-
enumerator
NRF_RADIO_MODE_BLE_LR125KBIT
¶ Bluetooth Low Energy Long range 125 kbit/s TX, 125 kbit/s and 500 kbit/s RX
-
enumerator
NRF_RADIO_MODE_BLE_LR500KBIT
¶ Bluetooth Low Energy Long range 500 kbit/s TX, 125 kbit/s and 500 kbit/s RX
-
enumerator
NRF_RADIO_MODE_IEEE802154_250KBIT
¶ IEEE 802.15.4-2006 250 kbit/s.
-
enumerator
-
enum
nrf_radio_preamble_length_t
¶ Types of preamble length.
Values:
-
enumerator
NRF_RADIO_PREAMBLE_LENGTH_8BIT
¶ 8-bit preamble.
-
enumerator
NRF_RADIO_PREAMBLE_LENGTH_16BIT
¶ 16-bit preamble.
-
enumerator
NRF_RADIO_PREAMBLE_LENGTH_32BIT_ZERO
¶ 32-bit zero preamble used for IEEE 802.15.4.
-
enumerator
NRF_RADIO_PREAMBLE_LENGTH_LONG_RANGE
¶ Preamble - used for BTLE Long Range.
-
enumerator
-
enum
nrf_radio_crc_addr_t
¶ Types of CRC calculatons regarding address.
Values:
-
enumerator
NRF_RADIO_CRC_ADDR_INCLUDE
¶ CRC calculation includes address field.
-
enumerator
NRF_RADIO_CRC_ADDR_SKIP
¶ CRC calculation does not include address field.
-
enumerator
NRF_RADIO_CRC_ADDR_IEEE802154
¶ CRC calculation as per 802.15.4 standard.
-
enumerator
-
enum
nrf_radio_dfe_op_mode_t
¶ Direction Finding operation modes.
Values:
-
enumerator
NRF_RADIO_DFE_OP_MODE_AOD
¶ Angle-of-Departure mode.
-
enumerator
NRF_RADIO_DFE_OP_MODE_AOA
¶ Angle-of-Arrival mode.
-
enumerator
-
enum
nrf_radio_dfe_switch_state_t
¶ States of Direction Finding switching state machine.
Values:
-
enumerator
NRF_RADIO_DFE_SWITCH_STATE_IDLE
¶ Switching state Idle.
-
enumerator
NRF_RADIO_DFE_SWITCH_STATE_OFFSET
¶ Switching state Offset.
-
enumerator
NRF_RADIO_DFE_SWITCH_STATE_GUARD
¶ Switching state Guard.
-
enumerator
NRF_RADIO_DFE_SWITCH_STATE_REF
¶ Switching state Ref.
-
enumerator
NRF_RADIO_DFE_SWITCH_STATE_SWITCHING
¶ Switching state Switching.
-
enumerator
NRF_RADIO_DFE_SWITCH_STATE_ENDING
¶ Switching state Ending.
-
enumerator
-
enum
nrf_radio_dfe_sample_state_t
¶ States of Direction Finding sampling state machine.
Values:
-
enumerator
NRF_RADIO_DFE_SAMPLE_STATE_IDLE
¶ Sampling state Idle.
-
enumerator
NRF_RADIO_DFE_SAMPLE_STATE_SAMPLING
¶ Sampling state Sampling.
-
enumerator
-
enum
nrf_radio_cteinline_time_range_t
¶ Valid ranges of CTE time, expressed in 8 us units.
Values:
-
enumerator
NRF_RADIO_CTEINLINE_TIME_RANGE_20
¶ 20 units time range.
-
enumerator
NRF_RADIO_CTEINLINE_TIME_RANGE_31
¶ 31 units time range.
-
enumerator
NRF_RADIO_CTEINLINE_TIME_RANGE_63
¶ 63 units time range.
-
enumerator
-
enum
nrf_radio_cteinline_rx_mode_t
¶ Spacing between samples for the samples in the switching period.
Values:
-
enumerator
NRF_RADIO_CTEINLINE_RX_MODE_125NS
¶ 125 ns spacing.
-
enumerator
NRF_RADIO_CTEINLINE_RX_MODE_250NS
¶ 250 ns spacing.
-
enumerator
NRF_RADIO_CTEINLINE_RX_MODE_500NS
¶ 500 ns spacing.
-
enumerator
NRF_RADIO_CTEINLINE_RX_MODE_1US
¶ 1 us spacing.
-
enumerator
NRF_RADIO_CTEINLINE_RX_MODE_2US
¶ 2 us spacing.
-
enumerator
NRF_RADIO_CTEINLINE_RX_MODE_4US
¶ 4 us spacing.
-
enumerator
-
enum
nrf_radio_dfectrl_extension_t
¶ State when CTE extension is added and antenna switching/sampling is done.
Values:
-
enumerator
NRF_RADIO_DFECTRL_EXTENSION_CRC
¶ AoA/AoD procedure triggered at end of CRC.
-
enumerator
NRF_RADIO_DFECTRL_EXTENSION_PAYLOAD
¶ Antenna switching/sampling done in the packet payload.
-
enumerator
-
enum
nrf_radio_dfectrl_switch_spacing_t
¶ Interval between antenna changes in the switching state.
Values:
-
enumerator
NRF_RADIO_DFECTRL_SWITCH_SPACING_1US
¶ 1 us interval between antenna change.
-
enumerator
NRF_RADIO_DFECTRL_SWITCH_SPACING_2US
¶ 2 us interval between antenna change.
-
enumerator
NRF_RADIO_DFECTRL_SWITCH_SPACING_4US
¶ 4 us interval between antenna change.
-
enumerator
-
enum
nrf_radio_dfectrl_sample_spacing_t
¶ Interval between samples.
Values:
-
enumerator
NRF_RADIO_DFECTRL_SAMPLE_SPACING_125NS
¶ 125 ns interval between samples.
-
enumerator
NRF_RADIO_DFECTRL_SAMPLE_SPACING_250NS
¶ 250 ns interval between samples.
-
enumerator
NRF_RADIO_DFECTRL_SAMPLE_SPACING_500NS
¶ 500 ns interval between samples.
-
enumerator
NRF_RADIO_DFECTRL_SAMPLE_SPACING_1US
¶ 1 us interval between samples.
-
enumerator
NRF_RADIO_DFECTRL_SAMPLE_SPACING_2US
¶ 2 us interval between samples.
-
enumerator
NRF_RADIO_DFECTRL_SAMPLE_SPACING_4US
¶ 4 us interval between samples.
-
enumerator
Functions
-
NRF_STATIC_INLINE void
nrf_radio_task_trigger
(NRF_RADIO_Type *p_reg, nrf_radio_task_t task)¶ Function for activating a specific RADIO task.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task to be activated.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_task_address_get
(NRF_RADIO_Type const *p_reg, nrf_radio_task_t task)¶ Function for getting the address of a specific RADIO task register.
This function can be used by the PPI module.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Requested task.
- Returns
Address of the specified task register.
-
NRF_STATIC_INLINE void
nrf_radio_event_clear
(NRF_RADIO_Type *p_reg, nrf_radio_event_t event)¶ Function for clearing a specific RADIO event.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event to clean.
-
NRF_STATIC_INLINE bool
nrf_radio_event_check
(NRF_RADIO_Type const *p_reg, nrf_radio_event_t event)¶ Function for retrieving the state of the RADIO event.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event to be checked.
- Returns true
The event has been generated.
- Returns false
The event has not been generated.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_event_address_get
(NRF_RADIO_Type const *p_reg, nrf_radio_event_t event)¶ Function for getting the address of a specific RADIO event register.
This function can be used by the PPI module.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Requested Event.
- Returns
Address of the specified event register.
-
NRF_STATIC_INLINE void
nrf_radio_shorts_enable
(NRF_RADIO_Type *p_reg, uint32_t shorts_mask)¶ Function for enabling specified RADIO shortcuts.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
shorts_mask – [in] Mask of shortcuts.
-
NRF_STATIC_INLINE void
nrf_radio_shorts_disable
(NRF_RADIO_Type *p_reg, uint32_t shorts_mask)¶ Function for disabling specified RADIO shortcuts.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
shorts_mask – [in] Mask of shortcuts.
-
NRF_STATIC_INLINE void
nrf_radio_shorts_set
(NRF_RADIO_Type *p_reg, uint32_t shorts_mask)¶ Function for setting the configuration of RADIO shortcuts.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
shorts_mask – [in] Shortcuts configuration to set.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_shorts_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the configuration of RADIO shortcuts.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Mask of currently enabled shortcuts.
-
NRF_STATIC_INLINE void
nrf_radio_int_enable
(NRF_RADIO_Type *p_reg, uint32_t mask)¶ Function for enabling specified RADIO interrupts.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of interrupts to be enabled.
-
NRF_STATIC_INLINE void
nrf_radio_int_disable
(NRF_RADIO_Type *p_reg, uint32_t mask)¶ Function for disabling specified RADIO interrupts.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of interrupts to be disabled.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_int_enable_check
(NRF_RADIO_Type const *p_reg, uint32_t mask)¶ Function for checking if the specified interrupts are enabled.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of interrupts to be checked.
- Returns
Mask of enabled interrupts.
-
NRF_STATIC_INLINE void
nrf_radio_subscribe_set
(NRF_RADIO_Type *p_reg, nrf_radio_task_t task, uint8_t channel)¶ Function for setting the subscribe configuration for a given RADIO task.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task for which to set the configuration.
channel – [in] Channel through which to subscribe events.
-
NRF_STATIC_INLINE void
nrf_radio_subscribe_clear
(NRF_RADIO_Type *p_reg, nrf_radio_task_t task)¶ Function for clearing the subscribe configuration for a given RADIO task.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task for which to clear the configuration.
-
NRF_STATIC_INLINE void
nrf_radio_publish_set
(NRF_RADIO_Type *p_reg, nrf_radio_event_t event, uint8_t channel)¶ Function for setting the publish configuration for a given RADIO event.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event for which to set the configuration.
channel – [in] Channel through which to publish the event.
-
NRF_STATIC_INLINE void
nrf_radio_publish_clear
(NRF_RADIO_Type *p_reg, nrf_radio_event_t event)¶ Function for clearing the publish configuration for a given RADIO event.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event for which to clear the configuration.
-
NRF_STATIC_INLINE bool
nrf_radio_crc_status_check
(NRF_RADIO_Type const *p_reg)¶ Function for getting CRC status of last received packet.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns true
The packet was received without CRC error.
- Returns false
The packet was received with CRC error.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_rxmatch_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the received address.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Received address.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_rxcrc_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting CRC field of the last received packet.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
CRC field of previously received packet.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_dai_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the device address match index.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Device adress match index.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_pdustat_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting status on payload length.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns 0
The payload is lesser than PCNF1.MAXLEN.
- Returns 1
The payload is greater than PCNF1.MAXLEN.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_cistat_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting status on what rate packet is received with in Long Range.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns 0
The frame is received at 125kbps.
- Returns 1
The frame is received at 500kbps.
-
NRF_STATIC_INLINE void
nrf_radio_packetptr_set
(NRF_RADIO_Type *p_reg, void const *p_packet)¶ Function for setting packet pointer to given location in memory.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_packet – [in] Packet pointer.
-
NRF_STATIC_INLINE void *
nrf_radio_packetptr_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting packet pointer.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Pointer to tx or rx packet buffer.
-
NRF_STATIC_INLINE void
nrf_radio_frequency_set
(NRF_RADIO_Type *p_reg, uint16_t radio_frequency)¶ Function for setting the radio frequency.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
radio_frequency – [in] Frequency in MHz.
-
NRF_STATIC_INLINE uint16_t
nrf_radio_frequency_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the radio frequency.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Frequency in MHz.
-
NRF_STATIC_INLINE void
nrf_radio_txpower_set
(NRF_RADIO_Type *p_reg, nrf_radio_txpower_t tx_power)¶ Function for setting the radio transmit power.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
tx_power – [in] Transmit power of the radio [dBm].
-
NRF_STATIC_INLINE nrf_radio_txpower_t
nrf_radio_txpower_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the radio transmit power.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Transmit power of the radio.
-
NRF_STATIC_INLINE void
nrf_radio_mode_set
(NRF_RADIO_Type *p_reg, nrf_radio_mode_t radio_mode)¶ Function for setting the radio data rate and modulation settings.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
radio_mode – [in] Radio data rate and modulation.
-
NRF_STATIC_INLINE nrf_radio_mode_t
nrf_radio_mode_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting Radio data rate and modulation settings.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Radio data rate and modulation.
-
NRF_STATIC_INLINE void
nrf_radio_packet_configure
(NRF_RADIO_Type *p_reg, nrf_radio_packet_conf_t const *p_config)¶ Function for setting the packet configuration.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_config – [in] Pointer to the structure with packet configuration.
-
NRF_STATIC_INLINE void
nrf_radio_base0_set
(NRF_RADIO_Type *p_reg, uint32_t address)¶ Function for setting the base address 0.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
address – [in] Base address 0 value.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_base0_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the base address 0.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Base address 0.
-
NRF_STATIC_INLINE void
nrf_radio_base1_set
(NRF_RADIO_Type *p_reg, uint32_t address)¶ Function for setting Base address 1.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
address – [in] Base address 1 value.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_base1_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting base address 1.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Base address 1.
-
NRF_STATIC_INLINE void
nrf_radio_prefix0_set
(NRF_RADIO_Type *p_reg, uint32_t prefixes)¶ Function for setting prefixes bytes for logical addresses 0-3.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
prefixes – [in] Prefixes bytes for logical addresses 0-3.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_prefix0_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting prefixes bytes for logical addresses 0-3.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Prefixes bytes for logical addresses 0-3
-
NRF_STATIC_INLINE void
nrf_radio_prefix1_set
(NRF_RADIO_Type *p_reg, uint32_t prefixes)¶ Function for setting prefixes bytes for logical addresses 4-7.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
prefixes – [in] Prefixes bytes for logical addresses 4-7.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_prefix1_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting prefixes bytes for logical addresses 4-7.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Prefixes bytes for logical addresses 4-7
-
NRF_STATIC_INLINE void
nrf_radio_txaddress_set
(NRF_RADIO_Type *p_reg, uint8_t txaddress)¶ Function for setting the transmit address.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
txaddress – [in] Logical address to be used when transmitting a packet.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_txaddress_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the transmit address select.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Logical address to be used when transmitting a packet.
-
NRF_STATIC_INLINE void
nrf_radio_rxaddresses_set
(NRF_RADIO_Type *p_reg, uint8_t rxaddresses)¶ Function for for selecting the receive addresses.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
rxaddresses – [in] Enable or disable reception on logical address i. Read more in the Product Specification.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_rxaddresses_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting receive address select.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Receive address select.
-
NRF_STATIC_INLINE void
nrf_radio_crc_configure
(NRF_RADIO_Type *p_reg, uint8_t crc_length, nrf_radio_crc_addr_t crc_address, uint32_t crc_polynominal)¶ Function for configure CRC.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
crc_length – [in] CRC length in number of bytes [0-3].
crc_address – [in] Include or exclude packet address field out of CRC.
crc_polynominal – [in] CRC polynominal to set.
-
NRF_STATIC_INLINE void
nrf_radio_crcinit_set
(NRF_RADIO_Type *p_reg, uint32_t crc_init_value)¶ Function for setting CRC initial value.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
crc_init_value – [in] CRC initial value
-
NRF_STATIC_INLINE uint32_t
nrf_radio_crcinit_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting CRC initial value.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
CRC initial value.
-
NRF_STATIC_INLINE void
nrf_radio_ifs_set
(NRF_RADIO_Type *p_reg, uint32_t radio_ifs)¶ Function for setting Inter Frame Spacing interval.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
radio_ifs – [in] Inter frame spacing interval [us].
-
NRF_STATIC_INLINE uint32_t
nrf_radio_ifs_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting Inter Frame Spacing interval.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Inter frame spacing interval [us].
-
NRF_STATIC_INLINE uint8_t
nrf_radio_rssi_sample_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting RSSI sample result.
Note
The read value is a positive value while the actual received signal is a negative value. Actual received signal strength is therefore as follows: received signal strength = - read_value dBm .
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
RSSI sample result.
-
NRF_STATIC_INLINE nrf_radio_state_t
nrf_radio_state_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the current state of the radio module.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Current radio state.
-
NRF_STATIC_INLINE void
nrf_radio_datawhiteiv_set
(NRF_RADIO_Type *p_reg, uint8_t datawhiteiv)¶ Function for setting the data whitening initial value.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
datawhiteiv – [in] Data whitening initial value.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_datawhiteiv_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the data whitening initial value.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Data whitening initial value.
-
NRF_STATIC_INLINE void
nrf_radio_bcc_set
(NRF_RADIO_Type *p_reg, uint32_t radio_bcc)¶ Function for setting Bit counter compare.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
radio_bcc – [in] Bit counter compare [bits].
-
NRF_STATIC_INLINE uint32_t
nrf_radio_bcc_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting Bit counter compare.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Bit counter compare.
-
NRF_STATIC_INLINE void
nrf_radio_dab_set
(NRF_RADIO_Type *p_reg, uint32_t dab_value, uint8_t segment)¶ Function for setting Device address base segment.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
dab_value – [in] Particular base segment value.
segment – [in] Index of the particular Device address base segment register.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_dab_get
(NRF_RADIO_Type const *p_reg, uint8_t segment)¶ Function for getting Device address base segment.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
segment – [in] Number of the Device address base segment.
- Returns
Particular segment of the Device address base.
-
NRF_STATIC_INLINE void
nrf_radio_dap_set
(NRF_RADIO_Type *p_reg, uint16_t dap_value, uint8_t prefix_index)¶ Function for setting device address prefix.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
dap_value – [in] Particular device address prefix value.
prefix_index – [in] Index of the particular device address prefix register.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_dap_get
(NRF_RADIO_Type const *p_reg, uint8_t prefix_index)¶ Function for getting Device address prefix.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
prefix_index – [in] Number of the Device address prefix segment.
- Returns
Particular segment of the Device address prefix.
-
NRF_STATIC_INLINE void
nrf_radio_dacnf_set
(NRF_RADIO_Type *p_reg, uint8_t ena, uint8_t txadd)¶ Function for setting device address match configuration.
Note
Read more about configuring device address match in the Product Specification.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
ena – [in] Device address matching bitmask.
txadd – [in] TxAdd bitmask.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_dacnf_ena_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting ENA field of the Device address match configuration register.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
ENA field of the Device address match configuration register.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_dacnf_txadd_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting TXADD field of the Device address match configuration register.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
TXADD field of the Device address match configuration register.
-
NRF_STATIC_INLINE void
nrf_radio_mhmu_search_pattern_set
(NRF_RADIO_Type *p_reg, uint32_t radio_mhmu_search_pattern)¶ Function for setting MAC Header Match Unit search pattern configuration.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
radio_mhmu_search_pattern – [in] Search Pattern Configuration.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_mhmu_search_pattern_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting MAC Header Match Unit search pattern configuration.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Search Pattern Configuration.
-
NRF_STATIC_INLINE void
nrf_radio_mhmu_pattern_mask_set
(NRF_RADIO_Type *p_reg, uint32_t radio_mhmu_pattern_mask)¶ Function for setting MAC Header Match Unit pattern mask configuration.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
radio_mhmu_pattern_mask – [in] Pattern mask.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_mhmu_pattern_mask_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting MAC Header Match Unit pattern mask configuration.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Pattern mask.
-
NRF_STATIC_INLINE void
nrf_radio_modecnf0_set
(NRF_RADIO_Type *p_reg, bool fast_ramp_up, uint8_t default_tx)¶ Function for setting Radio mode configuration register 0.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
fast_ramp_up – [in] Use fast radio ramp-up time
default_tx – [in] Default TX value during inactivity.
-
NRF_STATIC_INLINE bool
nrf_radio_modecnf0_ru_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting ramp-up time configuration of the Radio mode configuration register 0.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns true
If the ramp-up time is set to fast.
- Returns false
If the ramp-up time is set to default.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_modecnf0_dtx_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting default TX value of the Radio mode configuration register 0.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Default TX value.
-
NRF_STATIC_INLINE void
nrf_radio_sfd_set
(NRF_RADIO_Type *p_reg, uint8_t sfd)¶ Function for setting IEEE 802.15.4 start of frame delimiter.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
sfd – [in] IEEE 802.15.4 start of frame delimiter.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_sfd_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting IEEE 802.15.4 start of frame delimiter.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
IEEE 802.15.4 start of frame delimiter.
-
NRF_STATIC_INLINE void
nrf_radio_ed_loop_count_set
(NRF_RADIO_Type *p_reg, uint32_t ed_loop_count)¶ Function for setting number of iterations to perform ED scan.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
ed_loop_count – [in] Number of iterations during ED procedure.
-
NRF_STATIC_INLINE uint8_t
nrf_radio_ed_sample_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting Energy Detection level.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
IEEE 802.15.4 energy detect level.
-
NRF_STATIC_INLINE void
nrf_radio_cca_configure
(NRF_RADIO_Type *p_reg, nrf_radio_cca_mode_t cca_mode, uint8_t cca_ed_threshold, uint8_t cca_corr_threshold, uint8_t cca_corr_cnt)¶ Function for configuring the IEEE 802.15.4 clear channel assessment.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
cca_mode – [in] Mode of CCA.
cca_ed_threshold – [in] Energy Detection threshold value.
cca_corr_threshold – [in] Correlator Busy Threshold.
cca_corr_cnt – [in] Limit of occurances above Correlator Threshold. When not equal to zero the correlator based signal detect is enabled.
-
NRF_STATIC_INLINE void
nrf_radio_power_set
(NRF_RADIO_Type *p_reg, bool radio_power)¶ Function for setting power mode of the radio peripheral.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
radio_power – [in] If radio should be powered on.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_cte_time_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the CTE time parsed from received packet.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
CTE time.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_cte_type_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the CTE type parsed from received packet.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
CTE type.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_cte_rfu_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the CTE RFU parsed from received packet.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
CTE RFU.
-
NRF_STATIC_INLINE nrf_radio_dfe_switch_state_t
nrf_radio_dfe_switch_state_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the current state of DFE switching state machine.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
State of switching state machine.
-
NRF_STATIC_INLINE nrf_radio_dfe_sample_state_t
nrf_radio_dfe_sample_state_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the current state of DFE sampling state machine.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
State of sampling state machine.
-
NRF_STATIC_INLINE void
nrf_radio_cteinline_configure
(NRF_RADIO_Type *p_reg, nrf_radio_cteinline_conf_t const *p_config)¶ Function for setting the configuration of CTE inline mode.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_config – [in] Pointer to the structure with CTE inline mode configuration.
-
NRF_STATIC_INLINE void
nrf_radio_dfectrl_configure
(NRF_RADIO_Type *p_reg, nrf_radio_dfectrl_conf_t const *p_config)¶ Function for setting the direction finding configuration.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_config – [in] Pointer to the structure with direction finding configuration.
-
NRF_STATIC_INLINE void
nrf_radio_dfe_pattern_pin_set
(NRF_RADIO_Type *p_reg, uint32_t pin, uint8_t pos)¶ Function for configuring the specified GPIO pin for antenna control.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
pin – [in] Pin number.
pos – [in] Position of the pin in the switching pattern configured with nrf_radio_dfe_pattern_add() or nrf_radio_dfe_patterns_add().
-
NRF_STATIC_INLINE void
nrf_radio_dfe_pattern_add
(NRF_RADIO_Type *p_reg, uint8_t pin_mask)¶ Function for adding single pattern to the array of GPIO patterns for antenna control.
The GPIO pattern array size is 40 entries. This function configures single pattern consisting of 8 pins. To set subsequent pattern, call this function again. To get total number of currently configured patterns use nrf_radio_dfe_pattern_cnt_get(). To clear the array of GPIO patterns use nrf_radio_dfe_pattern_clear().
Warning
A minimum number of 3 patterns must be written.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
pin_mask – [in] Bitmask specifying pins to be used in this switching pattern. Each bit corresponds to the index of the pin configured with nrf_radio_dfe_pattern_pin_set().
-
NRF_STATIC_INLINE void
nrf_radio_dfe_patterns_add
(NRF_RADIO_Type *p_reg, uint8_t const *p_pin_masks, size_t length)¶ Function for adding multiple patterns to the array of GPIO patterns for antenna control.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_pin_masks – [in] Pointer to the array of bitmasks specifying pins to be used in subsequent switching patterns.
length – [in] Bitmask array length.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_dfe_pattern_cnt_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting number of currently configured GPIO patterns for antenna control.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns
Number of patterns.
-
NRF_STATIC_INLINE void
nrf_radio_dfe_pattern_clear
(NRF_RADIO_Type *p_reg)¶ Function for clearing all of the currently configured GPIO patterns for antenna control.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
-
NRF_STATIC_INLINE void
nrf_radio_dfe_buffer_set
(NRF_RADIO_Type *p_reg, uint32_t *p_buffer, size_t length)¶ Function for setting the buffer for storing IQ samples or magnitude and phase pairs of the samples.
Note
Each sample or pair is stored on a 32-bit word.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_buffer – [in] Pointer to the buffer for storing IQ samples or magnitude and phase of the samples.
length – [in] Maximum number of samples to receive.
-
NRF_STATIC_INLINE uint32_t
nrf_radio_dfe_amount_get
(NRF_RADIO_Type const *p_reg)¶ Function for getting the number of stored IQ samples or magnitude and phase pairs of the samples during last transaction.
- Parameters
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns Amount
of samples.
-
struct
nrf_radio_packet_conf_t
¶ - #include <nrf_radio.h>
Packet configuration.
Public Members
-
uint8_t
lflen
¶ Length on air of LENGTH field in number of bits.
-
uint8_t
s0len
¶ Length on air of S0 field in number of bytes.
-
uint8_t
s1len
¶ Length on air of S1 field in number of bits.
-
bool
s1incl
¶ Include or exclude S1 field in RAM.
-
uint8_t
cilen
¶ Length of code indicator - long range.
-
nrf_radio_preamble_length_t
plen
¶ Length of preamble on air. Decision point: TASKS_START task.
-
bool
crcinc
¶ Indicates if LENGTH field contains CRC or not.
-
uint8_t
termlen
¶ Length of TERM field in Long Range operation.
-
uint8_t
maxlen
¶ Maximum length of packet payload.
-
uint8_t
statlen
¶ Static length in number of bytes.
-
uint8_t
balen
¶ Base address length in number of bytes.
-
bool
big_endian
¶ On air endianness of packet.
-
bool
whiteen
¶ Enable or disable packet whitening.
-
uint8_t
-
struct
nrf_radio_cteinline_conf_t
¶ - #include <nrf_radio.h>
Configuration for CTE inline mode.
Public Members
-
bool
enable
¶ Enable or disable parsing of CTEInfo from received packet.
-
bool
info_in_s1
¶ Indicates whether CTEInfo is in S1 byte or not.
-
bool
err_handling
¶ Enable or disable switching and sampling when CRC is not OK.
-
nrf_radio_cteinline_time_range_t
time_range
¶ Maximum range of CTE time.
-
nrf_radio_cteinline_rx_mode_t
rx1us
¶ Spacing between samples during switching period for AoD 1 us.
-
nrf_radio_cteinline_rx_mode_t
rx2us
¶ Spacing between samples during switching period for AoD 2 us or AoA 4 us.
-
uint8_t
s0_pattern
¶ S0 bit pattern to match.
-
uint8_t
s0_mask
¶ S0 bit mask to set which bit to match.
-
bool
-
struct
nrf_radio_dfectrl_conf_t
¶ - #include <nrf_radio.h>
Direction finding configuration.
Public Members
-
uint8_t
dfe_len
¶ Length of the AoA/AoD procedure in number of 8 µs units.
-
nrf_radio_dfectrl_extension_t
extension
¶ State in which CTE extension is added and antenna switching/sampling is done.
-
nrf_radio_dfectrl_switch_spacing_t
switch_spacing
¶ Interval between antenna changes in the switching state.
-
nrf_radio_dfectrl_sample_spacing_t
spacing_ref
¶ Interval between samples in the reference period.
-
nrf_radio_dfectrl_sample_type_t
sample_type
¶ Indicates whether to sample I/Q or magnitude/phase.
-
nrf_radio_dfectrl_sample_spacing_t
sample_spacing
¶ Interval between samples in the switching period.
-
uint8_t
gain_steps
¶ Number of gain steps lowering the total gain at the start of CTE .
-
int16_t
switch_offset
¶ Signed value offset after the end of the CRC before starting switching expressed in 16 Mhz cycles.
-
int16_t
sample_offset
¶ Signed value offset before starting sampling expressed in 16 Mhz cycles relative to the beginning of the reference state.
-
uint8_t
-
enum