Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

채널 관리자

이 모듈에는 Channel Manager용 함수가 포함되어 있습니다.

요약

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

함수

otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
bool
이 함수는 자동 채널 선택 기능의 사용 여부를 나타냅니다.
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
uint32_t
이 함수는 자동 채널 선택 기능에 사용되는 기간 간격 (초)을 가져옵니다.
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
uint16_t
이 함수는 CCA 실패율 임 threshold값을 가져옵니다.
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 실패율 임 threshold값을 설정합니다.
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 실패율 임 threshold값을 가져옵니다.

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

ot채널 관리자 가져오기 지연

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

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

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

otChannelManagerGetFavoredChannels 채널

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

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

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
반환
비트 마스크로 사용하는 선호하는 채널

otChannelManagerGetRequestChannel

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) 1단계를 통과하면 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은 (는) 유효하지 않습니다.

otChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

이 함수는 CCA 실패율 임 threshold값을 설정합니다.

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

ot채널 관리자 설정 지연

otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

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

이 스레드는 스레드 네트워크 내의 모든 sleep-end 기기에서 사용하는 최대 데이터 폴링 간격보다 길게 실행하는 것이 좋습니다.

세부정보
매개변수
[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에서 제공되는 소스 코드에서 시작됩니다. 자세한 내용을 알아보거나 문서에 기여하려면 리소스를 참조하세요.