nrfxlib API 3.3.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
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
108#define NRF_802154_TX_FUNCTIONS_RETURN_ERROR_CODE
109
119
120#if (!NRF_802154_SERIALIZATION_HOST && NRF_802154_DRV_REINIT_ENABLED) || defined(DOXYGEN)
121
139
140#endif /* !NRF_802154_SERIALIZATION_HOST && NRF_802154_DRV_REINIT_ENABLED */
141
142#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
152__deprecated void nrf_802154_deinit(void);
153#endif // !NRF_802154_SERIALIZATION_HOST
154
160void nrf_802154_channel_set(uint8_t channel);
161
168
177void nrf_802154_tx_power_set(int8_t power);
178
185
186#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
187
198bool nrf_802154_antenna_diversity_rx_mode_set(nrf_802154_sl_ant_div_mode_t mode);
199
205nrf_802154_sl_ant_div_mode_t nrf_802154_antenna_diversity_rx_mode_get(void);
206
218bool nrf_802154_antenna_diversity_tx_mode_set(nrf_802154_sl_ant_div_mode_t mode);
219
225nrf_802154_sl_ant_div_mode_t nrf_802154_antenna_diversity_tx_mode_get(void);
226
239bool nrf_802154_antenna_diversity_rx_antenna_set(nrf_802154_sl_ant_div_antenna_t antenna);
240
250nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_rx_antenna_get(void);
251
264bool nrf_802154_antenna_diversity_tx_antenna_set(nrf_802154_sl_ant_div_antenna_t antenna);
265
275nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_tx_antenna_get(void);
276
288nrf_802154_sl_ant_div_antenna_t nrf_802154_antenna_diversity_last_rx_best_antenna_get(void);
289
300void nrf_802154_antenna_diversity_config_set(const nrf_802154_sl_ant_div_cfg_t * p_cfg);
301
310bool nrf_802154_antenna_diversity_config_get(nrf_802154_sl_ant_div_cfg_t * p_cfg);
311
339
347
348#endif // !NRF_802154_SERIALIZATION_HOST
349
358uint64_t nrf_802154_time_get(void);
359
373void nrf_802154_pan_id_set(const uint8_t * p_pan_id);
374
375#if (!NRF_802154_SERIALIZATION_HOST && NRF_802154_PAN_ID_GET_ENABLED) || defined(DOXYGEN)
376
386bool nrf_802154_pan_id_get(uint8_t * p_pan_id);
387
388#endif /* !NRF_802154_SERIALIZATION_HOST && NRF_802154_PAN_ID_GET_ENABLED */
389
398void nrf_802154_extended_address_set(const uint8_t * p_extended_address);
399
400#if (!NRF_802154_SERIALIZATION_HOST && NRF_802154_EXTENDED_ADDRESS_GET_ENABLED) || defined(DOXYGEN)
401
411bool nrf_802154_extended_address_get(uint8_t * p_extended_address);
412
413#endif /* !NRF_802154_SERIALIZATION_HOST && NRF_802154_EXTENDED_ADDRESS_GET_ENABLED */
414
423void nrf_802154_short_address_set(const uint8_t * p_short_address);
424
425#if (!NRF_802154_SERIALIZATION_HOST && NRF_802154_SHORT_ADDRESS_GET_ENABLED) || defined(DOXYGEN)
426
436bool nrf_802154_short_address_get(uint8_t * p_short_address);
437
438#endif /* !NRF_802154_SERIALIZATION_HOST && NRF_802154_SHORT_ADDRESS_GET_ENABLED */
439
461void nrf_802154_alternate_short_address_set(const uint8_t * p_short_address);
462
463#if (!NRF_802154_SERIALIZATION_HOST && NRF_802154_ALTERNATE_SHORT_ADDRESS_GET_ENABLED) || defined(DOXYGEN)
464
475bool nrf_802154_alternate_short_address_get(uint8_t * p_short_address);
476
477#endif /* !NRF_802154_SERIALIZATION_HOST && NRF_802154_ALTERNATE_SHORT_ADDRESS_GET_ENABLED */
478
499
514
526
562bool nrf_802154_receive_at(uint64_t rx_time,
563 uint32_t timeout,
564 uint8_t channel,
565 uint32_t id);
566
582
611
663 const nrf_802154_transmit_metadata_t * p_metadata);
664
745 uint8_t * p_data,
746 uint64_t tx_time,
747 const nrf_802154_transmit_at_metadata_t * p_metadata);
748
763
783bool nrf_802154_energy_detection(uint32_t time_us);
784
796bool nrf_802154_cca(void);
797
798#if NRF_802154_CARRIER_FUNCTIONS_ENABLED
799
811
824bool nrf_802154_modulated_carrier(const uint8_t * p_data);
825
826#endif // NRF_802154_CARRIER_FUNCTIONS_ENABLED
827
844void nrf_802154_buffer_free_raw(uint8_t * p_data);
845
852#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
866
873
874#endif // !NRF_802154_SERIALIZATION_HOST
875
895void nrf_802154_promiscuous_set(bool enabled);
896
897#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
905
928void nrf_802154_auto_ack_set(bool enabled);
929
937
938#endif // !NRF_802154_SERIALIZATION_HOST
939
947void nrf_802154_pan_coord_set(bool enabled);
948
949#if NRF_802154_PAN_COORD_GET_ENABLED || defined(DOXYGEN)
957
958#endif // NRF_802154_PAN_COORD_GET_ENABLED
959
972
1029bool nrf_802154_ack_data_set(const uint8_t * p_addr,
1030 bool extended,
1031 const void * p_data,
1032 uint16_t length,
1033 nrf_802154_ack_data_t data_type);
1034
1056bool nrf_802154_ack_data_clear(const uint8_t * p_addr,
1057 bool extended,
1058 nrf_802154_ack_data_t data_type);
1059
1068
1089
1110bool nrf_802154_pending_bit_for_addr_set(const uint8_t * p_addr, bool extended);
1111
1130bool nrf_802154_pending_bit_for_addr_clear(const uint8_t * p_addr, bool extended);
1131
1148
1162
1169
1175#if NRF_802154_CSMA_CA_ENABLED || defined(DOXYGEN)
1176
1207 uint8_t * p_data,
1208 const nrf_802154_transmit_csma_ca_metadata_t * p_metadata);
1209
1221
1230
1242
1251
1260void nrf_802154_csma_ca_max_backoffs_set(uint8_t max_backoffs);
1261
1271
1272#endif // NRF_802154_CSMA_CA_ENABLED
1273
1274#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1280#if NRF_802154_ACK_TIMEOUT_ENABLED || defined(DOXYGEN)
1281
1292void nrf_802154_ack_timeout_set(uint32_t time);
1293
1294#endif // !NRF_802154_SERIALIZATION_HOST
1295
1296#endif // NRF_802154_ACK_TIMEOUT_ENABLED
1297
1305#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1313
1323
1330
1340
1347
1348#endif // !NRF_802154_SERIALIZATION_HOST
1349
1356#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1363
1372
1383
1384#endif // !NRF_802154_SERIALIZATION_HOST
1385
1392
1393#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1402
1403#endif // !NRF_802154_SERIALIZATION_HOST
1404
1410#if NRF_802154_IFS_ENABLED || defined(DOXYGEN)
1411
1420
1432
1441
1450
1459
1468
1469#endif // NRF_802154_IFS_ENABLED
1470
1483
1500
1507
1525
1537
1544
1557
1578void nrf_802154_csl_writer_anchor_time_set(uint64_t anchor_time);
1579
1613void nrf_802154_rx_on_when_idle_set(bool rx_on_when_idle);
1614
1621
1631void nrf_802154_cst_writer_anchor_time_set(uint64_t anchor_time);
1632
1640
1649
1656#if NRF_802154_TEST_MODES_ENABLED
1662nrf_802154_test_mode_csmaca_backoff_t nrf_802154_test_mode_csmaca_backoff_get(void);
1663
1670void nrf_802154_test_mode_csmaca_backoff_set(nrf_802154_test_mode_csmaca_backoff_t value);
1671
1672#endif // NRF_802154_TEST_MODES_ENABLED
1673
1676#ifdef __cplusplus
1677}
1678#endif
1679
1680#endif /* NRF_802154_H_ */
1681
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