diff --git a/components/openthread/CMakeLists.txt b/components/openthread/CMakeLists.txt index a457955602..06e0b5e19d 100644 --- a/components/openthread/CMakeLists.txt +++ b/components/openthread/CMakeLists.txt @@ -84,6 +84,7 @@ if(CONFIG_OPENTHREAD_ENABLED) "openthread/src/core/api/nat64_api.cpp" "openthread/src/core/api/netdata_api.cpp" "openthread/src/core/api/netdiag_api.cpp" + "openthread/src/core/api/network_time_api.cpp" "openthread/src/core/api/random_crypto_api.cpp" "openthread/src/core/api/tcp_api.cpp" "openthread/src/core/api/udp_api.cpp" @@ -123,6 +124,7 @@ if(CONFIG_OPENTHREAD_ENABLED) "openthread/src/core/thread/network_diagnostic.cpp" "openthread/src/core/thread/panid_query_server.cpp" "openthread/src/core/thread/thread_netif.cpp" + "openthread/src/core/thread/time_sync_service.cpp" "openthread/src/core/thread/tmf.cpp" "openthread/src/core/thread/topology.cpp" "openthread/src/core/utils/child_supervision.cpp") diff --git a/components/openthread/private_include/openthread-core-esp32x-radio-config.h b/components/openthread/private_include/openthread-core-esp32x-radio-config.h index 8a954c86d3..c06dcf526a 100644 --- a/components/openthread/private_include/openthread-core-esp32x-radio-config.h +++ b/components/openthread/private_include/openthread-core-esp32x-radio-config.h @@ -242,3 +242,13 @@ #ifndef OPENTHREAD_CONFIG_MAC_MAX_CSMA_BACKOFFS_DIRECT #define OPENTHREAD_CONFIG_MAC_MAX_CSMA_BACKOFFS_DIRECT CONFIG_OPENTHREAD_MAC_MAX_CSMA_BACKOFFS_DIRECT #endif + +/** + * @def OPENTHREAD_CONFIG_TIME_SYNC_ENABLE + * + * Define as 1 to enable the time synchronization service feature. + * + */ +#if CONFIG_OPENTHREAD_TIME_SYNC +#define OPENTHREAD_CONFIG_TIME_SYNC_ENABLE 1 +#endif diff --git a/components/openthread/src/port/esp_openthread_radio_spinel.cpp b/components/openthread/src/port/esp_openthread_radio_spinel.cpp index 34eccebc8a..3d566b05e9 100644 --- a/components/openthread/src/port/esp_openthread_radio_spinel.cpp +++ b/components/openthread/src/port/esp_openthread_radio_spinel.cpp @@ -23,6 +23,7 @@ #include "lib/spinel/spinel.h" #include "openthread/platform/diag.h" #include "openthread/platform/radio.h" +#include "openthread/platform/time.h" #include "platform/exit_code.h" #include "spinel_driver.hpp" @@ -443,3 +444,8 @@ void otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable) s_radio.SetRxOnWhenIdle(aEnable); } #endif + +uint16_t otPlatTimeGetXtalAccuracy(void) +{ + return CONFIG_OPENTHREAD_XTAL_ACCURACY; +}