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

채널 모니터링

이 모듈은 채널 모니터링 기능을 포함합니다.

요약

이 모듈의 기능은 채널 모니터 기능 ( OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE )이 활성화 된 경우 사용할 수 있습니다.

채널 모니터링은 주기적으로 모든 채널을 모니터링하여 더 깨끗한 채널 (간섭이 적은 채널)을 확인합니다.

채널 모니터링이 활성화되면 시간이 0 인 에너지 스캔이 수행되어 샘플 간격 당 모든 채널에서 단일 RSSI 샘플을 수집합니다. RSSI 샘플은 미리 지정된 RSSI 임계 값과 비교됩니다. 채널 품질의 지표로서 채널 모니터링 모듈은 지정된 샘플 창 (채널 점유라고 함) 내에서 (대략) 임계 값을 초과하는 RSSI 샘플의 평균 속도 / 백분율을 유지하고 제공합니다.

기능

otChannelMonitorGetChannelOccupancy ( otInstance *aInstance, uint8_t aChannel)
uint16_t
주어진 채널에 대한 현재 채널 점유율을 가져옵니다.
otChannelMonitorGetRssiThreshold ( otInstance *aInstance)
int8_t
dBm 단위로 채널 모니터링 RSSI 임계 값을 가져옵니다.
otChannelMonitorGetSampleCount ( otInstance *aInstance)
uint32_t
채널 모니터링 총 RSSI 샘플 수 (채널당)를 가져옵니다.
otChannelMonitorGetSampleInterval ( otInstance *aInstance)
uint32_t
밀리 초 단위로 채널 모니터링 샘플 간격을 가져옵니다.
otChannelMonitorGetSampleWindow ( otInstance *aInstance)
uint32_t
채널 모니터링 평균 샘플 창 길이 (샘플 수)를 가져옵니다.
otChannelMonitorIsEnabled ( otInstance *aInstance)
bool
이 기능은 채널 모니터링 작업이 활성화되어 실행 중인지 여부를 나타냅니다.
otChannelMonitorSetEnabled ( otInstance *aInstance, bool aEnabled)
이 기능은 채널 모니터링 작동을 활성화 / 비활성화합니다.

기능

otChannelMonitorGetChannelOccupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

주어진 채널에 대한 현재 채널 점유율을 가져옵니다.

채널 점유 값은 RSSI 임계 값 ( "불량"RSSI 샘플)보다 높은 RSSI 샘플의 평균 속도 / 백분율을 나타냅니다.

첫 번째 "샘플 창"샘플의 경우 평균은 실제 백분율로 유지됩니다 (즉, 총 샘플 수에 대한 "불량"샘플 수의 비율). "윈도우"샘플 후에 평균 기는 지수 가중치 이동 평균을 사용합니다. 실제로 이것은 평균이 최신 kSampleWindow 샘플에 가장 높은 가중치가 부여 된 최대 3 * window 마지막 샘플을 kSampleWindow 합니다.

최대 값 0xffff 는 모든 RSSI 샘플이 RSSI 임계 값을 초과했음을 나타냅니다 (예 : 샘플의 100 %가 "나쁨").

세부
매개 변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aChannel
링크 점유를 가져올 채널입니다.
보고
주어진 채널에 대한 현재 채널 점유율입니다.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

dBm 단위로 채널 모니터링 RSSI 임계 값을 가져옵니다.

세부
매개 변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
보고
dBm 단위의 RSSI 임계 값입니다.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

채널 모니터링 총 RSSI 샘플 수 (채널당)를 가져옵니다.

카운트는 시작 이후 (스레드 네트워크 인터페이스가 활성화 된 이후) 채널 모니터링 모듈 별 채널당 총 샘플 수를 나타냅니다.

세부
매개 변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
보고
지금까지 가져온 총 RSSI 샘플 (채널당) 수입니다.

otChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

밀리 초 단위로 채널 모니터링 샘플 간격을 가져옵니다.

세부
매개 변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
보고
채널 모니터 샘플 간격 (밀리 초)입니다.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

채널 모니터링 평균 샘플 창 길이 (샘플 수)를 가져옵니다.

세부
매개 변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
보고
평균화 샘플 창입니다.

otChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

이 기능은 채널 모니터링 작업이 활성화되어 실행 중인지 여부를 나타냅니다.

세부
매개 변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
보고
채널 모니터링 작업이 활성화되면 TRUE, 그렇지 않으면 FALSE.

otChannelMonitorSetEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

이 기능은 채널 모니터링 작동을 활성화 / 비활성화합니다.

작업이 시작되면 이전에 수집 된 모든 데이터가 삭제됩니다. 그러나 작업이 비활성화 된 후에도 이전에 수집 된 데이터는 여전히 유효하며 읽을 수 있습니다.

세부
매개 변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aEnabled
채널 모니터링 작동을 활성화 / 시작하려면 TRUE, 비활성화 / 중지하려면 FALSE입니다.
반환 값
OT_ERROR_NONE
채널 모니터링 상태가 성공적으로 변경되었습니다.
OT_ERROR_ALREADY
채널 모니터링은 이미 같은 상태입니다.