RADIO HAL
- group nrf_radio_hal
Hardware access layer for managing the RADIO peripheral.
Defines
-
NRF_RADIO_DPPI_OFFSET
Symbol specifying offset between address of TASK/EVENT register and address of associated SUBSCRIBE/PUBLISH register.
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 NRF_RADIO_TASK_TXEN
-
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 NRF_RADIO_EVENT_READY
-
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 NRF_RADIO_INT_READY_MASK
-
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 NRF_RADIO_SHORT_READY_START_MASK
-
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 NRF_RADIO_CCA_MODE_ED
-
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 NRF_RADIO_STATE_DISABLED
-
enum nrf_radio_txpower_t
Types of RADIO TX power.
Values:
-
enumerator NRF_RADIO_TXPOWER_POS10DBM
10 dBm.
-
enumerator NRF_RADIO_TXPOWER_POS9DBM
9 dBm.
-
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_POS1DBM
1 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 NRF_RADIO_TXPOWER_NEG70DBM
-70 dBm.
-
enumerator NRF_RADIO_TXPOWER_POS10DBM
-
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_NRF_4MBIT_H_0_5
4Mbit/s Nordic proprietary radio mode (BT=0.5/h=0.5).
-
enumerator NRF_RADIO_MODE_NRF_4MBIT_H_0_25
4Mbit/s Nordic proprietary radio mode (BT=0.5/h=0.25).
-
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 NRF_RADIO_MODE_NRF_1MBIT
-
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 NRF_RADIO_PREAMBLE_LENGTH_8BIT
-
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 NRF_RADIO_CRC_ADDR_S0
CRC calculation starting at first byte after S0 field.
-
enumerator NRF_RADIO_CRC_ADDR_S1
CRC calculation starting at first byte after S1 field.
-
enumerator NRF_RADIO_CRC_ADDR_INCLUDE
-
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 NRF_RADIO_DFE_OP_MODE_AOD
-
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 NRF_RADIO_DFE_SWITCH_STATE_IDLE
-
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 NRF_RADIO_DFE_SAMPLE_STATE_IDLE
-
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 NRF_RADIO_CTEINLINE_TIME_RANGE_20
-
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 NRF_RADIO_CTEINLINE_RX_MODE_125NS
-
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 NRF_RADIO_DFECTRL_EXTENSION_CRC
-
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 NRF_RADIO_DFECTRL_SWITCH_SPACING_1US
-
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 NRF_RADIO_DFECTRL_SAMPLE_SPACING_125NS
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.
- Return values:
true – The event has been generated.
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. Use nrf_radio_int_mask_t values for bit masking.
-
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. Use nrf_radio_int_mask_t values for bit masking.
-
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. Use nrf_radio_int_mask_t values for bit masking.
- 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.
- Return values:
true – The packet was received without CRC error.
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.
- Return values:
0 – The payload is lesser than PCNF1.MAXLEN.
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.
- Return values:
0 – The frame is received at 125kbps.
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.
- Return values:
true – If the ramp-up time is set to fast.
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_fast_ramp_up_enable_set(NRF_RADIO_Type *p_reg, bool enable)
Function for enabling or disabling fast ramp-up setting.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
enable – [in] True if fast ramp-up is to be enabled, false otherwise.
-
NRF_STATIC_INLINE bool nrf_radio_fast_ramp_up_check(NRF_RADIO_Type const *p_reg)
Function for checking fast ramp-up time configuration.
- 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 compatible with 180nm radio.
-
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 void nrf_radio_ed_cca_period_set(NRF_RADIO_Type *p_reg, uint8_t ed_period)
Function for setting the period of a ED/CCA iteration.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
ed_period – [in] Duration of a single ED/CCA iteration.
-
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.
See also
- 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.
- Return values:
Amount – of samples.
-
NRF_STATIC_INLINE uint32_t nrf_radio_dfe_current_amount_get(NRF_RADIO_Type const *p_reg)
Function for getting the number of bytes transferred in the current transaction.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Number of bytes.
-
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 lflen
-
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 enable
-
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 dfe_len
-
NRF_RADIO_DPPI_OFFSET