nrfxlib API 0.1.0
Loading...
Searching...
No Matches
nrf_802154.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2017, Nordic Semiconductor ASA
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 *
10 * 1. Redistributions of source code must retain the above copyright notice, this
11 * list of conditions and the following disclaimer.
12 *
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 *
17 * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
18 * contributors may be used to endorse or promote products derived from this
19 * software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 *
33 */
34
41#ifndef NRF_802154_H_
42#define NRF_802154_H_
43
44#include <stdbool.h>
45#include <stdint.h>
46
47#include "nrf_802154_callouts.h"
48#include "nrf_802154_config.h"
49#include "nrf_802154_types.h"
51
52#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
54#include "nrf_802154_sl_ant_div.h"
55#endif // !NRF_802154_SERIALIZATION_HOST
56
57#ifdef __cplusplus
58extern "C" {
59#endif
60
64#define NRF_802154_NO_TIMESTAMP 0
65
69#define NRF_802154_RESERVED_INVALID_ID UINT32_MAX
70
74#define NRF_802154_RESERVED_IMM_RX_WINDOW_ID (UINT32_MAX - 1)
75
82#define NRF_802154_RESERVED_DRX_ID_UPPER_BOUND (UINT32_MAX - 4)
83
92#define NRF_802154_MAX_PENDING_NOTIFICATIONS \
93 (NRF_802154_RX_BUFFERS + NRF_802154_MAX_DISREGARDABLE_NOTIFICATIONS + 4 + 1)
94
104
105#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
112#endif // !NRF_802154_SERIALIZATION_HOST
113
119void nrf_802154_channel_set(uint8_t channel);
120
127
136void nrf_802154_tx_power_set(int8_t power);
137
144
145#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
146
157bool nrf_802154_antenna_diversity_rx_mode_set(nrf_802154_sl_ant_div_mode_t mode);
158
164nrf_802154_sl_ant_div_mode_t nrf_802154_antenna_diversity_rx_mode_get(void);
165
177bool nrf_802154_antenna_diversity_tx_mode_set(nrf_802154_sl_ant_div_mode_t mode);
178
184nrf_802154_sl_ant_div_mode_t nrf_802154_antenna_diversity_tx_mode_get(void);
185
198bool nrf_802154_antenna_diversity_rx_antenna_set(nrf_802154_sl_ant_div_antenna_t antenna);
199
209nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_rx_antenna_get(void);
210
223bool nrf_802154_antenna_diversity_tx_antenna_set(nrf_802154_sl_ant_div_antenna_t antenna);
224
234nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_tx_antenna_get(void);
235
247nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_last_rx_best_antenna_get(void);
248
259void nrf_802154_antenna_diversity_config_set(const nrf_802154_sl_ant_div_cfg_t * p_cfg);
260
269bool nrf_802154_antenna_diversity_config_get(nrf_802154_sl_ant_div_cfg_t * p_cfg);
270
298
306
307#endif // !NRF_802154_SERIALIZATION_HOST
308
317uint64_t nrf_802154_time_get(void);
318
331void nrf_802154_pan_id_set(const uint8_t * p_pan_id);
332
340void nrf_802154_extended_address_set(const uint8_t * p_extended_address);
341
349void nrf_802154_short_address_set(const uint8_t * p_short_address);
350
351#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
362#endif // !NRF_802154_SERIALIZATION_HOST
363
378
393
405
435bool nrf_802154_receive_at(uint64_t rx_time,
436 uint32_t timeout,
437 uint8_t channel,
438 uint32_t id);
439
455
456#if NRF_802154_USE_RAW_API || defined(DOXYGEN)
457
502bool nrf_802154_transmit_raw(uint8_t * p_data,
503 const nrf_802154_transmit_metadata_t * p_metadata);
504
505#endif // NRF_802154_USE_RAW_API
506
507#if !NRF_802154_USE_RAW_API || defined(DOXYGEN)
508#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
509
555bool nrf_802154_transmit(const uint8_t * p_data,
556 uint8_t length,
557 const nrf_802154_transmit_metadata_t * p_metadata);
558
559#endif // !NRF_802154_SERIALIZATION_HOST
560#endif // !NRF_802154_USE_RAW_API
561
633bool nrf_802154_transmit_raw_at(uint8_t * p_data,
634 uint64_t tx_time,
635 const nrf_802154_transmit_at_metadata_t * p_metadata);
636
651
671bool nrf_802154_energy_detection(uint32_t time_us);
672
684bool nrf_802154_cca(void);
685
686#if NRF_802154_CARRIER_FUNCTIONS_ENABLED
687
699
712bool nrf_802154_modulated_carrier(const uint8_t * p_data);
713
714#endif // NRF_802154_CARRIER_FUNCTIONS_ENABLED
715
722#if NRF_802154_USE_RAW_API || defined(DOXYGEN)
723
735void nrf_802154_buffer_free_raw(uint8_t * p_data);
736
737#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
754#endif // !NRF_802154_SERIALIZATION_HOST
755
756#endif // NRF_802154_USE_RAW_API
757
758#if !NRF_802154_USE_RAW_API || defined(DOXYGEN)
759#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
760
772void nrf_802154_buffer_free(uint8_t * p_data);
773
790
791#endif // !NRF_802154_SERIALIZATION_HOST
792#endif // !NRF_802154_USE_RAW_API
793
800#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
814
821
822#endif // !NRF_802154_SERIALIZATION_HOST
823
843void nrf_802154_promiscuous_set(bool enabled);
844
845#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
853
876void nrf_802154_auto_ack_set(bool enabled);
877
885
886#endif // !NRF_802154_SERIALIZATION_HOST
887
895void nrf_802154_pan_coord_set(bool enabled);
896
897#if NRF_802154_PAN_COORD_GET_ENABLED || defined(DOXYGEN)
905
906#endif // NRF_802154_PAN_COORD_GET_ENABLED
907
920
977bool nrf_802154_ack_data_set(const uint8_t * p_addr,
978 bool extended,
979 const void * p_data,
980 uint16_t length,
981 nrf_802154_ack_data_t data_type);
982
1004bool nrf_802154_ack_data_clear(const uint8_t * p_addr,
1005 bool extended,
1006 nrf_802154_ack_data_t data_type);
1007
1016
1037
1058bool nrf_802154_pending_bit_for_addr_set(const uint8_t * p_addr, bool extended);
1059
1078bool nrf_802154_pending_bit_for_addr_clear(const uint8_t * p_addr, bool extended);
1079
1096
1110
1117
1123#if NRF_802154_CSMA_CA_ENABLED || defined(DOXYGEN)
1124#if NRF_802154_USE_RAW_API || defined(DOXYGEN)
1125
1153 const nrf_802154_transmit_csma_ca_metadata_t * p_metadata);
1154
1155#else // NRF_802154_USE_RAW_API
1156
1157#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1185bool nrf_802154_transmit_csma_ca(const uint8_t * p_data,
1186 uint8_t length,
1187 const nrf_802154_transmit_csma_ca_metadata_t * p_metadata);
1188#endif // !NRF_802154_SERIALIZATION_HOST
1189
1190#endif // NRF_802154_USE_RAW_API
1191
1203
1212
1224
1233
1242void nrf_802154_csma_ca_max_backoffs_set(uint8_t max_backoffs);
1243
1253
1254#endif // NRF_802154_CSMA_CA_ENABLED
1255
1256#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1262#if NRF_802154_ACK_TIMEOUT_ENABLED || defined(DOXYGEN)
1263
1274void nrf_802154_ack_timeout_set(uint32_t time);
1275
1276#endif // !NRF_802154_SERIALIZATION_HOST
1277
1278#endif // NRF_802154_ACK_TIMEOUT_ENABLED
1279
1287#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1295
1305
1312
1322
1329
1330#endif // !NRF_802154_SERIALIZATION_HOST
1331
1338#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1345
1354
1365
1366#endif // !NRF_802154_SERIALIZATION_HOST
1367
1374
1375#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1384
1385#endif // !NRF_802154_SERIALIZATION_HOST
1386
1392#if NRF_802154_IFS_ENABLED || defined(DOXYGEN)
1393
1402
1414
1423
1432
1441
1450
1451#endif // NRF_802154_IFS_ENABLED
1452
1465
1482
1489
1507
1519
1526
1539
1560void nrf_802154_csl_writer_anchor_time_set(uint64_t anchor_time);
1561
1595void nrf_802154_rx_on_when_idle_set(bool rx_on_when_idle);
1596
1603
1613void nrf_802154_cst_writer_anchor_time_set(uint64_t anchor_time);
1614
1621#if NRF_802154_TEST_MODES_ENABLED
1627nrf_802154_test_mode_csmaca_backoff_t nrf_802154_test_mode_csmaca_backoff_get(void);
1628
1635void nrf_802154_test_mode_csmaca_backoff_set(nrf_802154_test_mode_csmaca_backoff_t value);
1636
1637#endif // NRF_802154_TEST_MODES_ENABLED
1638
1641#ifdef __cplusplus
1642}
1643#endif
1644
1645#endif /* NRF_802154_H_ */
1646
void nrf_802154_pan_id_set(const uint8_t *p_pan_id)
Sets the PAN ID used by the device.
void nrf_802154_short_address_set(const uint8_t *p_short_address)
Sets the short address of the device.
void nrf_802154_extended_address_set(const uint8_t *p_extended_address)
Sets the extended address of the device.
bool nrf_802154_pending_bit_for_addr_clear(const uint8_t *p_addr, bool extended)
Removes address of a peer node from the pending bit list.
void nrf_802154_pan_coord_set(bool enabled)
Configures the device as the PAN coordinator.
void nrf_802154_pending_bit_for_addr_reset(bool extended)
Removes all addresses of a given type from the pending bit list.
void nrf_802154_ack_data_remove_all(bool extended, nrf_802154_ack_data_t data_type)
Removes all addresses of a given length from the ACK data list.
void nrf_802154_auto_pending_bit_set(bool enabled)
Enables or disables setting a pending bit in automatically transmitted ACK frames.
void nrf_802154_src_addr_matching_method_set(nrf_802154_src_addr_match_t match_method)
Select the source matching algorithm.
bool nrf_802154_auto_ack_get(void)
Checks if the auto ACK is enabled.
bool nrf_802154_pan_coord_get(void)
Checks if the radio is configured as the PAN coordinator.
bool nrf_802154_pending_bit_for_addr_set(const uint8_t *p_addr, bool extended)
Adds the address of a peer node to the pending bit list.
bool nrf_802154_ack_data_set(const uint8_t *p_addr, bool extended, const void *p_data, uint16_t length, nrf_802154_ack_data_t data_type)
Adds the address of a peer node for which the provided ACK data is to be injected into generated ACKs...
void nrf_802154_auto_ack_set(bool enabled)
Enables or disables the automatic acknowledgments (auto ACK).
bool nrf_802154_ack_data_clear(const uint8_t *p_addr, bool extended, nrf_802154_ack_data_t data_type)
Removes the address of a peer node for which the ACK data is set from the pending bit list.
nrf_802154_capabilities_t nrf_802154_capabilities_get(void)
Gets nRF 802.15.4 Radio Driver Capabilities.
void nrf_802154_cca_cfg_set(const nrf_802154_cca_cfg_t *p_cca_cfg)
Configures the radio CCA mode and threshold.
void nrf_802154_cca_cfg_get(nrf_802154_cca_cfg_t *p_cca_cfg)
Gets the current radio CCA configuration.
bool nrf_802154_wifi_coex_is_enabled(void)
Checks if wifi coex signaling is enabled.
nrf_802154_coex_tx_request_mode_t nrf_802154_coex_tx_request_mode_get(void)
Gets Coex request mode used in transmit operations.
nrf_802154_coex_rx_request_mode_t nrf_802154_coex_rx_request_mode_get(void)
Gets Coex request mode used in receive operations.
bool nrf_802154_coex_rx_request_mode_set(nrf_802154_coex_rx_request_mode_t mode)
Sets Coex request mode used in receive operations.
bool nrf_802154_coex_tx_request_mode_set(nrf_802154_coex_tx_request_mode_t mode)
Sets Coex request mode used in transmit operations.
uint8_t nrf_802154_csma_ca_max_backoffs_get(void)
Gets the maximum number of backoffs the CSMA-CA algorithm will attempt before declaring a channel acc...
bool nrf_802154_csma_ca_max_be_set(uint8_t max_be)
Sets the maximum value of the backoff exponent (BE) in the CSMA-CA algorithm.
bool nrf_802154_csma_ca_min_be_set(uint8_t min_be)
Sets the minimum value of the backoff exponent (BE) in the CSMA-CA algorithm.
bool nrf_802154_transmit_csma_ca_raw(uint8_t *p_data, const nrf_802154_transmit_csma_ca_metadata_t *p_metadata)
Performs the CSMA-CA procedure and transmits a frame in case of success.
void nrf_802154_csma_ca_max_backoffs_set(uint8_t max_backoffs)
Sets the maximum number of backoffs the CSMA-CA algorithm will attempt before declaring a channel acc...
uint8_t nrf_802154_csma_ca_min_be_get(void)
Gets the minimum value of the backoff exponent (BE) in the CSMA-CA algorithm.
uint8_t nrf_802154_csma_ca_max_be_get(void)
Gets the maximum value of the backoff exponent (BE) in the CSMA-CA algorithm.
void nrf_802154_cst_writer_anchor_time_set(uint64_t anchor_time)
Sets the anchor time based on which the next CST window time and the CST phase is calculated.
void nrf_802154_csl_writer_period_set(uint16_t period)
Sets the value of CSL period to inject into the CSL information element.
void nrf_802154_cst_writer_period_set(uint16_t period)
Sets the value of CST period to inject into the CST information element.
void nrf_802154_rx_on_when_idle_set(bool rx_on_when_idle)
Sets the RxOnWhenIdle mode value.
void nrf_802154_csl_writer_anchor_time_set(uint64_t anchor_time)
Sets the anchor time based on which the next CSL window time and the CSL phase is calculated.
nrf_802154_ifs_mode_t nrf_802154_ifs_mode_get(void)
Gets IFS operation mode.
bool nrf_802154_ifs_mode_set(nrf_802154_ifs_mode_t mode)
Sets IFS operation mode.
void nrf_802154_ifs_min_lifs_period_set(uint16_t period)
Sets Long IFS period in microseconds.
uint16_t nrf_802154_ifs_min_lifs_period_get(void)
Gets Long IFS period in microseconds.
uint16_t nrf_802154_ifs_min_sifs_period_get(void)
Gets Short IFS period in microseconds.
void nrf_802154_ifs_min_sifs_period_set(uint16_t period)
Sets Short IFS period in microseconds.
bool nrf_802154_buffer_free_immediately_raw(uint8_t *p_data)
Notifies the driver that the buffer containing the received frame is not used anymore.
void nrf_802154_buffer_free(uint8_t *p_data)
Notifies the driver that the buffer containing the received frame is not used anymore.
void nrf_802154_buffer_free_raw(uint8_t *p_data)
Notifies the driver that the buffer containing the received frame is not used anymore.
bool nrf_802154_buffer_free_immediately(uint8_t *p_data)
Notifies the driver that the buffer containing the received frame is not used anymore.
void nrf_802154_promiscuous_set(bool enabled)
Enables or disables the promiscuous radio mode.
bool nrf_802154_promiscuous_get(void)
Checks if the radio is in the promiscuous mode.
int8_t nrf_802154_rssi_last_get(void)
Gets the result of the last RSSI measurement.
bool nrf_802154_rssi_measure_begin(void)
Begins the RSSI measurement.
nrf_802154_security_error_t nrf_802154_security_key_store(nrf_802154_key_t *p_key)
Store the 802.15.4 MAC Security Key inside the nRF 802.15.4 Radio Driver.
nrf_802154_security_error_t nrf_802154_security_key_remove(nrf_802154_key_id_t *p_id)
Remove the 802.15.4 MAC Security Key from the nRF 802.15.4 Radio Driver.
void nrf_802154_security_global_frame_counter_set(uint32_t frame_counter)
Sets nRF 802.15.4 Radio Driver Global MAC Frame Counter.
void nrf_802154_security_key_remove_all(void)
Remove all stored 802.15.4 MAC Security Keys from the nRF 802.15.4 Radio Driver.
void nrf_802154_security_global_frame_counter_set_if_larger(uint32_t frame_counter)
Sets nRF 802.15.4 Radio Driver MAC Global Frame Counter if the value passed is larger than current.
void nrf_802154_stats_get(nrf_802154_stats_t *p_stats)
Gets current statistics.
void nrf_802154_stat_timestamps_get(nrf_802154_stat_timestamps_t *p_stat_timestamps)
Get time stamps of events gathered by the last operation.
void nrf_802154_stat_counters_get(nrf_802154_stat_counters_t *p_stat_counters)
Get current statistics.
void nrf_802154_stat_counters_reset(void)
Resets current stat counters to 0.
void nrf_802154_stat_counters_subtract(const nrf_802154_stat_counters_t *p_stat_counters)
Decreases current statistic counter values by the provided ones.
void nrf_802154_ack_timeout_set(uint32_t time)
Sets timeout for the ACK timeout feature.
bool nrf_802154_energy_detection(uint32_t time_us)
Changes the radio state to energy detection.
bool nrf_802154_transmit_at_cancel(void)
Cancels a delayed transmission scheduled by a call to nrf_802154_transmit_raw_at.
bool nrf_802154_transmit_raw_at(uint8_t *p_data, uint64_t tx_time, const nrf_802154_transmit_at_metadata_t *p_metadata)
Requests transmission at the specified time.
bool nrf_802154_continuous_carrier(void)
Changes the radio state to continuous carrier.
bool nrf_802154_cca(void)
Changes the radio state to RADIO_STATE_CCA.
bool nrf_802154_receive(void)
Changes the radio state to RADIO_STATE_RX.
bool nrf_802154_receive_at(uint64_t rx_time, uint32_t timeout, uint8_t channel, uint32_t id)
Requests reception at the specified time.
bool nrf_802154_transmit_raw(uint8_t *p_data, const nrf_802154_transmit_metadata_t *p_metadata)
Changes the radio state to RADIO_STATE_TX.
nrf_802154_sleep_error_t nrf_802154_sleep_if_idle(void)
Changes the radio state to the RADIO_STATE_SLEEP state if the radio is idle.
nrf_802154_state_t nrf_802154_state_get(void)
Gets the current state of the radio.
bool nrf_802154_modulated_carrier(const uint8_t *p_data)
Changes the radio state to modulated carrier.
bool nrf_802154_sleep(void)
Changes the radio state to the RADIO_STATE_SLEEP state.
bool nrf_802154_receive_at_cancel(uint32_t id)
Cancels a delayed reception scheduled by a call to nrf_802154_receive_at.
bool nrf_802154_transmit(const uint8_t *p_data, uint8_t length, const nrf_802154_transmit_metadata_t *p_metadata)
Changes the radio state to transmit.
uint32_t nrf_802154_capabilities_t
Capabilities of nrf 802.15.4 radio driver.
Definition: nrf_802154_types.h:272
uint8_t nrf_802154_coex_tx_request_mode_t
Mode of triggering transmit request to Coex arbiter.
Definition: nrf_802154_types.h:237
uint8_t nrf_802154_state_t
States of the driver.
Definition: nrf_802154_types.h:68
uint8_t nrf_802154_src_addr_match_t
Methods of source address matching.
Definition: nrf_802154_types.h:189
uint8_t nrf_802154_sleep_error_t
Possible errors during sleep procedure call.
Definition: nrf_802154_types.h:130
uint8_t nrf_802154_ack_data_t
Types of data that can be set in an ACK message.
Definition: nrf_802154_types.h:173
uint8_t nrf_802154_security_error_t
Possible errors during key handling.
Definition: nrf_802154_types.h:138
uint8_t nrf_802154_ifs_mode_t
Mode of handling Interframe spacing.
Definition: nrf_802154_types.h:252
uint8_t nrf_802154_test_mode_csmaca_backoff_t
Type holding the CSMA/CA backoff control test mode.
Definition: nrf_802154_types.h:208
uint8_t nrf_802154_coex_rx_request_mode_t
Mode of triggering receive request to Coex arbiter.
Definition: nrf_802154_types.h:222
bool nrf_802154_antenna_diversity_config_get(nrf_802154_sl_ant_div_cfg_t *p_cfg)
Gets the antenna diversity interface configuration.
nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_rx_antenna_get(void)
Gets antenna currently used for rx.
bool nrf_802154_antenna_diversity_init(void)
Initializes antenna diversity module.
void nrf_802154_tx_power_set(int8_t power)
Sets the transmit power.
nrf_802154_sl_ant_div_mode_t nrf_802154_antenna_diversity_tx_mode_get(void)
Gets current antenna diversity tx mode.
uint8_t nrf_802154_channel_get(void)
Gets the channel on which the radio operates.
bool nrf_802154_antenna_diversity_tx_antenna_set(nrf_802154_sl_ant_div_antenna_t antenna)
Manually selects the antenna to be used for tx.
uint64_t nrf_802154_time_get(void)
Gets the current time.
void nrf_802154_antenna_diversity_timer_irq_handler(void)
Handles TIMER IRQ of the antenna diversity interface.
void nrf_802154_init(void)
Initializes the 802.15.4 driver.
bool nrf_802154_antenna_diversity_rx_antenna_set(nrf_802154_sl_ant_div_antenna_t antenna)
Manually selects the antenna to be used for rx.
bool nrf_802154_antenna_diversity_tx_mode_set(nrf_802154_sl_ant_div_mode_t mode)
Sets the antenna diversity tx mode.
nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_last_rx_best_antenna_get(void)
Gets which antenna was selected as best for the last reception.
void nrf_802154_antenna_diversity_config_set(const nrf_802154_sl_ant_div_cfg_t *p_cfg)
Sets antenna diversity configuration.
bool nrf_802154_antenna_diversity_rx_mode_set(nrf_802154_sl_ant_div_mode_t mode)
Sets the antenna diversity rx mode.
nrf_802154_sl_ant_div_mode_t nrf_802154_antenna_diversity_rx_mode_get(void)
Gets current antenna diversity rx mode.
void nrf_802154_channel_set(uint8_t channel)
Sets the channel on which the radio is to operate.
void nrf_802154_deinit(void)
Deinitializes the 802.15.4 driver.
nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_tx_antenna_get(void)
Gets antenna currently used for tx.
int8_t nrf_802154_tx_power_get(void)
Gets the currently set transmit power.
Provides function prototypes required by nRF 802.15.4 Radio Driver.
Provides irq handler prototypes.
Structure for configuring CCA.
Definition: nrf_802154_types.h:163
Type holding the value of Key Id for the keys stored in nRF 802.15.4 Radio Driver.
Definition: nrf_802154_types.h:359
Type of structure holding a 802.15.4 MAC Security Key.
Definition: nrf_802154_types.h:368
Type of structure holding statistic counters.
Definition: nrf_802154_types.h:300
Type of structure holding time stamps of certain events.
Definition: nrf_802154_types.h:323
Type of structure holding statistics about the Radio Driver behavior.
Definition: nrf_802154_types.h:342
Structure with transmit request metadata for scheduling transmission at a specific time.
Definition: nrf_802154_types.h:451
Structure with transmit request metadata for transmission preceded by CSMA-CA procedure.
Definition: nrf_802154_types.h:463
Structure with transmit request metadata for simple transmission request.
Definition: nrf_802154_types.h:440