diff --git a/components/openthread/Kconfig b/components/openthread/Kconfig index f34a3a0228..fdd5445456 100644 --- a/components/openthread/Kconfig +++ b/components/openthread/Kconfig @@ -360,6 +360,14 @@ menu "OpenThread" default 120 endmenu + config OPENTHREAD_PREFERRED_CHANNEL_MASK + hex "Preferred channel mask" + default 0x7fff800 + + config OPENTHREAD_SUPPORTED_CHANNEL_MASK + hex "Supported channel mask" + default 0x7fff800 + config OPENTHREAD_NUM_MESSAGE_BUFFERS int "The number of openthread message buffers" default 65 diff --git a/components/openthread/src/port/esp_openthread_radio.c b/components/openthread/src/port/esp_openthread_radio.c index f87cb68291..a071e1cc3a 100644 --- a/components/openthread/src/port/esp_openthread_radio.c +++ b/components/openthread/src/port/esp_openthread_radio.c @@ -798,3 +798,15 @@ void otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable) esp_ieee802154_set_rx_when_idle(aEnable); } #endif + +uint32_t otPlatRadioGetPreferredChannelMask(otInstance *aInstance) +{ + OT_UNUSED_VARIABLE(aInstance); + return CONFIG_OPENTHREAD_PREFERRED_CHANNEL_MASK; +} + +uint32_t otPlatRadioGetSupportedChannelMask(otInstance *aInstance) +{ + OT_UNUSED_VARIABLE(aInstance); + return CONFIG_OPENTHREAD_SUPPORTED_CHANNEL_MASK; +} diff --git a/components/openthread/src/port/esp_openthread_radio_spinel.cpp b/components/openthread/src/port/esp_openthread_radio_spinel.cpp index 67cb2bb66a..6ae6633174 100644 --- a/components/openthread/src/port/esp_openthread_radio_spinel.cpp +++ b/components/openthread/src/port/esp_openthread_radio_spinel.cpp @@ -467,3 +467,17 @@ uint16_t otPlatTimeGetXtalAccuracy(void) { return CONFIG_OPENTHREAD_XTAL_ACCURACY; } + +uint32_t otPlatRadioGetPreferredChannelMask(otInstance *aInstance) +{ + OT_UNUSED_VARIABLE(aInstance); + // Refer to `GetRadioChannelMask(bool aPreferred)`: TRUE to get preferred channel mask + return s_radio.GetRadioChannelMask(true); +} + +uint32_t otPlatRadioGetSupportedChannelMask(otInstance *aInstance) +{ + OT_UNUSED_VARIABLE(aInstance); + // Refer to `GetRadioChannelMask(bool aPreferred)`: FALSE to get supported channel mask + return s_radio.GetRadioChannelMask(false); +}