Skip to content

Commit 15443be

Browse files
committed
nrf_802154: rev 9bac646f39a03af50cf42a4c07d9348c448857f8
This commit updates revision of the nrf_802154 component. Signed-off-by: Andrzej Kuros <[email protected]>
1 parent 7a9b76c commit 15443be

13 files changed

+28
-588
lines changed

nrf_802154/common/include/nrf_802154.h

Lines changed: 3 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ nrf_802154_sleep_error_t nrf_802154_sleep_if_idle(void);
396396
*
397397
* In the receive state, the radio receives frames and may automatically send ACK frames when
398398
* appropriate. The received frame is reported to the higher layer by a call to
399-
* @ref nrf_802154_received.
399+
* @ref nrf_802154_received_raw or @ref nrf_802154_received_timestamp_raw .
400400
*
401401
* @retval true The radio enters the receive state.
402402
* @retval false The driver could not enter the receive state.
@@ -453,8 +453,6 @@ bool nrf_802154_receive_at(uint64_t rx_time,
453453
*/
454454
bool nrf_802154_receive_at_cancel(uint32_t id);
455455

456-
#if NRF_802154_USE_RAW_API || defined(DOXYGEN)
457-
458456
/**
459457
* @brief Changes the radio state to @ref RADIO_STATE_TX.
460458
*
@@ -465,8 +463,6 @@ bool nrf_802154_receive_at_cancel(uint32_t id);
465463
* @note This function is implemented in zero-copy fashion. It passes the given buffer pointer to
466464
* the RADIO peripheral.
467465
*
468-
* @note This function is available if @ref NRF_802154_USE_RAW_API is enabled.
469-
*
470466
* In the transmit state, the radio transmits a given frame. If requested, it waits for
471467
* an ACK frame. Depending on @ref NRF_802154_ACK_TIMEOUT_ENABLED, the radio driver automatically
472468
* stops waiting for an ACK frame or waits indefinitely for an ACK frame. If it is configured to
@@ -502,63 +498,6 @@ bool nrf_802154_receive_at_cancel(uint32_t id);
502498
bool nrf_802154_transmit_raw(uint8_t * p_data,
503499
const nrf_802154_transmit_metadata_t * p_metadata);
504500

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-
510-
/**
511-
* @brief Changes the radio state to transmit.
512-
*
513-
* @note If the CPU is halted or interrupted while this function is executed,
514-
* @ref nrf_802154_transmitted or @ref nrf_802154_transmit_failed must be called before this
515-
* function returns a result.
516-
*
517-
* @note This function copies the given buffer. It maintains an internal buffer, which is used to
518-
* make a frame copy. To prevent unnecessary memory consumption and to perform zero-copy
519-
* transmission, use @ref nrf_802154_transmit_raw instead.
520-
*
521-
* @note This function is available if @ref NRF_802154_USE_RAW_API is disabled.
522-
*
523-
* In the transmit state, the radio transmits a given frame. If requested, it waits for
524-
* an ACK frame. Depending on @ref NRF_802154_ACK_TIMEOUT_ENABLED, the radio driver automatically
525-
* stops waiting for an ACK frame or waits indefinitely for an ACK frame. If it is configured to
526-
* wait, the MAC layer is responsible for calling @ref nrf_802154_receive or
527-
* @ref nrf_802154_sleep after the ACK timeout.
528-
* The transmission result is reported to the higher layer by calls to @ref nrf_802154_transmitted
529-
* or @ref nrf_802154_transmit_failed.
530-
*
531-
* @verbatim
532-
* p_data
533-
* v
534-
* +-----+-----------------------------------------------------------+------------+
535-
* | PHR | MAC header and payload | FCS |
536-
* +-----+-----------------------------------------------------------+------------+
537-
* | |
538-
* | <------------------ length -----------------------------> |
539-
* @endverbatim
540-
*
541-
* @param[in] p_data Pointer to the array with the payload of data to transmit. The array
542-
* should exclude PHR or FCS fields of the 802.15.4 frame.
543-
* @param[in] length Length of the given frame. This value must exclude PHR and FCS fields
544-
* from the given frame (exact size of buffer pointed to by @p p_data).
545-
* @param[in] p_metadata Pointer to metadata structure. Contains detailed properties of data
546-
* to transmit. If @c NULL following metadata are used:
547-
* Field | Value
548-
* ----------------|-----------------------------------------------------
549-
* @c frame_props | @ref NRF_802154_TRANSMITTED_FRAME_PROPS_DEFAULT_INIT
550-
* @c cca | @c true
551-
*
552-
* @retval true The transmission procedure was scheduled.
553-
* @retval false The driver could not schedule the transmission procedure.
554-
*/
555-
bool 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-
562501
/**
563502
* @brief Requests transmission at the specified time.
564503
*
@@ -719,15 +658,12 @@ bool nrf_802154_modulated_carrier(const uint8_t * p_data);
719658
* @{
720659
*/
721660

722-
#if NRF_802154_USE_RAW_API || defined(DOXYGEN)
723-
724661
/**
725662
* @brief Notifies the driver that the buffer containing the received frame is not used anymore.
726663
*
727664
* @note The buffer pointed to by @p p_data may be modified by this function.
728665
* @note This function can be safely called only from the main context. To free the buffer from
729666
* a callback or the IRQ context, use @ref nrf_802154_buffer_free_immediately_raw.
730-
* @note This function is available if @ref NRF_802154_USE_RAW_API is enabled.
731667
*
732668
* @param[in] p_data Pointer to the buffer containing the received data that is no longer needed
733669
* by the higher layer.
@@ -742,7 +678,6 @@ void nrf_802154_buffer_free_raw(uint8_t * p_data);
742678
* @note This function can be safely called from any context. If the driver is busy processing
743679
* a request called from a context with lower priority, this function returns false and
744680
* the caller should free the buffer later.
745-
* @note This function is available if @ref NRF_802154_USE_RAW_API is enabled.
746681
*
747682
* @param[in] p_data Pointer to the buffer containing the received data that is no longer needed
748683
* by the higher layer.
@@ -753,44 +688,6 @@ void nrf_802154_buffer_free_raw(uint8_t * p_data);
753688
bool nrf_802154_buffer_free_immediately_raw(uint8_t * p_data);
754689
#endif // !NRF_802154_SERIALIZATION_HOST
755690

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-
761-
/**
762-
* @brief Notifies the driver that the buffer containing the received frame is not used anymore.
763-
*
764-
* @note The buffer pointed to by @p p_data may be modified by this function.
765-
* @note This function can be safely called only from the main context. To free the buffer from
766-
* a callback or IRQ context, use @ref nrf_802154_buffer_free_immediately.
767-
* @note This function is available if @ref NRF_802154_USE_RAW_API is disabled.
768-
*
769-
* @param[in] p_data Pointer to the buffer containing the received data that is no longer needed
770-
* by the higher layer.
771-
*/
772-
void nrf_802154_buffer_free(uint8_t * p_data);
773-
774-
/**
775-
* @brief Notifies the driver that the buffer containing the received frame is not used anymore.
776-
*
777-
* @note The buffer pointed to by @p p_data may be modified by this function.
778-
* @note This function can be safely called from any context. If the driver is busy processing
779-
* a request called from a context with lower priority, this function returns false and
780-
* the caller should free the buffer later.
781-
* @note This function is available if @ref NRF_802154_USE_RAW_API is disabled.
782-
*
783-
* @param[in] p_data Pointer to the buffer containing the received data that is no longer needed
784-
* by the higher layer.
785-
*
786-
* @retval true Buffer was freed successfully.
787-
* @retval false Buffer cannot be freed right now due to ongoing operation.
788-
*/
789-
bool nrf_802154_buffer_free_immediately(uint8_t * p_data);
790-
791-
#endif // !NRF_802154_SERIALIZATION_HOST
792-
#endif // !NRF_802154_USE_RAW_API
793-
794691
/**
795692
* @}
796693
* @defgroup nrf_802154_rssi RSSI measurement function
@@ -869,7 +766,7 @@ bool nrf_802154_promiscuous_get(void);
869766
* after the ACK frame is transmitted.
870767
* If the auto ACK is disabled, the driver does not transmit ACK frames. It notifies the next higher
871768
* layer about the received frames when a frame is received. In this mode, the next higher layer is
872-
* responsible for sending the ACK frame. ACK frames should be sent using @ref nrf_802154_transmit.
769+
* responsible for sending the ACK frame. ACK frames should be sent using @ref nrf_802154_transmit_raw.
873770
*
874771
* @param[in] enabled If the auto ACK should be enabled.
875772
*/
@@ -1121,7 +1018,6 @@ void nrf_802154_cca_cfg_get(nrf_802154_cca_cfg_t * p_cca_cfg);
11211018
* @{
11221019
*/
11231020
#if NRF_802154_CSMA_CA_ENABLED || defined(DOXYGEN)
1124-
#if NRF_802154_USE_RAW_API || defined(DOXYGEN)
11251021

11261022
/**
11271023
* @brief Performs the CSMA-CA procedure and transmits a frame in case of success.
@@ -1136,8 +1032,7 @@ void nrf_802154_cca_cfg_get(nrf_802154_cca_cfg_t * p_cca_cfg);
11361032
* to time out waiting for the ACK frame. This timer can be started
11371033
* by @ref nrf_802154_tx_started. When the timer expires, the MAC layer is expected
11381034
* to call @ref nrf_802154_receive or @ref nrf_802154_sleep to stop waiting for the ACK frame.
1139-
* @note This function is available if @ref NRF_802154_CSMA_CA_ENABLED is enabled and
1140-
* @ref NRF_802154_USE_RAW_API is enabled.
1035+
* @note This function is available if @ref NRF_802154_CSMA_CA_ENABLED is enabled.
11411036
*
11421037
* @param[in] p_data Pointer to the frame to transmit. See also @ref nrf_802154_transmit_raw.
11431038
* @param[in] p_metadata Pointer to metadata structure. Contains detailed properties of data
@@ -1152,43 +1047,6 @@ void nrf_802154_cca_cfg_get(nrf_802154_cca_cfg_t * p_cca_cfg);
11521047
bool nrf_802154_transmit_csma_ca_raw(uint8_t * p_data,
11531048
const nrf_802154_transmit_csma_ca_metadata_t * p_metadata);
11541049

1155-
#else // NRF_802154_USE_RAW_API
1156-
1157-
#if !NRF_802154_SERIALIZATION_HOST || defined(DOXYGEN)
1158-
/**
1159-
* @brief Performs the CSMA-CA procedure and transmits a frame in case of success.
1160-
*
1161-
* The end of the CSMA-CA procedure is notified by @ref nrf_802154_transmitted or
1162-
* @ref nrf_802154_transmit_failed.
1163-
*
1164-
* @note The driver may be configured to automatically time out waiting for an ACK frame depending
1165-
* on @ref NRF_802154_ACK_TIMEOUT_ENABLED. If the automatic ACK timeout is disabled,
1166-
* the CSMA-CA procedure does not time out waiting for an ACK frame if a frame
1167-
* with the ACK request bit set was transmitted. The MAC layer is expected to manage the timer
1168-
* to time out waiting for the ACK frame. This timer can be started
1169-
* by @ref nrf_802154_tx_started. When the timer expires, the MAC layer is expected
1170-
* to call @ref nrf_802154_receive or @ref nrf_802154_sleep to stop waiting for the ACK frame.
1171-
* @note This function is available if @ref NRF_802154_CSMA_CA_ENABLED is enabled and
1172-
* @ref NRF_802154_USE_RAW_API is disabled.
1173-
*
1174-
* @param[in] p_data Pointer to the frame to transmit. See also @ref nrf_802154_transmit.
1175-
* @param[in] length Length of the given frame. See also @ref nrf_802154_transmit.
1176-
* @param[in] p_metadata Pointer to metadata structure. Contains detailed properties of data
1177-
* to transmit. If @c NULL following metadata are used:
1178-
* Field | Value
1179-
* ----------------|-----------------------------------------------------
1180-
* @c frame_props | @ref NRF_802154_TRANSMITTED_FRAME_PROPS_DEFAULT_INIT
1181-
*
1182-
* @retval true The chain of CSMA-CA and transmission procedure was scheduled.
1183-
* @retval false The driver could not schedule the procedure chain.
1184-
*/
1185-
bool 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-
11921050
/**
11931051
* @brief Sets the minimum value of the backoff exponent (BE) in the CSMA-CA algorithm.
11941052
*

0 commit comments

Comments
 (0)