Kanal Yöneticisi

Bu modül, Kanal Yöneticisi'ne yönelik işlevler içerir.

Özet

Bu modüldeki işlevler, Kanal Yöneticisi özelliği (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE) etkinleştirildiğinde kullanılabilir. Kanal Yöneticisi yalnızca FTD derlemesinde kullanılabilir.

İşlevler

otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
bool
Otomatik kanal seçimi işlevinin etkinleştirilip etkinleştirilmediğini belirtir.
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
uint32_t
Otomatik kanal seçimi işlevinin kullandığı dönem aralığını (saniye cinsinden) alır.
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
uint16_t
CCA hata oranı eşiğini alır.
otChannelManagerGetDelay(otInstance *aInstance)
uint16_t
Kanal yöneticisi tarafından kanal değişikliği için kullanılan gecikmeyi (saniye cinsinden) alır.
otChannelManagerGetFavoredChannels(otInstance *aInstance)
uint32_t
Tercih edilen kanal maskesini alır.
otChannelManagerGetRequestedChannel(otInstance *aInstance)
uint8_t
otChannelManagerRequestChannelChange() adlı kullanıcıya yapılan son başarılı çağrının kanalı
otChannelManagerGetSupportedChannels(otInstance *aInstance)
uint32_t
Desteklenen kanal maskesini alır.
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
void
Bir Thread ağ kanalı değişikliği istiyor.
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
ChannelManager adlı kullanıcının yeni bir kanalı kontrol edip seçmesini ve kanal değişikliği başlatmasını isteyen.
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
void
Otomatik kanal seçimi işlevini etkinleştirir veya devre dışı bırakır.
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
Otomatik kanal seçimi işlevinin kullandığı dönem aralığını (saniye cinsinden) ayarlar.
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
void
CCA hata oranı eşiğini belirler.
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
Kanal değişikliği için kullanılan gecikmeyi (saniye cinsinden) ayarlar.
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Tercih edilen kanal maskesini ayarlar.
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Desteklenen kanal maskesini ayarlar.

İşlevler

otChannelManagerGetAutoChannelSelectionEtkin

bool otChannelManagerGetAutoChannelSelectionEnabled(
  otInstance *aInstance
)

Otomatik kanal seçimi işlevinin etkinleştirilip etkinleştirilmediğini belirtir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
Etkinleştirilirse DOĞRU, devre dışıysa YANLIŞ.

otChannelManagerGetAutoChannelSelectionInterval

uint32_t otChannelManagerGetAutoChannelSelectionInterval(
  otInstance *aInstance
)

Otomatik kanal seçimi işlevinin kullandığı dönem aralığını (saniye cinsinden) alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
Saniye cinsinden aralık.

otChannelManagerGetCcaFailureRateThreshold

uint16_t otChannelManagerGetCcaFailureRateThreshold(
  otInstance *aInstance
)

CCA hata oranı eşiğini alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
CCA hata oranı eşiği. Değer 0, %0 ve 0xffff ile %100 olarak eşleştirilir.

otChannelManagerGetGecikme

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

Kanal yöneticisi tarafından kanal değişikliği için kullanılan gecikmeyi (saniye cinsinden) alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
Kanal değişikliğinin gecikmesi (saniye cinsinden).

otChannelManagerGetFavoredChannels

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

Tercih edilen kanal maskesini alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
Bit maskesi olarak tercih edilen kanallar.

otChannelManagerGetRequestedChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

otChannelManagerRequestChannelChange() adlı kullanıcıya yapılan son başarılı çağrının kanalı

Ayrıntılar
İadeler
İstenen son kanal veya henüz hiç kanal değiştirme isteğinde bulunulmadıysa sıfır.

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

Desteklenen kanal maskesini alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
Bit maskesi olarak desteklenen kanallar.

otChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

Bir Thread ağ kanalı değişikliği istiyor.

Ağ, belirtilen gecikmeden sonra ilgili kanala geçiş yapar (otChannelManagerSetDelay() bölümüne bakın). Kanal değişikliği, Bekleyen İşlem Veri Kümesi güncellenerek gerçekleştirilir.

İleride yapılacak bir çağrıda, daha önce istenen bir kanal değişikliği iptal edilecek.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aChannel
Thread ağının yeni kanalı.

otChannelManagerRequestChannelSelect

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

ChannelManager adlı kullanıcının yeni bir kanalı kontrol edip seçmesini ve kanal değişikliği başlatmasını isteyen.

Bu parametre, kanalın parametre olarak sağlanması gereken otChannelManagerRequestChannelChange() parametresinin aksine ChannelManager, bir kanalı kendi başına seçer (toplanan kanal kalitesi bilgilerine göre).

Kanal Yöneticisi çağrıldıktan sonra aşağıdaki 3 adımı gerçekleştirir:

1) ChannelManager, kanal değişikliğinin faydalı olup olmayacağına karar verir. aSkipQualityCheck doğru değerine ayarlanırsa bu kanal atlanabilir (kanal seçiminin zorunlu kılınması ve kalite kontrolünün atlanması). Bu adımda, mevcut kanal kalitesinin bir kanal değişikliğini haklı gösterecek seviyede olup olmadığını belirlemek amacıyla cihazda toplanan bağlantı kalitesi metrikleri (ör. CCA hata oranı, komşu başına kare ve mesaj hatası oranı vb.) kullanılır.

2) İlk adım başarılı olursa ChannelManager daha iyi olabilecek bir kanal seçer. ChannelMonitor modülüne göre toplanan kanal kalitesi verilerini kullanır. Desteklenen ve tercih edilen kanallar bu adımda kullanılır. (otChannelManagerSetSupportedChannels() ve otChannelManagerSetFavoredChannels() bölümlerine bakın).

3) Yeni seçilen kanal geçerli kanaldan farklıysa ChannelManager, kanal değiştirme işlemini talep eder/başar (şirket içinde RequestChannelChange() politikası başlatır).

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aSkipQualityCheck
Kalite kontrolünün (1. adım) atlanıp atlanmayacağını belirtir.
Döndürülen Değerler
OT_ERROR_NONE
Kanal seçimi başarıyla tamamlandı.
OT_ERROR_NOT_FOUND
Desteklenen kanal maskesi boş olduğu için kanal seçilemiyor.

otChannelManagerSetAutoChannelSelectionEtkin

void otChannelManagerSetAutoChannelSelectionEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Otomatik kanal seçimi işlevini etkinleştirir veya devre dışı bırakır.

ChannelManager, etkinleştirildiğinde belirli aralıklarla RequestChannelSelect(false) çağırır. Dönem aralığı SetAutoChannelSelectionInterval() tarafından ayarlanabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aEnabled
Bu işlevin etkinleştirileceğini veya devre dışı bırakılacağını belirtir.

otChannelManagerSetAutoChannelSelectionInterval

otError otChannelManagerSetAutoChannelSelectionInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Otomatik kanal seçimi işlevinin kullandığı dönem aralığını (saniye cinsinden) ayarlar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aInterval
Saniye cinsinden aralık.
Döndürülen Değerler
OT_ERROR_NONE
Aralık başarıyla ayarlandı.
OT_ERROR_INVALID_ARGS
aInterval geçerli değil (sıfır).

otChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

CCA hata oranı eşiğini belirler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aThreshold
CCA hata oranı eşiği. Değer 0, %0 ve 0xffff ile %100 olarak eşleştirilir.

otChannelManagerSetGecikmesi

otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

Kanal değişikliği için kullanılan gecikmeyi (saniye cinsinden) ayarlar.

Gecikme, tercihen Thread ağında uykulu tüm cihazlar tarafından kullanılan maksimum veri anket aralığından uzun olmalıdır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aDelay
Saniye cinsinden gecikme.
Döndürülen Değerler
OT_ERROR_NONE
Gecikme başarıyla güncellendi.
OT_ERROR_INVALID_ARGS
Belirtilen gecikme (aDelay) çok kısa.

otChannelManagerSetFavoredChannels

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Tercih edilen kanal maskesini ayarlar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aChannelMask
Kanal maskesi.

otChannelManagerSetSupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Desteklenen kanal maskesini ayarlar.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
[in] aChannelMask
Kanal maskesi.

Kaynaklar

OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar sayfasına göz atın.