nrfxlib API 3.4.99
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
40
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
61/* The __deprecated macro is provided by Zephyr. Define a compatible fallback for unit tests
62 * and other toolchains that do not support it.
63 */
64#ifndef __deprecated
65#define __deprecated
66#endif /* __deprecated */
67
71#define NRF_802154_NO_TIMESTAMP 0
72
76#define NRF_802154_RESERVED_INVALID_ID UINT32_MAX
77
81#define NRF_802154_RESERVED_IMM_RX_WINDOW_ID (UINT32_MAX - 1)
82
89#define NRF_802154_RESERVED_DRX_ID_UPPER_BOUND (UINT32_MAX - 4)
90
99#define NRF_802154_MAX_PENDING_NOTIFICATIONS \
100 (NRF_802154_RX_BUFFERS + NRF_802154_MAX_DISREGARDABLE_NOTIFICATIONS + 4 + 1)
101
111
112#if (!NRF_802154_SERIALIZATION_HOST && NRF_802154_DRV_REINIT_ENABLED) || defined(DOXYGEN)
113
131
132#endif /* !NRF_802154_SERIALIZATION_HOST && NRF_802154_DRV_REINIT_ENABLED */
133
134#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
144__deprecated void nrf_802154_deinit(void);
145#endif // !NRF_802154_SERIALIZATION_HOST
146
152void nrf_802154_channel_set(uint8_t channel);
153
160
169void nrf_802154_tx_power_set(int8_t power);
170
177
178#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
179
190bool nrf_802154_antenna_diversity_rx_mode_set(nrf_802154_sl_ant_div_mode_t mode);
191
197nrf_802154_sl_ant_div_mode_t nrf_802154_antenna_diversity_rx_mode_get(void);
198
210bool nrf_802154_antenna_diversity_tx_mode_set(nrf_802154_sl_ant_div_mode_t mode);
211
217nrf_802154_sl_ant_div_mode_t nrf_802154_antenna_diversity_tx_mode_get(void);
218
231bool nrf_802154_antenna_diversity_rx_antenna_set(nrf_802154_sl_ant_div_antenna_t antenna);
232
242nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_rx_antenna_get(void);
243
256bool nrf_802154_antenna_diversity_tx_antenna_set(nrf_802154_sl_ant_div_antenna_t antenna);
257
267nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_tx_antenna_get(void);
268
280nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_last_rx_best_antenna_get(void);
281
292void nrf_802154_antenna_diversity_config_set(const nrf_802154_sl_ant_div_cfg_t * p_cfg);
293
302bool nrf_802154_antenna_diversity_config_get(nrf_802154_sl_ant_div_cfg_t * p_cfg);
303
331
339
340#endif // !NRF_802154_SERIALIZATION_HOST
341
350uint64_t nrf_802154_time_get(void);
351
356
365void nrf_802154_pan_id_set(const uint8_t * p_pan_id);
366
367#if (!NRF_802154_SERIALIZATION_HOST && NRF_802154_PAN_ID_GET_ENABLED) || defined(DOXYGEN)
368
378bool nrf_802154_pan_id_get(uint8_t * p_pan_id);
379
380#endif /* !NRF_802154_SERIALIZATION_HOST && NRF_802154_PAN_ID_GET_ENABLED */
381
390void nrf_802154_extended_address_set(const uint8_t * p_extended_address);
391
392#if (!NRF_802154_SERIALIZATION_HOST && NRF_802154_EXTENDED_ADDRESS_GET_ENABLED) || defined(DOXYGEN)
393
403bool nrf_802154_extended_address_get(uint8_t * p_extended_address);
404
405#endif /* !NRF_802154_SERIALIZATION_HOST && NRF_802154_EXTENDED_ADDRESS_GET_ENABLED */
406
415void nrf_802154_short_address_set(const uint8_t * p_short_address);
416
417#if (!NRF_802154_SERIALIZATION_HOST && NRF_802154_SHORT_ADDRESS_GET_ENABLED) || defined(DOXYGEN)
418
428bool nrf_802154_short_address_get(uint8_t * p_short_address);
429
430#endif /* !NRF_802154_SERIALIZATION_HOST && NRF_802154_SHORT_ADDRESS_GET_ENABLED */
431
453void nrf_802154_alternate_short_address_set(const uint8_t * p_short_address);
454
455#if (!NRF_802154_SERIALIZATION_HOST && NRF_802154_ALTERNATE_SHORT_ADDRESS_GET_ENABLED) || defined(DOXYGEN)
456
467bool nrf_802154_alternate_short_address_get(uint8_t * p_short_address);
468
469#endif /* !NRF_802154_SERIALIZATION_HOST && NRF_802154_ALTERNATE_SHORT_ADDRESS_GET_ENABLED */
470
476
491
506
518
554bool nrf_802154_receive_at(uint64_t rx_time,
555 uint32_t timeout,
556 uint8_t channel,
557 uint32_t id);
558
574
603
655 const nrf_802154_transmit_metadata_t * p_metadata);
656
737 uint8_t * p_data,
738 uint64_t tx_time,
739 const nrf_802154_transmit_at_metadata_t * p_metadata);
740
755
775bool nrf_802154_energy_detection(uint32_t time_us);
776
788bool nrf_802154_cca(void);
789
790#if NRF_802154_CARRIER_FUNCTIONS_ENABLED
791
803
816bool nrf_802154_modulated_carrier(const uint8_t * p_data);
817
818#endif // NRF_802154_CARRIER_FUNCTIONS_ENABLED
819
825
836void nrf_802154_buffer_free_raw(uint8_t * p_data);
837
843
844#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
858
865
866#endif // !NRF_802154_SERIALIZATION_HOST
867
873
887void nrf_802154_promiscuous_set(bool enabled);
888
889#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
897
903
920void nrf_802154_auto_ack_set(bool enabled);
921
929
930#endif // !NRF_802154_SERIALIZATION_HOST
931
939void nrf_802154_pan_coord_set(bool enabled);
940
941#if NRF_802154_PAN_COORD_GET_ENABLED || defined(DOXYGEN)
949
950#endif // NRF_802154_PAN_COORD_GET_ENABLED
951
964
1021bool nrf_802154_ack_data_set(const uint8_t * p_addr,
1022 bool extended,
1023 const void * p_data,
1024 uint16_t length,
1025 nrf_802154_ack_data_t data_type);
1026
1048bool nrf_802154_ack_data_clear(const uint8_t * p_addr,
1049 bool extended,
1050 nrf_802154_ack_data_t data_type);
1051
1060
1081
1102bool nrf_802154_pending_bit_for_addr_set(const uint8_t * p_addr, bool extended);
1103
1122bool nrf_802154_pending_bit_for_addr_clear(const uint8_t * p_addr, bool extended);
1123
1140
1146
1154
1161
1167#if NRF_802154_CSMA_CA_ENABLED || defined(DOXYGEN)
1168
1199 uint8_t * p_data,
1200 const nrf_802154_transmit_csma_ca_metadata_t * p_metadata);
1201
1213
1222
1234
1243
1252void nrf_802154_csma_ca_max_backoffs_set(uint8_t max_backoffs);
1253
1263
1264#endif // NRF_802154_CSMA_CA_ENABLED
1265
1266#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1272#if NRF_802154_ACK_TIMEOUT_ENABLED || defined(DOXYGEN)
1273
1284void nrf_802154_ack_timeout_set(uint32_t time);
1285
1286#endif // !NRF_802154_SERIALIZATION_HOST
1287
1288#endif // NRF_802154_ACK_TIMEOUT_ENABLED
1289
1295
1296
1297#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1305
1315
1322
1332
1339
1340#endif // !NRF_802154_SERIALIZATION_HOST
1341
1347
1348#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1355
1364
1375
1376#endif // !NRF_802154_SERIALIZATION_HOST
1377
1384
1385#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1394
1395#endif // !NRF_802154_SERIALIZATION_HOST
1396
1402#if NRF_802154_IFS_ENABLED || defined(DOXYGEN)
1403
1412
1424
1433
1442
1451
1460
1461#endif // NRF_802154_IFS_ENABLED
1462
1468
1475
1481
1492
1499
1517
1529
1536
1542
1549
1570void nrf_802154_csl_writer_anchor_time_set(uint64_t anchor_time);
1571
1605void nrf_802154_rx_on_when_idle_set(bool rx_on_when_idle);
1606
1613
1623void nrf_802154_cst_writer_anchor_time_set(uint64_t anchor_time);
1624
1632
1641
1647
1648#if NRF_802154_TEST_MODES_ENABLED
1654nrf_802154_test_mode_csmaca_backoff_t nrf_802154_test_mode_csmaca_backoff_get(void);
1655
1662void nrf_802154_test_mode_csmaca_backoff_set(nrf_802154_test_mode_csmaca_backoff_t value);
1663
1664#endif // NRF_802154_TEST_MODES_ENABLED
1665
1667
1668#ifdef __cplusplus
1669}
1670#endif
1671
1672#endif /* NRF_802154_H_ */
1673
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.
bool nrf_802154_alternate_short_address_get(uint8_t *p_short_address)
Gets the alternate short address of the device.
void nrf_802154_alternate_short_address_set(const uint8_t *p_short_address)
Sets the alternate 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_extended_address_get(uint8_t *p_extended_address)
Gets the extended address of the device.
bool nrf_802154_pan_id_get(uint8_t *p_pan_id)
Gets the PAN ID used by the device.
bool nrf_802154_short_address_get(uint8_t *p_short_address)
Gets the short 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.
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...
nrf_802154_tx_error_t 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.
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_pa_modulation_fix_set(bool enable)
Enables or disables the PA modulation fix.
void nrf_802154_rx_on_when_idle_set(bool rx_on_when_idle)
Sets the RxOnWhenIdle mode value.
bool nrf_802154_pa_modulation_fix_get(void)
Returns if the radio has PA modulation fix enabled.
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.
void nrf_802154_buffer_free_raw(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_receive_at_scheduled_cancel(uint32_t id)
Cancels a delayed reception scheduled by a call to nrf_802154_receive_at.
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.
nrf_802154_tx_error_t 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_receive_at(uint64_t rx_time, uint32_t timeout, uint8_t channel, uint32_t id)
Requests reception at the specified time.
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_tx_error_t nrf_802154_transmit_raw(uint8_t *p_data, const nrf_802154_transmit_metadata_t *p_metadata)
Changes the radio state to RADIO_STATE_TX.
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.
uint32_t nrf_802154_capabilities_t
Capabilities of nrf 802.15.4 radio driver.
Definition nrf_802154_types.h:280
uint8_t nrf_802154_coex_tx_request_mode_t
Mode of triggering transmit request to Coex arbiter.
Definition nrf_802154_types.h:245
uint8_t nrf_802154_src_addr_match_t
Methods of source address matching.
Definition nrf_802154_types.h:197
uint8_t nrf_802154_sleep_error_t
Possible errors during sleep procedure call.
Definition nrf_802154_types.h:138
uint8_t nrf_802154_tx_error_t
Errors reported during the frame transmission.
Definition nrf_802154_types.h:88
uint8_t nrf_802154_ack_data_t
Types of data that can be set in an ACK message.
Definition nrf_802154_types.h:181
uint8_t nrf_802154_security_error_t
Possible errors during key handling.
Definition nrf_802154_types.h:146
uint8_t nrf_802154_ifs_mode_t
Mode of handling Interframe spacing.
Definition nrf_802154_types.h:260
uint8_t nrf_802154_test_mode_csmaca_backoff_t
Type holding the CSMA/CA backoff control test mode.
Definition nrf_802154_types.h:216
uint8_t nrf_802154_coex_rx_request_mode_t
Mode of triggering receive request to Coex arbiter.
Definition nrf_802154_types.h:230
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.
bool nrf_802154_reinit(void)
Reinitializes the 802.15.4 driver.
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:171
Type holding the value of Key Id for the keys stored in nRF 802.15.4 Radio Driver.
Definition nrf_802154_types.h:350
Type of structure holding a 802.15.4 MAC Security Key.
Definition nrf_802154_types.h:359
Type of structure holding statistic counters.
Definition nrf_802154_types.h:308
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:336
Structure with transmit request metadata for scheduling transmission at a specific time.
Definition nrf_802154_types.h:443
Structure with transmit request metadata for transmission preceded by CSMA-CA procedure.
Definition nrf_802154_types.h:456
Structure with transmit request metadata for simple transmission request.
Definition nrf_802154_types.h:431