otRadioFrame
#include <radio.h>
Đại diện cho khung radio IEEE 802.15.4.
Tóm tắt
Thuộc tính công khai |
|
---|---|
mAckFrameCounter
|
uint32_t
Bộ đếm khung hình bảo mật ACK (áp dụng khi bạn đặt
mAckedWithSecEnhAck ). |
mAckKeyId
|
uint8_t
Chỉ mục khoá bảo mật ACK (áp dụng khi bạn đặt
mAckedWithSecEnhAck ). |
mAckedWithFramePending
|
bool
Cột này cho biết liệu khung này đã được xác nhận với khung đang chờ xử lý hay chưa.
|
mAckedWithSecEnhAck
|
bool
Điều này cho biết liệu khung này có được xác nhận bằng ACK tăng cường bảo mật hay không.
|
mAesKey
|
const otMacKeyMaterial *
Chất liệu chính dùng để bảo mật khung AES-CCM.
|
mChannel
|
uint8_t
Kênh dùng để truyền/nhận khung.
|
mCslPresent
|
bool
Đặt thành true nếu có tiêu đề CSL bằng IE.
|
mCsmaCaEnabled
|
bool
Đặt thành true để bật CSMA-CA cho gói này, nếu không thì đặt là false.
|
mIeInfo
|
Con trỏ đến thông tin liên quan đến(các) Tiêu đề IE.
|
mInfo
|
union otRadioFrame::@24
Kết hợp truyền và nhận thông tin cho khung vô tuyến.
|
mIsARetx
|
bool
Cho biết khung hình đó có được truyền lại hay không.
|
mIsHeaderUpdated
|
bool
Cho biết liệu bộ đếm khung hình và CSL IE có được cập nhật chính xác trong tiêu đề hay không.
|
mIsSecurityProcessed
|
bool
Đúng nếu SubMac nên bỏ qua quá trình xử lý AES của khung này.
|
mLength
|
uint16_t
Độ dài của PSDU.
|
mLqi
|
uint8_t
Chỉ báo chất lượng liên kết cho khung hình đã nhận.
|
mMaxCsmaBackoffs
|
uint8_t
Số lần thử thời gian đợi tối đa trước khi khai báo lỗi về CCA.
|
mMaxFrameRetries
|
uint8_t
Số lần thử lại tối đa được phép sau khi truyền không thành công.
|
mPsdu
|
uint8_t *
PSDU.
|
mRadioType
|
uint8_t
Loại đường liên kết đến vô tuyến – nên được trình điều khiển vô tuyến bỏ qua.
|
mRssi
|
int8_t
Chỉ báo cường độ tín hiệu đã nhận bằng dBm cho khung hình đã nhận.
|
mRxChannelAfterTxDone
|
uint8_t
Kênh RX sau khi TX khung hoàn tất (sau khi tất cả các lần thử lại khung hình – ack đã nhận, hết thời gian chờ hoặc huỷ).
|
mRxInfo
|
struct otRadioFrame::@24::@26
Cấu trúc biểu thị thông tin nhận khung vô tuyến.
|
mTimestamp
|
uint64_t
Thời gian của đồng hồ vô tuyến cục bộ tính bằng micrô giây khi kết thúc SFD trên ăng ten cục bộ.
|
mTxDelay
|
uint32_t
Thời gian trễ tính bằng micrô giây của quá trình truyền này được tham chiếu đến
mTxDelayBaseTime . |
mTxDelayBaseTime
|
uint32_t
Thời gian cơ sở tính bằng micrô giây cho quá trình truyền theo lịch so với đồng hồ vô tuyến cục bộ, hãy xem
otPlatRadioGetNow và mTxDelay . |
mTxInfo
|
struct otRadioFrame::@24::@25
Cấu trúc biểu thị thông tin truyền khung vô tuyến.
|
Thuộc tính công khai
mAckFrameCounter
uint32_t otRadioFrame::mAckFrameCounter
Bộ đếm khung hình bảo mật ACK (áp dụng khi bạn đặt mAckedWithSecEnhAck
).
mAckKeyId
uint8_t otRadioFrame::mAckKeyId
Chỉ mục khoá bảo mật ACK (áp dụng khi bạn đặt mAckedWithSecEnhAck
).
mAckedWithFramePending
bool otRadioFrame::mAckedWithFramePending
Cột này cho biết liệu khung này đã được xác nhận với khung đang chờ xử lý hay chưa.
mAckedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
Điều này cho biết liệu khung này có được xác nhận bằng ACK tăng cường bảo mật hay không.
mAesKey
const otMacKeyMaterial * otRadioFrame::mAesKey
Chất liệu chính dùng để bảo mật khung AES-CCM.
mChannel
uint8_t otRadioFrame::mChannel
Kênh dùng để truyền/nhận khung.
mCslPresent
bool otRadioFrame::mCslPresent
Đặt thành true nếu có tiêu đề CSL bằng IE.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
Đặt thành true để bật CSMA-CA cho gói này, nếu không thì đặt là false.
mInfo
union otRadioFrame::@24 otRadioFrame::mInfo
Kết hợp truyền và nhận thông tin cho khung vô tuyến.
mIsARetx
bool otRadioFrame::mIsARetx
Cho biết khung hình đó có được truyền lại hay không.
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
Cho biết liệu bộ đếm khung hình và CSL IE có được cập nhật chính xác trong tiêu đề hay không.
Nếu lớp nền tảng không cung cấp tính năng OT_RADIO_CAPS_TRANSMIT_SEC
, thì lớp đó có thể bỏ qua cờ này.
Nếu nền tảng đó cung cấp chức năng OT_RADIO_CAPS_TRANSMIT_SEC
, thì nền tảng đó sẽ xử lý quá trình xử lý bảo mật tx và chỉ định bộ đếm khung. Trong trường hợp này, hành vi sau đây được dự kiến sẽ xảy ra:
Khi bạn đặt mIsHeaderUpdated
, điều này cho biết lõi OpenThread đã đặt bộ đếm khung hình và CSL IE (nếu tính năng bảo mật được bật) trong khung đã chuẩn bị. Bộ đếm được đảm bảo khớp với giá trị bộ đếm từ các lần thử trước đó trong cùng một khung. Nền tảng không được chỉ định hoặc thay đổi bộ đếm khung hình (nhưng có thể vẫn cần phải thực hiện quá trình xử lý bảo mật tuỳ thuộc vào cờ mIsSecurityProcessed
).
Nếu bạn không đặt mIsHeaderUpdated
, thì bộ đếm khung và khoá CSL IE sẽ không được đặt trong khung theo lõi OpenThread và nền tảng radio có trách nhiệm chỉ định chúng. Nền tảng phải cập nhật tiêu đề khung (chỉ định bộ đếm và giá trị CSL IE) trước khi gửi khung qua vô tuyến. Tuy nhiên, nếu quá trình truyền bị huỷ và khung không được gửi qua vô tuyến (ví dụ: lỗi truy cập kênh), thì nền tảng có thể chọn không cập nhật tiêu đề. Nếu cập nhật tiêu đề, thì nền tảng cũng phải đặt cờ này trước khi truyền khung trở lại từ lệnh gọi lại otPlatRadioTxDone()
.
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
Đúng nếu SubMac nên bỏ qua quá trình xử lý AES của khung này.
mLength
uint16_t otRadioFrame::mLength
Độ dài của PSDU.
mLqi
uint8_t otRadioFrame::mLqi
Chỉ báo chất lượng liên kết cho khung hình đã nhận.
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
Số lần thử thời gian đợi tối đa trước khi khai báo lỗi về CCA.
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
Số lần thử lại tối đa được phép sau khi truyền không thành công.
mPsdu
uint8_t * otRadioFrame::mPsdu
PSDU.
mRadioType
uint8_t otRadioFrame::mRadioType
Loại đường liên kết đến vô tuyến – nên được trình điều khiển vô tuyến bỏ qua.
mRssi
int8_t otRadioFrame::mRssi
Chỉ báo cường độ tín hiệu đã nhận bằng dBm cho khung hình đã nhận.
mRxChannelAfterTxDone
uint8_t otRadioFrame::mRxChannelAfterTxDone
Kênh RX sau khi TX khung hoàn tất (sau khi tất cả các lần thử lại khung hình – ack đã nhận, hết thời gian chờ hoặc huỷ).
Các nền tảng phát thanh có thể chọn hoàn toàn bỏ qua thông báo này. Ngăn xếp OT đảm bảo gọi otPlatRadioReceive()
bằng kênh RX mong muốn sau khi một TX khung hoàn tất và được báo hiệu trong lệnh gọi lại otPlatRadioTxDone()
. Những nền tảng phát thanh không cung cấp OT_RADIO_CAPS_TRANSMIT_RETRIES
phải luôn bỏ qua thông số này.
Chế độ này dành cho các trường hợp có thể có sự chậm trễ trong hoạt động tương tác giữa ngăn xếp OT và vô tuyến, ví dụ: cơ chế này được sử dụng trong cấu trúc RCP/máy chủ để đảm bảo RCP chuyển sang kênh PAN nhanh hơn. Cụ thể, chế độ này có thể giúp chuyển đổi CSL cho trẻ đang ngủ, trong đó trẻ có thể dùng một kênh khác cho CSL chứ không phải kênh PAN. Sau khi đưa vào khung hình, chúng ta muốn đài/RCP nhanh chóng quay lại kênh PAN để đảm bảo rằng cha mẹ không bỏ lỡ tx từ trẻ sau đó, ví dụ: trẻ phản hồi khung hình CSL đã truyền trước đó từ cha mẹ bằng kênh PAN trong khi đài vẫn ở trên kênh CSL.
Việc chuyển sang kênh RX PHẢI xảy ra sau khi khung TX hoàn tất, tức là sau tất cả các lần thử lại và khi nhận được ack (khi cờ "Yêu cầu Ack" được đặt trên khung TX) hoặc hết thời gian chờ ack. Xin lưu ý rằng thông báo xác nhận quyền sở hữu xuất hiện trên chính kênh mà khung hình được gửi đi.
mRxInfo
struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo
Cấu trúc biểu thị thông tin nhận khung vô tuyến.
mTimestamp
uint64_t otRadioFrame::mTimestamp
Thời gian của đồng hồ vô tuyến cục bộ tính bằng micrô giây khi kết thúc SFD trên ăng ten cục bộ.
mTxDelay
uint32_t otRadioFrame::mTxDelay
Thời gian trễ tính bằng micrô giây của quá trình truyền này được tham chiếu đến mTxDelayBaseTime
.
Lưu ý: mTxDelayBaseTime
+ mTxDelay
SẼ trỏ tới thời điểm khi điểm cuối của SFD xuất hiện trên ăng-ten cục bộ, so với đồng hồ vô tuyến cục bộ.
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
Thời gian cơ sở tính bằng micrô giây cho quá trình truyền theo lịch so với đồng hồ vô tuyến cục bộ, hãy xem otPlatRadioGetNow
và mTxDelay
.
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
Cấu trúc biểu thị thông tin truyền khung vô tuyến.
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.