mirror of
https://github.com/espressif/openthread.git
synced 2026-08-08 03:37:46 +00:00
[csl] allow to configure the CSL auto synchronization (#6913)
This commit allows configuration of auto synchronisation of CSL, with data poll mechanism.
This commit is contained in:
@@ -137,6 +137,13 @@ if(OT_CSL_RECEIVER)
|
||||
target_compile_definitions(ot-config INTERFACE "OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE=1")
|
||||
endif()
|
||||
|
||||
option(OT_CSL_AUTO_SYNC "enable data polling based on csl config" ${OT_CSL_RECEIVER})
|
||||
if(OT_CSL_AUTO_SYNC)
|
||||
target_compile_definitions(ot-config INTERFACE "OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE=1")
|
||||
else()
|
||||
target_compile_definitions(ot-config INTERFACE "OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE=0")
|
||||
endif()
|
||||
|
||||
option(OT_CSL_DEBUG "enable csl debug")
|
||||
if(OT_CSL_DEBUG)
|
||||
target_compile_definitions(ot-config INTERFACE "OPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE=1")
|
||||
|
||||
@@ -149,6 +149,12 @@ ifeq ($(CSL_RECEIVER),1)
|
||||
COMMONCFLAGS += -DOPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE=1
|
||||
endif
|
||||
|
||||
ifeq ($(CSL_AUTO_SYNC),1)
|
||||
COMMONCFLAGS += -DOPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE=1
|
||||
else ifeq ($(CSL_AUTO_SYNC),0)
|
||||
COMMONCFLAGS += -DOPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE=0
|
||||
endif
|
||||
|
||||
ifeq ($(CSL_DEBUG),1)
|
||||
COMMONCFLAGS += -DOPENTHREAD_CONFIG_MAC_CSL_DEBUG_ENABLE=1
|
||||
endif
|
||||
|
||||
@@ -355,6 +355,16 @@
|
||||
#define OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE 0
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE
|
||||
*
|
||||
* This setting configures CSL auto synchronization based on data poll mechanism in Thread 1.2.
|
||||
*
|
||||
*/
|
||||
#ifndef OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE
|
||||
#define OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def OPENTHREAD_CONFIG_MAC_CSL_MIN_PERIOD
|
||||
*
|
||||
|
||||
@@ -539,7 +539,7 @@ uint32_t DataPollSender::GetDefaultPollPeriod(void) const
|
||||
uint32_t period = Time::SecToMsec(Get<Mle::MleRouter>().GetTimeout());
|
||||
uint32_t pollAhead = static_cast<uint32_t>(kRetxPollPeriod) * kMaxPollRetxAttempts;
|
||||
|
||||
#if OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE
|
||||
#if OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE && OPENTHREAD_CONFIG_MAC_CSL_AUTO_SYNC_ENABLE
|
||||
if (Get<Mac::Mac>().IsCslEnabled())
|
||||
{
|
||||
period = OT_MIN(period, Time::SecToMsec(Get<Mle::MleRouter>().GetCslTimeout()));
|
||||
|
||||
Reference in New Issue
Block a user