채널 관리자

이 모듈에는 채널 관리자용 함수가 포함되어 있습니다.

요약

이 모듈의 함수는 채널 관리자 기능 (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE)이 사용 설정된 경우에 사용할 수 있습니다. 채널 관리자는 FTD 빌드에서만 사용할 수 있습니다.

함수

otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
bool
자동 채널 선택 기능의 사용 설정 여부를 나타냅니다.
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
uint32_t
자동 채널 선택 기능에서 사용되는 기간 간격 (초)을 가져옵니다.
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
uint16_t
CCA 실패율 기준을 가져옵니다.
otChannelManagerGetDelay(otInstance *aInstance)
uint16_t
채널 관리자가 채널을 변경하는 데 사용하는 지연 시간 (초)을 가져옵니다.
otChannelManagerGetFavoredChannels(otInstance *aInstance)
uint32_t
선호하는 채널 마스크를 가져옵니다.
otChannelManagerGetRequestedChannel(otInstance *aInstance)
uint8_t
마지막 otChannelManagerRequestChannelChange() 호출에서 채널을 가져옵니다.
otChannelManagerGetSupportedChannels(otInstance *aInstance)
uint32_t
지원되는 채널 마스크를 가져옵니다.
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
void
스레드 네트워크 채널 변경을 요청합니다.
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
ChannelManager님이 새 채널을 확인 및 선택하고 채널 변경을 시작하는 요청입니다.
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
void
자동 채널 선택 기능을 사용 설정 또는 중지합니다.
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
자동 채널 선택 기능에 사용되는 기간 간격 (초)을 설정합니다.
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
void
CCA 실패율 기준을 설정합니다.
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
채널 변경에 사용되는 지연 (초)을 설정합니다.
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
void
선호하는 채널 마스크를 설정합니다.
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
void
지원되는 채널 마스크를 설정합니다.

함수

otChannelManagerGetAutoChannelSelectionEnabled

bool otChannelManagerGetAutoChannelSelectionEnabled(
  otInstance *aInstance
)

자동 채널 선택 기능의 사용 설정 여부를 나타냅니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
사용 설정된 경우 TRUE, 사용 중지된 경우 FALSE입니다.

otChannelManagerGetAutoChannelSelectionInterval

uint32_t otChannelManagerGetAutoChannelSelectionInterval(
  otInstance *aInstance
)

자동 채널 선택 기능에서 사용되는 기간 간격 (초)을 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
초 단위의 간격입니다.

otChannelManagerGetCcaFailureRateThreshold

uint16_t otChannelManagerGetCcaFailureRateThreshold(
  otInstance *aInstance
)

CCA 실패율 기준을 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
CCA 실패율 기준입니다. 0은 0% 에 매핑되고 0xffff는 100%에 매핑됩니다.

otChannelManagerGetDelay

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

채널 관리자가 채널을 변경하는 데 사용하는 지연 시간 (초)을 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
채널 변경 지연 (초)

otChannelManagerGetFavoredChannels

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

선호하는 채널 마스크를 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
선호 채널은 비트 마스크.

otChannelManagerGetRequestedChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

마지막 otChannelManagerRequestChannelChange() 호출에서 채널을 가져옵니다.

세부정보
반환
마지막으로 요청된 채널이거나 아직 채널 변경 요청이 없는 경우 0입니다.

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

지원되는 채널 마스크를 가져옵니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환
지원되는 채널은 비트 마스크입니다.

채널 관리자 요청 채널 변경

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

스레드 네트워크 채널 변경을 요청합니다.

네트워크가 지정된 지연 후에 지정된 채널로 전환됩니다 (otChannelManagerSetDelay() 참조). 채널 변경사항은 대기 중인 운영 데이터 세트를 업데이트하여 실행됩니다.

후속 통화는 이전에 요청한 채널 변경을 취소합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aChannel
스레드 네트워크의 새 채널

채널 관리자 요청 채널 선택

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

ChannelManager님이 새 채널을 확인 및 선택하고 채널 변경을 시작하는 요청입니다.

채널을 매개변수로 제공해야 하는 otChannelManagerRequestChannelChange()와 달리 이 함수는 ChannelManager에 수집된 채널 품질 정보를 기반으로 채널을 선택하도록 요청합니다.

채널 관리자가 호출되면 다음 3단계를 수행합니다.

1) ChannelManager은 채널 변경이 도움이 될지 결정합니다. aSkipQualityCheck를 true로 설정하면 채널 선택이 강제되고 품질 검사를 건너뛰는 경우 이 검사를 건너뛸 수 있습니다. 이 단계에서는 기기에서 수집된 링크 품질 측정항목 (예: CCA 실패율, 프레임 및 메시지당 이웃 오류율 등)을 사용하여 현재 채널 품질이 채널 변경을 정당화하는 수준인지 확인합니다.

2) 첫 번째 단계를 통과하면 ChannelManager에서 잠재적으로 더 좋은 채널을 선택합니다. ChannelMonitor 모듈별로 수집된 채널 품질 데이터를 사용합니다. 이 단계에서는 지원되는 채널과 선호하는 채널이 사용됩니다. (otChannelManagerSetSupportedChannels()otChannelManagerSetFavoredChannels() 참고)

3) 새로 선택한 채널이 현재 채널과 다르면 ChannelManager에서 채널 변경 프로세스를 요청/시작합니다 (내부적으로 RequestChannelChange() 호출).

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aSkipQualityCheck
품질 검사 (1단계)를 건너뛸지 여부를 나타냅니다.
반환 값
OT_ERROR_NONE
채널 선택이 완료되었습니다.
OT_ERROR_NOT_FOUND
지원되는 채널 마스크가 비어 있어 채널을 선택할 수 없습니다.

otChannelManagerSetAutoChannelSelectionEnabled

void otChannelManagerSetAutoChannelSelectionEnabled(
  otInstance *aInstance,
  bool aEnabled
)

자동 채널 선택 기능을 사용 설정 또는 중지합니다.

사용 설정하면 ChannelManager에서 주기적으로 RequestChannelSelect(false)를 호출합니다. 기간 간격은 SetAutoChannelSelectionInterval()로 설정할 수 있습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aEnabled
이 기능을 사용할지 여부를 나타냅니다.

otChannelManagerSetAutoChannelSelectionInterval

otError otChannelManagerSetAutoChannelSelectionInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

자동 채널 선택 기능에 사용되는 기간 간격 (초)을 설정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aInterval
초 단위의 간격입니다.
반환 값
OT_ERROR_NONE
간격이 설정되었습니다.
OT_ERROR_INVALID_ARGS
aInterval이(가) 잘못되었습니다(0).

otChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

CCA 실패율 기준을 설정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aThreshold
CCA 실패율 기준입니다. 0은 0% 에 매핑되고 0xffff는 100%에 매핑됩니다.

otChannelManagerSetDelay

otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

채널 변경에 사용되는 지연 (초)을 설정합니다.

지연은 스레드 네트워크 내의 모든 휴면-엔드 기기에서 사용하는 최대 데이터 폴링 간격보다 긴 것이 좋습니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aDelay
초 단위로 지연됩니다.
반환 값
OT_ERROR_NONE
지연을 업데이트했습니다.
OT_ERROR_INVALID_ARGS
aDelay 지연 시간이 너무 짧습니다.

otChannelManagerSetFavoredChannels

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

선호하는 채널 마스크를 설정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aChannelMask
채널 마스크.

otChannelManagerSetSupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

지원되는 채널 마스크를 설정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aChannelMask
채널 마스크.

자료

OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 보거나 문서에 참여하려면 리소스를 참고하세요.