Người quản lý kênh
Học phần này bao gồm các chức năng dành cho Trình quản lý kênh.
Tóm tắt
Các chức năng trong mô-đun này khả dụng khi bạn bật tính năng Trình quản lý kênh (OPENTHREAD_CONFIG_CHANNEL_MANAGER_ENABLE
). Trình quản lý kênh chỉ được cung cấp trên bản dựng FTD.
Hàm |
|
---|---|
otChannelManagerGetAutoChannelSelectionEnabled(otInstance *aInstance)
|
bool
Cho biết chức năng lựa chọn kênh tự động có được bật hay không.
|
otChannelManagerGetAutoChannelSelectionInterval(otInstance *aInstance)
|
uint32_t
Xem khoảng thời gian (tính bằng giây) mà chức năng lựa chọn kênh tự động sử dụng.
|
otChannelManagerGetCcaFailureRateThreshold(otInstance *aInstance)
|
uint16_t
Xem ngưỡng tỷ lệ lỗi CCA.
|
otChannelManagerGetDelay(otInstance *aInstance)
|
uint16_t
Xem độ trễ (tính bằng giây) mà Trình quản lý kênh sử dụng để thay đổi kênh.
|
otChannelManagerGetFavoredChannels(otInstance *aInstance)
|
uint32_t
Nhận mặt nạ kênh được ưa thích.
|
otChannelManagerGetRequestedChannel(otInstance *aInstance)
|
uint8_t
Nhận kênh từ cuộc gọi thành công cuối cùng đến
otChannelManagerRequestChannelChange() |
otChannelManagerGetSupportedChannels(otInstance *aInstance)
|
uint32_t
Nhận mặt nạ kênh được hỗ trợ.
|
otChannelManagerRequestChannelChange(otInstance *aInstance, uint8_t aChannel)
|
void
Yêu cầu thay đổi kênh mạng chuỗi.
|
otChannelManagerRequestChannelSelect(otInstance *aInstance, bool aSkipQualityCheck)
|
Yêu cầu
ChannelManager kiểm tra và chọn kênh mới và bắt đầu thay đổi kênh. |
otChannelManagerSetAutoChannelSelectionEnabled(otInstance *aInstance, bool aEnabled)
|
void
Bật hoặc tắt chức năng lựa chọn kênh tự động.
|
otChannelManagerSetAutoChannelSelectionInterval(otInstance *aInstance, uint32_t aInterval)
|
Đặt khoảng thời gian (tính bằng giây) mà chức năng lựa chọn kênh tự động sử dụng.
|
otChannelManagerSetCcaFailureRateThreshold(otInstance *aInstance, uint16_t aThreshold)
|
void
Đặt ngưỡng tỷ lệ lỗi CCA.
|
otChannelManagerSetDelay(otInstance *aInstance, uint16_t aDelay)
|
Đặt độ trễ (tính bằng giây) dùng để thay đổi kênh.
|
otChannelManagerSetFavoredChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Đặt mặt nạ kênh ưa thích.
|
otChannelManagerSetSupportedChannels(otInstance *aInstance, uint32_t aChannelMask)
|
void
Đặt mặt nạ kênh được hỗ trợ.
|
Hàm
Đã bật otChannelManagerGetAutoChannelSelection
bool otChannelManagerGetAutoChannelSelectionEnabled( otInstance *aInstance )
Cho biết chức năng lựa chọn kênh tự động có được bật hay không.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
TRUE nếu được bật, FALSE nếu bị tắt.
|
otChannelManagerGetAutoChannelSelectionInterval
uint32_t otChannelManagerGetAutoChannelSelectionInterval( otInstance *aInstance )
Xem khoảng thời gian (tính bằng giây) mà chức năng lựa chọn kênh tự động sử dụng.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Khoảng thời gian tính bằng giây.
|
otChannelManagerGetCcaFailureRateThreshold
uint16_t otChannelManagerGetCcaFailureRateThreshold( otInstance *aInstance )
Xem ngưỡng tỷ lệ lỗi CCA.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Ngưỡng tỷ lệ lỗi CCA. Giá trị 0 ánh xạ đến 0% và 0xffff ánh xạ đến 100%.
|
otChannelManagerGetDelay
uint16_t otChannelManagerGetDelay( otInstance *aInstance )
Xem độ trễ (tính bằng giây) mà Trình quản lý kênh sử dụng để thay đổi kênh.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Độ trễ (tính bằng giây) để thay đổi kênh.
|
otChannelManagerGetFavoredChannels
uint32_t otChannelManagerGetFavoredChannels( otInstance *aInstance )
Nhận mặt nạ kênh được ưa thích.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Các kênh được yêu thích như một mặt nạ bit.
|
otChannelManagerGetRequestChannel
uint8_t otChannelManagerGetRequestedChannel( otInstance *aInstance )
Nhận kênh từ cuộc gọi thành công cuối cùng đến otChannelManagerRequestChannelChange()
Thông tin chi tiết | |
---|---|
Trả về |
Kênh được yêu cầu gần đây nhất hoặc số 0 nếu chưa có yêu cầu thay đổi kênh.
|
otChannelManagerGetSupportedChannels
uint32_t otChannelManagerGetSupportedChannels( otInstance *aInstance )
Nhận mặt nạ kênh được hỗ trợ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Các kênh được hỗ trợ như một mặt nạ bit.
|
Thay đổi kênh yêu cầu quản lý kênh
void otChannelManagerRequestChannelChange( otInstance *aInstance, uint8_t aChannel )
Yêu cầu thay đổi kênh mạng chuỗi.
Mạng chuyển sang kênh nhất định sau độ trễ đã chỉ định (xem otChannelManagerSetDelay()). Thay đổi kênh được thực hiện bằng cách cập nhật Tập dữ liệu hoạt động đang chờ xử lý.
Cuộc gọi tiếp theo sẽ hủy thay đổi kênh đã được yêu cầu trước đó.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otChannelManagerRequestChannelSelect
otError otChannelManagerRequestChannelSelect( otInstance *aInstance, bool aSkipQualityCheck )
Yêu cầu ChannelManager
kiểm tra và chọn kênh mới và bắt đầu thay đổi kênh.
Không giống như otChannelManagerRequestChannelChange()
, trong đó kênh phải được cung cấp dưới dạng tham số, hàm này sẽ yêu cầu ChannelManager
tự chọn một kênh (dựa trên thông tin chất lượng thu thập được trên kênh).
Sau khi được gọi, Người quản lý kênh sẽ thực hiện 3 bước sau:
1) ChannelManager
quyết định xem thay đổi kênh có hữu ích hay không. Bạn có thể bỏ qua bước kiểm tra này nếu đặt chính sách aSkipQualityCheck
thành true (buộc kênh phải được chọn và bỏ qua bước kiểm tra chất lượng). Bước này sử dụng các chỉ số chất lượng liên kết đã thu thập trên thiết bị (chẳng hạn như tỷ lệ lỗi CCA, tỷ lệ lỗi khung và lỗi tin nhắn trên mỗi người hàng xóm, v.v.) để xác định xem chất lượng kênh hiện tại có đạt yêu cầu đối với thay đổi kênh hay không.
2) Nếu bước đầu tiên thành công, thì ChannelManager
sẽ chọn một kênh có thể phù hợp hơn. Báo cáo này sử dụng dữ liệu chất lượng kênh đã thu thập theo mô-đun ChannelMonitor
. Các kênh được hỗ trợ và yêu thích được sử dụng ở bước này. (xem otChannelManagerSetSupportedChannels() và otChannelManagerSetFavoredChannels()).
3) Nếu kênh mới chọn khác với kênh hiện tại, ChannelManager
sẽ yêu cầu/bắt đầu quy trình thay đổi kênh (gọi nội bộ là RequestChannelChange()
).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
Đã bật otChannelManagerSetAutoChannelSelection
void otChannelManagerSetAutoChannelSelectionEnabled( otInstance *aInstance, bool aEnabled )
Bật hoặc tắt chức năng lựa chọn kênh tự động.
Khi được bật, ChannelManager
sẽ định kỳ gọi một RequestChannelSelect(false)
. SetAutoChannelSelectionInterval()
có thể đặt khoảng thời gian.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otChannelManagerSetAutoChannelSelectionInterval
otError otChannelManagerSetAutoChannelSelectionInterval( otInstance *aInstance, uint32_t aInterval )
Đặt khoảng thời gian (tính bằng giây) mà chức năng lựa chọn kênh tự động sử dụng.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otChannelManagerSetCcaFailureRateThreshold
void otChannelManagerSetCcaFailureRateThreshold( otInstance *aInstance, uint16_t aThreshold )
Đặt ngưỡng tỷ lệ lỗi CCA.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otChannelManagerSetDelay
otError otChannelManagerSetDelay( otInstance *aInstance, uint16_t aDelay )
Đặt độ trễ (tính bằng giây) dùng để thay đổi kênh.
Tốt nhất là độ trễ này phải dài hơn khoảng thời gian thăm dò dữ liệu tối đa mà tất cả thiết bị end-end trong mạng Thread đã sử dụng.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otChannelManagerSetFavoredChannels
void otChannelManagerSetFavoredChannels( otInstance *aInstance, uint32_t aChannelMask )
Đặt mặt nạ kênh ưa thích.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otChannelManagerSetSupportedChannels
void otChannelManagerSetSupportedChannels( otInstance *aInstance, uint32_t aChannelMask )
Đặt mặt nạ kênh được hỗ trợ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
Tài nguyên
Các chủ đề Tham chiếu API OpenThread bắt nguồn từ mã nguồn, có sẵn trên GitHub. Để biết thêm thông tin hoặc đóng góp cho tài liệu của chúng tôi, hãy tham khảo phần Tài nguyên.