Vận hành vô tuyến

Mô-đun này bao gồm nội dung tóm tắt nền tảng cho hoạt động radio.

Tóm tắt

Hàm

otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Trình điều khiển radio gọi phương thức này để thông báo cho mô-đun chẩn đoán OpenThread về khung đã nhận.
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Trình điều khiển radio gọi phương thức này để thông báo cho mô-đun chẩn đoán OpenThread rằng quá trình truyền đã hoàn tất.
otPlatRadioAddCalibratedPower(otInstance *aInstance, uint8_t aChannel, int16_t aActualPower, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength)
Thêm công suất đã hiệu chỉnh của kênh đã chỉ định vào bảng hiệu chỉnh nguồn.
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Thêm địa chỉ mở rộng vào bảng so khớp địa chỉ nguồn.
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Thêm địa chỉ ngắn vào bảng so khớp địa chỉ nguồn.
otPlatRadioClearCalibratedPowers(otInstance *aInstance)
Xoá tất cả công suất đã hiệu chỉnh khỏi bảng hiệu chỉnh nguồn điện.
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
void
Xoá tất cả địa chỉ mở rộng/dài khỏi bảng so khớp địa chỉ nguồn.
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Xoá địa chỉ mở rộng khỏi bảng so khớp địa chỉ nguồn.
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
void
Xoá tất cả địa chỉ ngắn khỏi bảng so khớp địa chỉ nguồn.
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Xoá địa chỉ ngắn khỏi bảng so khớp địa chỉ nguồn.
otPlatRadioConfigureEnhAckProbing(otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
Bật/tắt hoặc cập nhật dịch vụ Thăm dò dựa trên ACK nâng cao trong radio cho một Trình khởi tạo cụ thể.
otPlatRadioDisable(otInstance *aInstance)
Tắt đài.
otPlatRadioEnable(otInstance *aInstance)
Bật đài.
otPlatRadioEnableCsl(otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
Bật hoặc tắt bộ thu CSL.
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
void
Bật/tắt tính năng so khớp địa chỉ nguồn.
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Bắt đầu trình tự quét năng lượng trên đài.
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
Trình điều khiển radio gọi phương thức này để thông báo cho OpenThread rằng quá trình quét năng lượng đã hoàn tất.
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Xem chỉ số sự cùng tồn tại qua đài.
otPlatRadioGetCslAccuracy(otInstance *aInstance)
uint8_t
Nhận độ chính xác ước tính trong trường hợp xấu nhất hiện tại (tối đa ± độ lệch so với tần số danh định) của đồng hồ vô tuyến cục bộ theo đơn vị PPM.
otPlatRadioGetCslUncertainty(otInstance *aInstance)
uint8_t
Mức độ không chắc chắn cố định (ví dụ:
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
uint32_t
Lấy mặt nạ kênh ưu tiên đài phát thanh mà thiết bị muốn tạo trên đó.
otPlatRadioGetRawPowerSetting(otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
Tải chế độ cài đặt nguồn thô cho kênh cụ thể.
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
Lấy mã vùng.
otPlatRadioGetRssi(otInstance *aInstance)
int8_t
Nhận kết quả đo lường RSSI mới nhất.
otPlatRadioGetState(otInstance *aInstance)
Nhận thông tin về trạng thái hiện tại của đài.
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
uint32_t
Nhận mặt nạ kênh hỗ trợ đài phát thanh mà thiết bị được phép bật.
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
Lấy vùng đệm khung truyền sóng vô tuyến.
otPlatRadioIsCoexEnabled(otInstance *aInstance)
bool
Kiểm tra xem Radio coex có được bật hay không.
otPlatRadioIsEnabled(otInstance *aInstance)
bool
Kiểm tra xem đài đã bật hay chưa.
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
Chuyển đổi đài phát từ chế độ Ngủ sang chế độ Nhận (bật đài).
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
Lên lịch cho cửa sổ thu phát sóng vô tuyến vào một thời điểm và thời lượng cụ thể.
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Trình điều khiển radio gọi phương thức này để thông báo cho OpenThread về khung đã nhận.
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
Đặt công suất truyền tối đa cho một kênh cụ thể.
otPlatRadioSetChannelTargetPower(otInstance *aInstance, uint8_t aChannel, int16_t aTargetPower)
Thiết lập công suất mục tiêu cho kênh cụ thể.
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
Bật radio coex.
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
Đặt mã vùng.
otPlatRadioSleep(otInstance *aInstance)
Chuyển đài từ chế độ Nhận sang chế độ Ngủ (tắt đài).
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
Bắt đầu trình tự truyền trên đài.
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
Trình điều khiển vô tuyến gọi hàm này để thông báo cho OpenThread rằng hoạt động truyền đã hoàn tất, cung cấp cả khung được truyền và khung xác nhận đã nhận (nếu có).
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
void
Trình điều khiển vô tuyến gọi phương thức này để thông báo cho OpenThread rằng quá trình truyền đã bắt đầu.
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
void
Cập nhật thời gian lấy mẫu CSL trong trình điều khiển vô tuyến.

Hàm

otPlatDiagRadioReceiveDone

void otPlatDiagRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Trình điều khiển radio gọi phương thức này để thông báo cho mô-đun chẩn đoán OpenThread về khung đã nhận.

Được dùng khi chế độ chẩn đoán đang bật.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aFrame
Con trỏ đến khung đã nhận hoặc NULL nếu thao tác nhận không thành công.
[in] aError
OT_ERROR_NONE khi nhận một khung thành công, OT_ERROR_ABORT khi thu nhận bị huỷ và không nhận được khung, OT_ERROR_NO_BUFS khi không thể nhận khung hình do thiếu dung lượng bộ đệm rx.

otPlatDiagRadioTransmitDone

void otPlatDiagRadioTransmitDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Trình điều khiển radio gọi phương thức này để thông báo cho mô-đun chẩn đoán OpenThread rằng quá trình truyền đã hoàn tất.

Được dùng khi chế độ chẩn đoán đang bật.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aFrame
Con trỏ đến khung đã được truyền.
[in] aError
OT_ERROR_NONE khi khung được truyền, OT_ERROR_CHANNEL_ACCESS_FAILURE tx không thể diễn ra do có hoạt động trên kênh, OT_ERROR_ABORT khi quá trình truyền bị hủy vì lý do khác.

otPlatRadioAddCalibratedPower

otError otPlatRadioAddCalibratedPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t aActualPower,
  const uint8_t *aRawPowerSetting,
  uint16_t aRawPowerSettingLength
)

Thêm công suất đã hiệu chỉnh của kênh đã chỉ định vào bảng hiệu chỉnh nguồn.

aActualPower là công suất đầu ra được đo lường thực tế khi tham số của mô-đun phần cứng radio được đặt thành aRawPowerSetting.

Chế độ cài đặt nguồn thô là một mảng byte mờ. OpenThread không xác định định dạng của chế độ cài đặt nguồn thô. Định dạng này liên quan đến phần cứng vô tuyến và phải được các nhà phát triển xác định trong trình điều khiển vô tuyến của nền tảng. Ví dụ: nếu phần cứng vô tuyến chứa cả chip vô tuyến và chip FEM, thì chế độ cài đặt công suất thô có thể là kết hợp giữa thanh ghi công suất vô tuyến và giá trị độ lợi FEM.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aChannel
Kênh phát thanh.
[in] aActualPower
Công suất thực tế tính bằng 0,01dBm.
[in] aRawPowerSetting
Con trỏ đến mảng byte cài đặt nguồn thô.
[in] aRawPowerSettingLength
Độ dài của aRawPowerSetting.
Giá trị trả về
OT_ERROR_NONE
Đã thêm xong nguồn điện đã hiệu chỉnh vào bảng hiệu chỉnh nguồn.
OT_ERROR_NO_BUFS
Không có mục nào trong bảng hiệu chỉnh nguồn điện.
OT_ERROR_INVALID_ARGS
aChannel, aActualPower hoặc aRawPowerSetting không hợp lệ hoặc aActualPower đã tồn tại trong bảng hiệu chỉnh nguồn điện.
OT_ERROR_NOT_IMPLEMENTED
Tính năng này không được triển khai.

otPlatRadioAddSrcMatchExtEntry

otError otPlatRadioAddSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Thêm địa chỉ mở rộng vào bảng so khớp địa chỉ nguồn.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aExtAddress
Địa chỉ mở rộng sẽ được thêm vào theo thứ tự byte nhỏ.
Giá trị trả về
OT_ERROR_NONE
Đã thêm thành công địa chỉ mở rộng vào bảng so khớp nguồn.
OT_ERROR_NO_BUFS
Không có mục nào trong bảng so khớp nguồn.

otPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Thêm địa chỉ ngắn vào bảng so khớp địa chỉ nguồn.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aShortAddress
Địa chỉ ngắn sẽ được thêm.
Giá trị trả về
OT_ERROR_NONE
Đã thêm thành công địa chỉ ngắn vào bảng so khớp nguồn.
OT_ERROR_NO_BUFS
Không có mục nào trong bảng so khớp nguồn.

otPlatRadioClearCalibratedPowers

otError otPlatRadioClearCalibratedPowers(
  otInstance *aInstance
)

Xoá tất cả công suất đã hiệu chỉnh khỏi bảng hiệu chỉnh nguồn điện.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Giá trị trả về
OT_ERROR_NONE
Đã xoá xong tất cả công suất đã hiệu chỉnh khỏi bảng hiệu chỉnh nguồn điện.
OT_ERROR_NOT_IMPLEMENTED
Tính năng này không được triển khai.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Xoá tất cả địa chỉ mở rộng/dài khỏi bảng so khớp địa chỉ nguồn.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.

otPlatRadioClearSrcMatchExtEntry

otError otPlatRadioClearSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Xoá địa chỉ mở rộng khỏi bảng so khớp địa chỉ nguồn.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aExtAddress
Địa chỉ mở rộng cần được xoá được lưu trữ theo thứ tự byte nhỏ.
Giá trị trả về
OT_ERROR_NONE
Đã xoá thành công địa chỉ mở rộng khỏi bảng so khớp nguồn.
OT_ERROR_NO_ADDRESS
Địa chỉ mở rộng không có trong bảng so khớp địa chỉ nguồn.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Xoá tất cả địa chỉ ngắn khỏi bảng so khớp địa chỉ nguồn.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Xoá địa chỉ ngắn khỏi bảng so khớp địa chỉ nguồn.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aShortAddress
Địa chỉ ngắn cần xoá.
Giá trị trả về
OT_ERROR_NONE
Đã xoá thành công địa chỉ ngắn khỏi bảng so khớp nguồn.
OT_ERROR_NO_ADDRESS
Địa chỉ rút gọn không có trong bảng so khớp địa chỉ nguồn.

otPlatRadioConfigureEnhAckProbing

otError otPlatRadioConfigureEnhAckProbing(
  otInstance *aInstance,
  otLinkMetrics aLinkMetrics,
  otShortAddress aShortAddress,
  const otExtAddress *aExtAddress
)

Bật/tắt hoặc cập nhật dịch vụ Thăm dò dựa trên ACK nâng cao trong radio cho một Trình khởi tạo cụ thể.

Sau khi tính năng Tìm kiếm dựa trên ACK nâng cao được định cấu hình bởi một Trình khởi tạo thăm dò cụ thể, ACK nâng cao được gửi đến nút đó phải bao gồm IE do nhà cung cấp cụ thể chứa dữ liệu Chỉ số liên kết. Phương thức này thông báo cho đài bắt đầu/dừng để thu thập dữ liệu Chỉ số liên kết và bao gồm IE của nhà cung cấp cụ thể có chứa dữ liệu trong ACK nâng cao được gửi đến Người khởi tạo thăm dò đó.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aLinkMetrics
Tham số này chỉ định những chỉ số cần truy vấn. Theo thông số kỹ thuật 4.11.3.4.4.6, có thể chỉ định tối đa 2 chỉ số. Tính năng thăm dò sẽ bị tắt nếu aLinkMetrics có giá trị bitwise 0.
[in] aShortAddress
Địa chỉ ngắn của Bên khởi tạo thăm dò.
[in] aExtAddress
Địa chỉ nguồn mở rộng của Bộ khởi tạo thăm dò. aExtAddr KHÔNG ĐƯỢC là NULL.
Giá trị trả về
OT_ERROR_NONE
Đã định cấu hình thành công dịch vụ Thăm dò dựa trên ACK nâng cao.
OT_ERROR_INVALID_ARGS
aExtAddressNULL.
OT_ERROR_NOT_FOUND
Không tìm thấy Trình khởi tạo được chỉ định bởi aShortAddress khi cố gắng xoá.
OT_ERROR_NO_BUFS
Không thể hỗ trợ Trình khởi tạo nữa.
OT_ERROR_NOT_IMPLEMENTED
Tính năng này chưa được triển khai.

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

Tắt đài.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Giá trị trả về
OT_ERROR_NONE
Đã chuyển thành công sang trạng thái Đã tắt.
OT_ERROR_INVALID_STATE
Đài không ở trạng thái ngủ.

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Bật đài.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Giá trị trả về
OT_ERROR_NONE
Đã bật thành công.
OT_ERROR_FAILED
Không thể bật đài.

otPlatRadioEnableCsl

otError otPlatRadioEnableCsl(
  otInstance *aInstance,
  uint32_t aCslPeriod,
  otShortAddress aShortAddr,
  const otExtAddress *aExtAddr
)

Bật hoặc tắt bộ thu CSL.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aCslPeriod
Giai đoạn CSL, 0 để tắt CSL. Dấu chấm CSL được tính theo đơn vị là 10 ký hiệu.
[in] aShortAddr
Địa chỉ nguồn ngắn của thiết bị ngang hàng của bộ nhận CSL.
[in] aExtAddr
Địa chỉ nguồn mở rộng của ứng dụng ngang hàng của bộ nhận CSL.
Giá trị trả về
kErrorNotImplemented
Trình điều khiển vô tuyến không hỗ trợ CSL.
kErrorFailed
Các lỗi khác theo nền tảng cụ thể.
kErrorNone
Đã bật hoặc tắt thành công CSL.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

Bật/tắt tính năng so khớp địa chỉ nguồn.

Tính năng so khớp địa chỉ nguồn kiểm soát cách lớp vô tuyến quyết định bit "khung hình đang chờ xử lý" cho các ack được gửi để phản hồi lệnh yêu cầu dữ liệu từ thành phần con.

Nếu tắt tính năng này, lớp radio phải đặt "khung đang chờ xử lý" trên tất cả các ack thành lệnh yêu cầu dữ liệu.

Nếu được bật, lớp radio sẽ sử dụng bảng so khớp địa chỉ nguồn để xác định xem cần thiết lập hay xoá bit "khung hình đang chờ xử lý" trong ack đối với lệnh yêu cầu dữ liệu.

Bảng so khớp địa chỉ nguồn cung cấp danh sách các tệp con có khung đang chờ xử lý. Bạn có thể thêm địa chỉ ngắn hoặc địa chỉ mở rộng/dài vào bảng so khớp địa chỉ nguồn.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aEnable
Bật/tắt tính năng so khớp địa chỉ nguồn.

otPlatRadioEnergyScan

otError otPlatRadioEnergyScan(
  otInstance *aInstance,
  uint8_t aScanChannel,
  uint16_t aScanDuration
)

Bắt đầu trình tự quét năng lượng trên đài.

Được dùng khi đài cung cấp chức năng OT_ tốt sau đây

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aScanChannel
Kênh sẽ quét năng lượng.
[in] aScanDuration
Thời lượng (tính bằng mili giây) để quét kênh.
Giá trị trả về
OT_ERROR_NONE
Bắt đầu quét kênh thành công.
OT_ERROR_BUSY
Đài đang thực hiện quét năng lượng.
OT_ERROR_NOT_IMPLEMENTED
Đài không hỗ trợ quét năng lượng.

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

Trình điều khiển radio gọi phương thức này để thông báo cho OpenThread rằng quá trình quét năng lượng đã hoàn tất.

Được dùng khi đài cung cấp chức năng OT_ tốt sau đây

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aEnergyScanMaxRssi
RSSI tối đa đạt được trên kênh được quét.

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Xem chỉ số sự cùng tồn tại qua đài.

Được sử dụng khi tính năng MỞ CHUỘT_CONFIG_PLATFORM_HIỆN_COEX_ENABLE đang bật.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[out] aCoexMetrics
Con trỏ đến cấu trúc chỉ số cùng tồn tại.
Giá trị trả về
OT_ERROR_NONE
Đã truy xuất thành công các chỉ số coex.
OT_ERROR_INVALID_ARGS
aCoexMetrics là NULL.

otPlatRadioGetCslAccuracy

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

Nhận độ chính xác ước tính trong trường hợp xấu nhất hiện tại (tối đa ± độ lệch so với tần số danh định) của đồng hồ vô tuyến cục bộ theo đơn vị PPM.

Đây là đồng hồ dùng để lên lịch các hoạt động CSL.

Trong trường hợp phương thức triển khai không ước tính giá trị hiện tại nhưng trả về một giá trị cố định, giá trị này PHẢI là độ chính xác trong trường hợp xấu nhất trên tất cả các điều kiện hoạt động dự kiến có thể có (nhiệt độ, áp suất, v.v.) của phương thức triển khai.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Trả về
Sự chậm trễ về lập lịch rx/tx hiện tại của CSL, trong PPM.

otPlatRadioGetCslUncertainty

uint8_t otPlatRadioGetCslUncertainty(
  otInstance *aInstance
)

Mức độ không chắc chắn cố định (ví dụ:

dao động ngẫu nhiên) của thời gian đến của quá trình truyền CSL mà thiết bị này nhận được, tính bằng đơn vị 10 micrô giây.

Hàm này chỉ định độ lệch dương hoặc âm trong trường hợp xấu nhất của thời gian đến thực tế của quá trình truyền so với thời gian truyền được tính tương ứng với đồng hồ vô tuyến cục bộ không phụ thuộc vào thời gian đã trôi qua. Ngoài độ không chắc chắn được tích luỹ qua thời gian đã trôi qua, mẫu kênh CSL ("cửa sổ RX") phải được kéo dài gấp đôi độ lệch này để đảm bảo bộ thu cục bộ phát hiện được quá trình truyền thực tế khi có dao động thời gian đến ngẫu nhiên.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Trả về
Mức độ không chắc chắn của CSL theo đơn vị 10 chúng ta.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Lấy mặt nạ kênh ưu tiên đài phát thanh mà thiết bị muốn tạo trên đó.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Trả về
Mặt nạ kênh ưu tiên đài.

otPlatRadioGetRawPowerSetting

otError otPlatRadioGetRawPowerSetting(
  otInstance *aInstance,
  uint8_t aChannel,
  uint8_t *aRawPowerSetting,
  uint16_t *aRawPowerSettingLength
)

Tải chế độ cài đặt nguồn thô cho kênh cụ thể.

Lớp radio của nền tảng phải phân tích cú pháp cài đặt năng lượng thô dựa trên định dạng do lớp radio xác định và đặt thông số cho mỗi mô-đun phần cứng vô tuyến.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aChannel
Kênh phát thanh.
[out] aRawPowerSetting
Con trỏ đến mảng byte cài đặt nguồn thô.
[in,out] aRawPowerSettingLength
Khi nhập, một con trỏ tới kích thước aRawPowerSetting. Trên dữ liệu đầu ra, con trỏ đến độ dài của dữ liệu cài đặt nguồn thô.
Giá trị trả về
OT_ERROR_NONE
Đã nhận được năng lượng mục tiêu.
OT_ERROR_INVALID_ARGS
aChannel không hợp lệ, aRawPowerSetting hoặc aRawPowerSettingLength là NULL hoặc quá ngắn.
OT_ERROR_NOT_FOUND
Không tìm thấy chế độ cài đặt nguồn thô cho aChannel.

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

Lấy mã vùng.

Định dạng vùng radio là đại diện ascii 2 byte của mã ISO 3166 alpha-2.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[out] aRegionCode
Khu vực phát thanh.
Giá trị trả về
OT_ERROR_INVALID_ARGS
aRegionCode là nullptr.
OT_ERROR_FAILED
Các lỗi khác theo nền tảng cụ thể.
OT_ERROR_NONE
Đã nhận được mã vùng.
OT_ERROR_NOT_IMPLEMENTED
Tính năng này chưa được triển khai.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Nhận kết quả đo lường RSSI mới nhất.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Trả về
RSSI tính bằng dBm khi giá trị này hợp lệ. 127 khi RSSI không hợp lệ.

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Nhận thông tin về trạng thái hiện tại của đài.

OpenThread không yêu cầu. Dữ liệu này có thể được dùng để gỡ lỗi và/hoặc cho các mục đích dành riêng cho ứng dụng.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Trả về
Tình trạng hiện tại của đài phát thanh.

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Nhận mặt nạ kênh hỗ trợ đài phát thanh mà thiết bị được phép bật.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Trả về
Mặt nạ kênh hỗ trợ đài.

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Lấy vùng đệm khung truyền sóng vô tuyến.

OpenThread tạo thành khung IEEE 802.15.4 trong vùng đệm này rồi gọi otPlatRadioTransmit() để yêu cầu truyền.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Trả về
Con trỏ đến vùng đệm khung truyền.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Kiểm tra xem Radio coex có được bật hay không.

Được sử dụng khi tính năng MỞ CHUỘT_CONFIG_PLATFORM_HIỆN_COEX_ENABLE đang bật.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Trả về
TRUE nếu coex vô tuyến được bật, nếu không thì là FALSE.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Kiểm tra xem đài đã bật hay chưa.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Trả về
TRUE nếu đài được bật, nếu không thì là FALSE.

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Chuyển đổi đài phát từ chế độ Ngủ sang chế độ Nhận (bật đài).

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aChannel
Kênh dùng để nhận.
Giá trị trả về
OT_ERROR_NONE
Đã chuyển thành công sang chế độ Nhận.
OT_ERROR_INVALID_STATE
Đài đã bị tắt hoặc đang truyền đi.

otPlatRadioReceiveAt

otError otPlatRadioReceiveAt(
  otInstance *aInstance,
  uint8_t aChannel,
  uint32_t aStart,
  uint32_t aDuration
)

Lên lịch cho cửa sổ thu phát sóng vô tuyến vào một thời điểm và thời lượng cụ thể.

Thông tin chi tiết
Các tham số
[in] aChannel
Kênh phát thanh mà bạn sẽ nhận được.
[in] aStart
Thời gian bắt đầu cửa sổ nhận so với đồng hồ radio cục bộ, hãy xem otPlatRadioGetNow. Bộ thu sóng vô tuyến SẼ được bật và sẵn sàng nhận biểu tượng đầu tiên của SHR của khung tại thời điểm bắt đầu cửa sổ.
[in] aDuration
Thời lượng của cửa sổ nhận, tính bằng micrô giây, được đo bằng đồng hồ vô tuyến cục bộ. Phải tắt đài (hoặc chuyển sang chế độ TX nếu cần gửi khung ACK) sau khoảng thời gian đó trừ khi thiết bị vẫn đang nhận khung hình. Trong trường hợp thứ hai, đài sẽ được giữ ở chế độ thu cho đến khi thu nhận được khung hình thành công hoặc không thành công.
Giá trị trả về
OT_ERROR_NONE
Đã lên lịch thành công khung thời gian nhận.
OT_ERROR_FAILED
Không thể lên lịch thời lượng nhận.

otPlatRadioReceiveDone

void otPlatRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Trình điều khiển radio gọi phương thức này để thông báo cho OpenThread về khung đã nhận.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aFrame
Con trỏ đến khung đã nhận hoặc NULL nếu thao tác nhận không thành công.
[in] aError
OT_ERROR_NONE khi nhận một khung thành công, OT_ERROR_ABORT khi thu nhận bị huỷ và không nhận được khung, OT_ERROR_NO_BUFS khi không thể nhận khung hình do thiếu dung lượng bộ đệm rx.

otPlatRadioSetChannelMaxTransmitPower

otError otPlatRadioSetChannelMaxTransmitPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int8_t aMaxPower
)

Đặt công suất truyền tối đa cho một kênh cụ thể.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aChannel
Kênh phát thanh.
[in] aMaxPower
Công suất tối đa tính bằng dBm, việc truyền OT_Radio_RSSI_INVALID sẽ tắt kênh này.
Giá trị trả về
OT_ERROR_NOT_IMPLEMENTED
Tính năng này không được triển khai
OT_ERROR_INVALID_ARGS
Kênh được chỉ định không hợp lệ.
OT_ERROR_FAILED
Các lỗi khác theo nền tảng cụ thể.
OT_ERROR_NONE
Đã đặt thành công công suất truyền tối đa.

otPlatRadioSetChannelTargetPower

otError otPlatRadioSetChannelTargetPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t aTargetPower
)

Thiết lập công suất mục tiêu cho kênh cụ thể.

Trình điều khiển vô tuyến phải đặt công suất đầu ra thực tế nhỏ hơn hoặc bằng công suất mục tiêu và càng gần công suất mục tiêu càng tốt.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aChannel
Kênh phát thanh.
[in] aTargetPower
Công suất mục tiêu 0,01dBm. Việc truyền INT16_MAX sẽ vô hiệu hoá kênh này để sử dụng nguồn mục tiêu.
Giá trị trả về
OT_ERROR_NONE
Đã đặt thành công công suất mục tiêu.
OT_ERROR_INVALID_ARGS
aChannel hoặc aTargetPower không hợp lệ.
OT_ERROR_NOT_IMPLEMENTED
Tính năng này chưa được triển khai.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bật radio coex.

Được sử dụng khi tính năng MỞ CHUỘT_CONFIG_PLATFORM_HIỆN_COEX_ENABLE đang bật.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aEnabled
TRUE để bật số coex radio, nếu không thì là FALSE.
Giá trị trả về
OT_ERROR_NONE
Đã bật thành công.
OT_ERROR_FAILED
Không thể bật radio coex.

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

Đặt mã vùng.

Định dạng vùng radio là đại diện ascii 2 byte của mã ISO 3166 alpha-2.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aRegionCode
Mã vùng của đài phát thanh. aRegionCode >> 8 là ký tự ascii đầu tiên và aRegionCode & 0xff là ký tự ascii thứ hai.
Giá trị trả về
OT_ERROR_FAILED
Các lỗi khác theo nền tảng cụ thể.
OT_ERROR_NONE
Đã đặt thành công mã vùng.
OT_ERROR_NOT_IMPLEMENTED
Tính năng này chưa được triển khai.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Chuyển đài từ chế độ Nhận sang chế độ Ngủ (tắt đài).

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
Giá trị trả về
OT_ERROR_NONE
Đã chuyển đổi thành công sang chế độ Ngủ.
OT_ERROR_BUSY
Đài đang truyền đi.
OT_ERROR_INVALID_STATE
Đài đã bị tắt.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Bắt đầu trình tự truyền trên đài.

Phương thức gọi phải tạo khung IEEE 802.15.4 trong vùng đệm do otPlatRadioGetTransmitBuffer() cung cấp trước khi yêu cầu truyền. Kênh và công suất truyền cũng có trong cấu trúc otRadioFrame.

Trình tự truyền bao gồm:

  1. Chuyển hệ thống vô tuyến sang Truyền từ một trong các trạng thái sau:
    • Nhận nếu RX bật khi thiết bị ở trạng thái rảnh hoặc không hỗ trợ chế độ OT_Radio_CAPS_SLEEP_TO_TX
    • Chuyển sang chế độ ngủ nếu RX tắt khi thiết bị ở trạng thái rảnh và hỗ trợ chế độ OT_Radio_CAPS_SLEEP_TO_TX.
  2. Truyền psdu trên kênh đã cho và ở công suất truyền đã cho.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aFrame
Con trỏ đến khung sẽ được truyền.
Giá trị trả về
OT_ERROR_NONE
Đã chuyển đổi thành công sang Bên truyền.
OT_ERROR_INVALID_STATE
Đài không ở trạng thái Đang nhận.

otPlatRadioTxDone

void otPlatRadioTxDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otRadioFrame *aAckFrame,
  otError aError
)

Trình điều khiển vô tuyến gọi hàm này để thông báo cho OpenThread rằng hoạt động truyền đã hoàn tất, cung cấp cả khung được truyền và khung xác nhận đã nhận (nếu có).

Khi đài cung cấp chức năng OT_RADIO_CAPS_TRANSMIT_SEC, lớp nền tảng vô tuyến sẽ cập nhật aFrame bằng bộ đếm khung bảo mật và các giá trị chỉ mục chính do đài duy trì.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aFrame
Con trỏ đến khung đã được truyền.
[in] aAckFrame
Con trỏ đến khung ACK, giá trị NULL nếu không nhận được ACK nào.
[in] aError
OT_ERROR_NONE khi khung được truyền, OT_ERROR_NO_ACK khi khung được truyền nhưng không nhận được ACK, OT_ERROR_CHANNEL_ACCESS_FAILURE tx không thể diễn ra do hoạt động trên kênh, OT_ERROR_ABORT khi quá trình truyền bị hủy vì lý do khác.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Trình điều khiển vô tuyến gọi phương thức này để thông báo cho OpenThread rằng quá trình truyền đã bắt đầu.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ đến cấu trúc thực thể OpenThread.
[in] aFrame
Con trỏ đến khung đang được truyền.

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

Cập nhật thời gian lấy mẫu CSL trong trình điều khiển vô tuyến.

Thời gian mẫu được lưu trữ trong trình điều khiển vô tuyến dưới dạng bản sao để tính toán giai đoạn khi gửi ACK bằng CSL IE. Mẫu CSL (cửa sổ) của bộ thu CSL kéo dài trước và sau thời gian lấy mẫu. Thời gian lấy mẫu CSL đánh dấu một dấu thời gian trong cửa sổ lấy mẫu CSL khi khung hình cần được nhận trong "điều kiện lý tưởng" nếu không có sự không chính xác/trôi theo đồng hồ.

Thông tin chi tiết
Các tham số
[in] aInstance
Cấu trúc thực thể OpenThread.
[in] aCslSampleTime
Thời gian lấy mẫu tiếp theo, tính bằng micrô giây. Đó là thời điểm mà ký hiệu đầu tiên của MHR của khung hình được mong đợi.

Tài nguyên

Các chủ đề tham khảo API OpenThread bắt nguồn từ mã nguồn, có 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 Tài nguyên.