Channel Manager

Modul ini menyertakan fungsi untuk Pengelola Saluran.

Ringkasan

Fungsi dalam modul ini tersedia saat fitur Pengelola Saluran (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE) diaktifkan. Saluran Manager hanya tersedia pada build FTD.

Fungsi

otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
bool
Menunjukkan apakah fungsi pemilihan saluran otomatis diaktifkan atau tidak.
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
uint32_t
Mendapatkan interval periode (dalam detik) yang digunakan oleh fungsi pemilihan saluran otomatis.
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
uint16_t
Mendapatkan batas tingkat kegagalan CCA.
otChannelManagerGetDelay(otInstance *aInstance)
uint16_t
Mendapatkan penundaan (dalam detik) yang digunakan oleh Pengelola Saluran untuk perubahan saluran.
otChannelManagerGetFavoredChannels(otInstance *aInstance)
uint32_t
Mendapatkan mask channel favorit.
otChannelManagerGetRequestedChannel(otInstance *aInstance)
uint8_t
Mendapatkan channel dari panggilan terakhir yang berhasil ke otChannelManagerRequestChannelChange()
otChannelManagerGetSupportedChannels(otInstance *aInstance)
uint32_t
Mendapatkan mask channel yang didukung.
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
void
Meminta perubahan saluran jaringan Thread.
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
Permintaan yang diperiksa ChannelManager dan memilih saluran baru serta memulai perubahan saluran.
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
void
Mengaktifkan atau menonaktifkan fungsi pemilihan saluran otomatis.
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
Menetapkan interval periode (dalam detik) yang digunakan oleh fungsi pemilihan saluran otomatis.
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
void
Menetapkan batas tingkat kegagalan CCA.
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
Menetapkan penundaan (dalam detik) yang digunakan untuk perubahan saluran.
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Menetapkan mask channel favorit.
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
void
Menetapkan mask saluran yang didukung.

Fungsi

otChannelManagerGetAutoChannelSelectionEnabled

bool otChannelManagerGetAutoChannelSelectionEnabled(
  otInstance *aInstance
)

Menunjukkan apakah fungsi pemilihan saluran otomatis diaktifkan atau tidak.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
TRUE jika diaktifkan, FALSE jika dinonaktifkan.

otChannelManagerGetAutoChannelSelectionInterval

uint32_t otChannelManagerGetAutoChannelSelectionInterval(
  otInstance *aInstance
)

Mendapatkan interval periode (dalam detik) yang digunakan oleh fungsi pemilihan saluran otomatis.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Interval dalam detik.

otChannelManagerGetCcaFailureRateThreshold

uint16_t otChannelManagerGetCcaFailureRateThreshold(
  otInstance *aInstance
)

Mendapatkan batas tingkat kegagalan CCA.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Batas minimum kegagalan CCA. Nilai 0 untuk 0% dan 0xffff untuk 100%.

otChannelManagerGetDelay

uint16_t otChannelManagerGetDelay(
  otInstance *aInstance
)

Mendapatkan penundaan (dalam detik) yang digunakan oleh Pengelola Saluran untuk perubahan saluran.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Penundaan (dalam detik) untuk perubahan saluran.

otChannelManagerGetFavoredChannel

uint32_t otChannelManagerGetFavoredChannels(
  otInstance *aInstance
)

Mendapatkan mask channel favorit.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Saluran yang disukai sebagai bit-mask.

otChannelManagerGetRequestedChannel

uint8_t otChannelManagerGetRequestedChannel(
  otInstance *aInstance
)

Mendapatkan channel dari panggilan terakhir yang berhasil ke otChannelManagerRequestChannelChange()

Detail
Pengembalian
Saluran yang terakhir diminta atau nol jika belum ada permintaan perubahan saluran.

otChannelManagerGetSupportedChannels

uint32_t otChannelManagerGetSupportedChannels(
  otInstance *aInstance
)

Mendapatkan mask channel yang didukung.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Saluran yang didukung sebagai bit-mask.

otChannelManagerRequestChannelChange

void otChannelManagerRequestChannelChange(
  otInstance *aInstance,
  uint8_t aChannel
)

Meminta perubahan saluran jaringan Thread.

Jaringan beralih ke saluran yang diberikan setelah penundaan tertentu (lihat otChannelManagerSetDelay()). Perubahan saluran dilakukan dengan memperbarui Set Data Operasional yang Tertunda.

Panggilan berikutnya akan membatalkan perubahan saluran yang diminta sebelumnya.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aChannel
Saluran baru untuk jaringan Thread.

otChannelManagerRequestChannelSelect

otError otChannelManagerRequestChannelSelect(
  otInstance *aInstance,
  bool aSkipQualityCheck
)

Permintaan yang diperiksa ChannelManager dan memilih saluran baru serta memulai perubahan saluran.

Tidak seperti otChannelManagerRequestChannelChange() yang mengharuskan saluran diberikan sebagai parameter, fungsi ini meminta ChannelManager untuk memilih saluran sendiri (berdasarkan info kualitas saluran yang dikumpulkan).

Setelah dipanggil, Pengelola Saluran akan melakukan 3 langkah berikut:

1) ChannelManager memutuskan apakah perubahan saluran akan berguna. Pemeriksaan ini dapat dilewati jika aSkipQualityCheck disetel ke benar (benar) diterapkan pada pemilihan saluran dan melewatkan pemeriksaan kualitas). Langkah ini menggunakan metrik kualitas link yang dikumpulkan di perangkat (seperti tingkat kegagalan CCA, rasio error pesan dan frame per tetangga, dll.) untuk menentukan apakah kualitas channel saat ini berada pada tingkat yang membenarkan perubahan saluran.

2) Jika langkah pertama berhasil, ChannelManager akan memilih saluran yang berpotensi lebih baik. Fitur ini menggunakan data kualitas saluran yang dikumpulkan oleh modul ChannelMonitor. Saluran yang didukung dan disukai digunakan dalam langkah ini. (lihat otChannelManagerSetSupportedChannels() dan otChannelManagerSetFavoredChannels()).

3) Jika channel yang baru dipilih berbeda dengan channel saat ini, ChannelManager akan meminta/memulai proses perubahan saluran (memanggil RequestChannelChange() secara internal).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSkipQualityCheck
Menunjukkan apakah pemeriksaan kualitas (langkah 1) harus dilewati.
Nilai yang Ditampilkan
OT_ERROR_NONE
Pilihan channel berhasil diselesaikan.
OT_ERROR_NOT_FOUND
Masker saluran yang didukung kosong, sehingga tidak dapat memilih saluran.

otChannelManagerSetAutoChannelSelectionEnabled

void otChannelManagerSetAutoChannelSelectionEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Mengaktifkan atau menonaktifkan fungsi pemilihan saluran otomatis.

Jika diaktifkan, ChannelManager akan memanggil RequestChannelSelect(false) secara berkala. Interval periode dapat disetel oleh SetAutoChannelSelectionInterval().

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aEnabled
Menunjukkan apakah akan mengaktifkan atau menonaktifkan fungsi ini.

OTChannelManagerSetAutoChannelSelectionInterval

otError otChannelManagerSetAutoChannelSelectionInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Menetapkan interval periode (dalam detik) yang digunakan oleh fungsi pemilihan saluran otomatis.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aInterval
Interval dalam detik.
Nilai yang Ditampilkan
OT_ERROR_NONE
Interval berhasil disetel.
OT_ERROR_INVALID_ARGS
aInterval tidak valid (nol).

otChannelManagerSetCcaFailureRateThreshold

void otChannelManagerSetCcaFailureRateThreshold(
  otInstance *aInstance,
  uint16_t aThreshold
)

Menetapkan batas tingkat kegagalan CCA.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aThreshold
Batas tingkat kegagalan CCA. Nilai 0 untuk 0% dan 0xffff untuk 100%.

otChannelManagerSetDelay

otError otChannelManagerSetDelay(
  otInstance *aInstance,
  uint16_t aDelay
)

Menetapkan penundaan (dalam detik) yang digunakan untuk perubahan saluran.

Penundaan sebaiknya lebih lama daripada interval polling data maksimum yang digunakan oleh semua perangkat yang mengantuk di dalam jaringan Thread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aDelay
Jeda dalam hitungan detik.
Nilai yang Ditampilkan
OT_ERROR_NONE
Penundaan berhasil diperbarui.
OT_ERROR_INVALID_ARGS
Penundaan yang diberikan aDelay terlalu singkat.

otChannelManagerSetFavoredChannel

void otChannelManagerSetFavoredChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Menetapkan mask channel favorit.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aChannelMask
Masker saluran.

otChannelManagerSetSupportedChannels

void otChannelManagerSetSupportedChannels(
  otInstance *aInstance,
  uint32_t aChannelMask
)

Menetapkan mask saluran yang didukung.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aChannelMask
Masker saluran.

Resource

Topik Referensi OpenThread API berasal dari kode sumber, yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.