mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
fix(openthread): turn off rx for SSED running CSL during idle
This commit is contained in:
@@ -141,10 +141,11 @@ esp_err_t ieee802154_receive_handle_done(const uint8_t* frame);
|
||||
esp_err_t ieee802154_transmit_at(const uint8_t *frame, bool cca, uint32_t time);
|
||||
|
||||
/**
|
||||
* @brief Set the IEEE 802.15.4 Radio to receive state at a specific time.
|
||||
* @brief Set the IEEE 802.15.4 Radio to receive state at a specific time, for a specific duration.
|
||||
*
|
||||
*
|
||||
* @param[in] time A specific timestamp for starting receiving.
|
||||
* @param[in] time A specific timestamp for starting receiving.
|
||||
* @param[in] duration A specific duration after which to stop receiving. Set duration = 0 to rx indefinitely.
|
||||
* @return
|
||||
* - ESP_OK on success
|
||||
* - ESP_FAIL on failure due to invalid state.
|
||||
@@ -153,7 +154,7 @@ esp_err_t ieee802154_transmit_at(const uint8_t *frame, bool cca, uint32_t time);
|
||||
* Ref to esp_ieee802154_receive_done().
|
||||
*
|
||||
*/
|
||||
esp_err_t ieee802154_receive_at(uint32_t time);
|
||||
esp_err_t ieee802154_receive_at(uint32_t time, uint32_t duration);
|
||||
|
||||
/**
|
||||
* @brief Set the IEEE 802.15.4 Radio to sleep state.
|
||||
@@ -263,8 +264,6 @@ bool ieee802154_mac_is_inited(void);
|
||||
#if CONFIG_IEEE802154_TEST
|
||||
#define IEEE802154_STATIC
|
||||
#define IEEE802154_INLINE
|
||||
extern void esp_ieee802154_timer0_done(void);
|
||||
extern void esp_ieee802154_timer1_done(void);
|
||||
#else
|
||||
#define IEEE802154_STATIC static
|
||||
#define IEEE802154_INLINE inline
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -79,6 +79,44 @@ esp_err_t ieee802154_timer1_set_threshold(uint32_t value);
|
||||
*/
|
||||
uint32_t ieee802154_timer1_get_value(void);
|
||||
|
||||
/**
|
||||
* @brief Set timer0 to fire at specific time.
|
||||
*
|
||||
*/
|
||||
void ieee802154_timer0_fire_at(uint32_t fire_time);
|
||||
|
||||
/**
|
||||
* @brief Set timer1 to fire at specific time.
|
||||
*
|
||||
*/
|
||||
void ieee802154_timer1_fire_at(uint32_t fire_time);
|
||||
|
||||
typedef void (*timer_callback_t)(void* ctx);
|
||||
|
||||
/**
|
||||
* @brief Set timer0 to fire at specific time with callback.
|
||||
*
|
||||
*/
|
||||
void ieee802154_timer0_fire_at_with_callback(uint32_t fire_time, timer_callback_t timer0_callback, void *timer0_ctx);
|
||||
|
||||
/**
|
||||
* @brief Set timer1 to fire at specific time with callback.
|
||||
*
|
||||
*/
|
||||
void ieee802154_timer1_fire_at_with_callback(uint32_t fire_time, timer_callback_t timer1_callback, void *timer1_ctx);
|
||||
|
||||
/**
|
||||
* @brief Execute timer0 callback.
|
||||
*
|
||||
*/
|
||||
void ieee802154_timer0_execute_callback(void);
|
||||
|
||||
/**
|
||||
* @brief Execute timer1 callback.
|
||||
*
|
||||
*/
|
||||
void ieee802154_timer1_execute_callback(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user