mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'bugfix/openthread_sleep_esp32s3_build' into 'master'
fix(openthread): call sleep api only in native radio See merge request espressif/esp-idf!24751
This commit is contained in:
commit
8019d6dbe3
@ -121,7 +121,8 @@ if(CONFIG_OPENTHREAD_ENABLED)
|
|||||||
)
|
)
|
||||||
elseif(CONFIG_OPENTHREAD_RADIO_SPINEL_UART OR CONFIG_OPENTHREAD_RADIO_SPINEL_SPI)
|
elseif(CONFIG_OPENTHREAD_RADIO_SPINEL_UART OR CONFIG_OPENTHREAD_RADIO_SPINEL_SPI)
|
||||||
list(APPEND exclude_srcs
|
list(APPEND exclude_srcs
|
||||||
"src/port/esp_openthread_radio.c")
|
"src/port/esp_openthread_radio.c"
|
||||||
|
"src/port/esp_openthread_sleep.c")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CONFIG_OPENTHREAD_BORDER_ROUTER)
|
if(CONFIG_OPENTHREAD_BORDER_ROUTER)
|
||||||
|
@ -58,10 +58,10 @@ static size_t hex_string_to_binary(const char *hex_string, uint8_t *buf, size_t
|
|||||||
|
|
||||||
esp_err_t esp_openthread_init(const esp_openthread_platform_config_t *config)
|
esp_err_t esp_openthread_init(const esp_openthread_platform_config_t *config)
|
||||||
{
|
{
|
||||||
#if CONFIG_FREERTOS_USE_TICKLESS_IDLE
|
#if CONFIG_FREERTOS_USE_TICKLESS_IDLE && CONFIG_OPENTHREAD_RADIO_NATIVE
|
||||||
ESP_RETURN_ON_ERROR(esp_openthread_sleep_init(), OT_PLAT_LOG_TAG,
|
ESP_RETURN_ON_ERROR(esp_openthread_sleep_init(), OT_PLAT_LOG_TAG,
|
||||||
"Failed to initialize OpenThread esp pm_lock");
|
"Failed to initialize OpenThread esp pm_lock");
|
||||||
#endif
|
#endif /* CONFIG_FREERTOS_USE_TICKLESS_IDLE && CONFIG_OPENTHREAD_RADIO_NATIVE */
|
||||||
ESP_RETURN_ON_ERROR(esp_openthread_platform_init(config), OT_PLAT_LOG_TAG,
|
ESP_RETURN_ON_ERROR(esp_openthread_platform_init(config), OT_PLAT_LOG_TAG,
|
||||||
"Failed to initialize OpenThread platform driver");
|
"Failed to initialize OpenThread platform driver");
|
||||||
esp_openthread_lock_acquire(portMAX_DELAY);
|
esp_openthread_lock_acquire(portMAX_DELAY);
|
||||||
@ -164,17 +164,17 @@ esp_err_t esp_openthread_launch_mainloop(void)
|
|||||||
mainloop.timeout.tv_sec = 0;
|
mainloop.timeout.tv_sec = 0;
|
||||||
mainloop.timeout.tv_usec = 0;
|
mainloop.timeout.tv_usec = 0;
|
||||||
}
|
}
|
||||||
#if CONFIG_FREERTOS_USE_TICKLESS_IDLE
|
#if CONFIG_FREERTOS_USE_TICKLESS_IDLE && CONFIG_OPENTHREAD_RADIO_NATIVE
|
||||||
esp_openthread_sleep_process();
|
esp_openthread_sleep_process();
|
||||||
#endif
|
#endif /* CONFIG_FREERTOS_USE_TICKLESS_IDLE && CONFIG_OPENTHREAD_RADIO_NATIVE */
|
||||||
esp_openthread_lock_release();
|
esp_openthread_lock_release();
|
||||||
|
|
||||||
if (select(mainloop.max_fd + 1, &mainloop.read_fds, &mainloop.write_fds, &mainloop.error_fds,
|
if (select(mainloop.max_fd + 1, &mainloop.read_fds, &mainloop.write_fds, &mainloop.error_fds,
|
||||||
&mainloop.timeout) >= 0) {
|
&mainloop.timeout) >= 0) {
|
||||||
esp_openthread_lock_acquire(portMAX_DELAY);
|
esp_openthread_lock_acquire(portMAX_DELAY);
|
||||||
#if CONFIG_FREERTOS_USE_TICKLESS_IDLE
|
#if CONFIG_FREERTOS_USE_TICKLESS_IDLE && CONFIG_OPENTHREAD_RADIO_NATIVE
|
||||||
esp_openthread_wakeup_process();
|
esp_openthread_wakeup_process();
|
||||||
#endif
|
#endif /* CONFIG_FREERTOS_USE_TICKLESS_IDLE && CONFIG_OPENTHREAD_RADIO_NATIVE */
|
||||||
error = esp_openthread_platform_process(instance, &mainloop);
|
error = esp_openthread_platform_process(instance, &mainloop);
|
||||||
while (otTaskletsArePending(instance)) {
|
while (otTaskletsArePending(instance)) {
|
||||||
otTaskletsProcess(instance);
|
otTaskletsProcess(instance);
|
||||||
|
@ -52,7 +52,7 @@ examples/openthread/ot_rcp:
|
|||||||
|
|
||||||
examples/openthread/ot_sleepy_device:
|
examples/openthread/ot_sleepy_device:
|
||||||
enable:
|
enable:
|
||||||
- if: IDF_TARGET == "esp32c6"
|
- if: IDF_TARGET in ["esp32h2", "esp32c6"]
|
||||||
disable_test:
|
disable_test:
|
||||||
- if: IDF_TARGET in ["esp32h2", "esp32c6"]
|
- if: IDF_TARGET in ["esp32h2", "esp32c6"]
|
||||||
temporary: true
|
temporary: true
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
| Supported Targets | ESP32-C6 |
|
| Supported Targets | ESP32-C6 | ESP32-H2 |
|
||||||
| ----------------- | -------- |
|
| ----------------- | -------- | -------- |
|
||||||
|
|
||||||
# OpenThread Sleepy Device Example
|
# OpenThread Sleepy Device Example
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user