otRadioFrame

#include <radio.h>

IEEE 802.15.4 रेडियो फ़्रेम का प्रतिनिधित्व करता है.

खास जानकारी

सार्वजनिक विशेषताएं

mAckFrameCounter
uint32_t
ACK सुरक्षा फ़्रेम काउंटर (mAckedWithSecEnhAck सेट होने पर लागू).
mAckKeyId
uint8_t
ACK सुरक्षा कुंजी इंडेक्स (mAckedWithSecEnhAck सेट होने पर लागू).
mAckedWithFramePending
bool
यह बताता है कि फ़्रेम को सेट किए जाने की स्थिति में, इस फ़्रेम को स्वीकार किया गया या नहीं.
mAckedWithSecEnhAck
bool
इससे पता चलता है कि इस फ़्रेम को सुरक्षित तरीके से ACK इस्तेमाल करके स्वीकार किया गया है.
mAesKey
AES-CCM फ़्रेम सुरक्षा के लिए इस्तेमाल किया जाने वाला मुख्य कॉन्टेंट.
mChannel
uint8_t
फ़्रेम भेजने या पाने के लिए इस्तेमाल किया जाने वाला चैनल.
mCslPresent
bool
अगर सीएसएल हेडर IE मौजूद है, तो 'सही' पर सेट करें.
mCsmaCaEnabled
bool
इस पैकेट के लिए CSMA-CA चालू करने के लिए 'सही' पर सेट करें, नहीं तो 'गलत' पर सेट करें.
mIeInfo
हेडर IE के लिए पॉइंटर.
mInfo
union otRadioFrame::@24
रेडियो फ़्रेम के लिए ट्रांसमिशन का नेटवर्क और जानकारी पाना.
mIsARetx
bool
इससे पता चलता है कि फ़्रेम को फिर से ट्रांसमिशन किया जा सकता है या नहीं.
mIsHeaderUpdated
bool
इससे पता चलता है कि फ़्रेम काउंटर और CSL IE, हेडर में ठीक से अपडेट किए गए हैं या नहीं.
mIsSecurityProcessed
bool
सही है अगर सबMac को इस फ़्रेम की AES प्रोसेसिंग को छोड़ देना चाहिए.
mLength
uint16_t
पीएसडीयू की लंबाई.
mLqi
uint8_t
मिले हुए फ़्रेम के लिए लिंक क्वालिटी इंडिकेटर.
mMaxCsmaBackoffs
uint8_t
सीसीए सफल नहीं होने का एलान करने से पहले, बैकऑफ़ की ज़्यादा से ज़्यादा कोशिशें की संख्या.
mMaxFrameRetries
uint8_t
ट्रांसमिशन में गड़बड़ी होने के बाद, ज़्यादा से ज़्यादा बार दोबारा कोशिश करने की अनुमति है.
mPsdu
uint8_t *
पीएसडीयू.
mRadioType
uint8_t
रेडियो लिंक किस तरह का है - इसे रेडियो ड्राइवर को अनदेखा करना चाहिए.
mRssi
int8_t
मिले हुए फ़्रेम के लिए सिग्नल की क्षमता दिखाने वाला इंंडिकेटर (dBm).
mRxChannelAfterTxDone
uint8_t
फ़्रेम TX के बाद RX चैनल पूरा हो जाता है (सभी फ़्रेम बार-बार कोशिश करने के बाद - ack मिला, टाइम आउट हो जाता है या रद्द हो जाता है).
mRxInfo
struct otRadioFrame::@24::@26
रेडियो फ़्रेम को दिखाने वाले स्ट्रक्चर को जानकारी मिलती है.
mTimestamp
uint64_t
वह टाइमस्टैंप जब माइक्रोसेकंड में फ़्रेम मिला.
mTxDelay
uint32_t
इस ट्रांसमिशन के लिए देरी का समय (mTxDelayBaseTime के आधार पर).
mTxDelayBaseTime
uint32_t
ट्रांसमिशन में देरी का आधार समय.
mTxInfo
struct otRadioFrame::@24::@25
रेडियो फ़्रेम ट्रांसमिट करने की जानकारी को दिखाने वाली संरचना.

सार्वजनिक विशेषताएं

मैकफ़्रेम काउंटर

uint32_t otRadioFrame::mAckFrameCounter

ACK सुरक्षा फ़्रेम काउंटर (mAckedWithSecEnhAck सेट होने पर लागू).

मैककीआईडी

uint8_t otRadioFrame::mAckKeyId

ACK सुरक्षा कुंजी इंडेक्स (mAckedWithSecEnhAck सेट होने पर लागू).

mAckedWithFrame लंबित

bool otRadioFrame::mAckedWithFramePending

यह बताता है कि फ़्रेम को सेट किए जाने की स्थिति में, इस फ़्रेम को स्वीकार किया गया या नहीं.

मैकेडविथSecEnhAck

bool otRadioFrame::mAckedWithSecEnhAck

इससे पता चलता है कि इस फ़्रेम को सुरक्षित तरीके से ACK इस्तेमाल करके स्वीकार किया गया है.

mAesKey

const otMacKeyMaterial * otRadioFrame::mAesKey

AES-CCM फ़्रेम सुरक्षा के लिए इस्तेमाल किया जाने वाला मुख्य कॉन्टेंट.

मी-चैनल

uint8_t otRadioFrame::mChannel

फ़्रेम भेजने या पाने के लिए इस्तेमाल किया जाने वाला चैनल.

mCslप्रज़ेंट

bool otRadioFrame::mCslPresent

अगर सीएसएल हेडर IE मौजूद है, तो 'सही' पर सेट करें.

mCsmaCaEnabled

bool otRadioFrame::mCsmaCaEnabled

इस पैकेट के लिए CSMA-CA चालू करने के लिए 'सही' पर सेट करें, नहीं तो 'गलत' पर सेट करें.

mIeInfo

otRadioIeInfo * otRadioFrame::mIeInfo

हेडर IE के लिए पॉइंटर.

mInfo

union otRadioFrame::@24 otRadioFrame::mInfo

रेडियो फ़्रेम के लिए ट्रांसमिशन का नेटवर्क और जानकारी पाना.

मीज़ारेट

bool otRadioFrame::mIsARetx

इससे पता चलता है कि फ़्रेम को फिर से ट्रांसमिशन किया जा सकता है या नहीं.

mIsHeaderUpdate

bool otRadioFrame::mIsHeaderUpdated

इससे पता चलता है कि फ़्रेम काउंटर और CSL IE, हेडर में ठीक से अपडेट किए गए हैं या नहीं.

अगर प्लैटफ़ॉर्म लेयर में OT_RADIO_CAPS_TRANSMIT_SEC की सुविधा नहीं है, तो इस फ़्लैग को अनदेखा किया जा सकता है.

अगर प्लैटफ़ॉर्म OT_RADIO_CAPS_TRANSMIT_SEC की सुविधा देता है, तो प्लैटफ़ॉर्म को tx सुरक्षा प्रोसेसिंग और फ़्रेम काउंटर असाइन करने की ज़िम्मेदारी संभालनी चाहिए. इस मामले में नीचे बताए गए व्यवहार की उम्मीद की जा सकती है:

mIsHeaderUpdated सेट होने पर, यह पता चलता है कि OpenThread कोर ने पहले से तैयार फ़्रेम में फ़्रेम काउंटर और सीएसएल आईई (अगर सुरक्षा चालू है) सेट कर दिया है. यह पक्का किया जाता है कि काउंटर, उसी फ़्रेम की पिछली कोशिशों की तुलना में मेल खाए. प्लैटफ़ॉर्म को फ़्रेम काउंटर असाइन नहीं करना चाहिए या बदलना नहीं चाहिए. हालांकि, इसे mIsSecurityProcessed फ़्लैग के हिसाब से सुरक्षा प्रोसेसिंग की ज़रूरत पड़ सकती है.

अगर mIsHeaderUpdated सेट नहीं है, तो फिर OpenThread कोर में फ़्रेम काउंटर और कुंजी CSL IE, फ़्रेम में सेट नहीं होती हैं. इन्हें असाइन करने की ज़िम्मेदारी रेडियो प्लैटफ़ॉर्म की होती है. फ़्रेम को हवा में भेजने से पहले, प्लैटफ़ॉर्म को फ़्रेम हेडर अपडेट करना चाहिए अगर प्लैटफ़ॉर्म हेडर को अपडेट करता है, तो इसे otPlatRadioTxDone() कॉलबैक से फ़्रेम पास करने से पहले इस फ़्लैग को सेट करना होगा.

mISSecurityProcessed

bool otRadioFrame::mIsSecurityProcessed

सही है अगर सबMac को इस फ़्रेम की AES प्रोसेसिंग को छोड़ देना चाहिए.

लंबाई

uint16_t otRadioFrame::mLength

पीएसडीयू की लंबाई.

mLqi

uint8_t otRadioFrame::mLqi

मिले हुए फ़्रेम के लिए लिंक क्वालिटी इंडिकेटर.

mMaxCsmaBackoffs

uint8_t otRadioFrame::mMaxCsmaBackoffs

सीसीए सफल नहीं होने का एलान करने से पहले, बैकऑफ़ की ज़्यादा से ज़्यादा कोशिशें की संख्या.

mMaxFrameRetries

uint8_t otRadioFrame::mMaxFrameRetries

ट्रांसमिशन में गड़बड़ी होने के बाद, ज़्यादा से ज़्यादा बार दोबारा कोशिश करने की अनुमति है.

एमपीएसडी

uint8_t * otRadioFrame::mPsdu

पीएसडीयू.

mRadioType

uint8_t otRadioFrame::mRadioType

रेडियो लिंक किस तरह का है - इसे रेडियो ड्राइवर को अनदेखा करना चाहिए.

एमआरएसआई

int8_t otRadioFrame::mRssi

मिले हुए फ़्रेम के लिए सिग्नल की क्षमता दिखाने वाला इंंडिकेटर (dBm).

mRxChannelAfterTxहो गया

uint8_t otRadioFrame::mRxChannelAfterTxDone

फ़्रेम TX के बाद RX चैनल पूरा हो जाता है (सभी फ़्रेम बार-बार कोशिश करने के बाद - ack मिला, टाइम आउट हो जाता है या रद्द हो जाता है).

रेडियो प्लैटफ़ॉर्म, पूरी तरह से इसे अनदेखा करने का विकल्प चुन सकते हैं. OT स्टैक से otPlatRadioReceive() को कॉल किया जा सकता है. इसके लिए, फ़्रेम के TX के काम करने और otPlatRadioTxDone() कॉलबैक में सिग्नल मिलने पर, आरएक्स चैनल का इस्तेमाल किया जाएगा. OT_RADIO_CAPS_TRANSMIT_RETRIES वाले रेडियो प्लैटफ़ॉर्म को हमेशा इन बातों पर ध्यान नहीं देना चाहिए.

यह ऐसी स्थितियों के लिए है जब OT स्टैक और रेडियो के बीच इंटरैक्शन में देरी हो सकती है. उदाहरण के लिए, इसका इस्तेमाल RCP/होस्ट आर्किटेक्चर में किया जाता है, ताकि यह पक्का किया जा सके कि RCP, पैन चैनल पर ज़्यादा तेज़ी से स्विच करे. इससे खास तौर पर, नींद लाने वाले किसी बच्चे के लिए सीएसएल टीएक्स का इस्तेमाल किया जा सकता है. यहां सीएसएल के लिए, बच्चे पैन कार्ड के बजाय किसी दूसरे चैनल का इस्तेमाल कर सकता है. फ़्रेम tx के बाद, हम चाहते हैं कि रेडियो/आरसीपी तुरंत पैन चैनल पर ले जाए.इससे यह पक्का होता है कि माता-पिता उसके बाद बच्चे को tx न दें. उदाहरण के लिए, जब बच्चा सीएसएल चैनल पर बना रहे, तो पैन से चैनल के सीएसएल ट्रांसमिट किए गए पहले के फ़्रेम में आने वाला बच्चा उसे देखे.

आरएक्स चैनल पर स्विच करना तब ज़रूरी होता है, जब फ़्रेम टीएक्स पूरी तरह से प्रोसेस पूरी हो जाए.इसका मतलब यह है कि सभी कोशिशों के बाद इसे स्वीकार कर लिया जाता है. इसी तरह, अगर टिक फ़्रेम पर "अक रिक्वेस्ट" फ़्लैग को सेट किया जाता है या टाइम आउट होता है, तो आरएक्स चैनल पर स्विच करना ज़रूरी है. ध्यान रखें कि उसी चैनल पर ack देखा जा सकता है जिस पर फ़्रेम भेजा गया है.

mRxInfo

struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo

रेडियो फ़्रेम को दिखाने वाले स्ट्रक्चर को जानकारी मिलती है.

mtimestamp

uint64_t otRadioFrame::mTimestamp

वह टाइमस्टैंप जब माइक्रोसेकंड में फ़्रेम मिला.

यह वैल्यू, एसएफ़डी मिलने के समय को माना जाएगा.

mTxDelay

uint32_t otRadioFrame::mTxDelay

इस ट्रांसमिशन के लिए देरी का समय (mTxDelayBaseTime के आधार पर).

mTxDelayBaseTime

uint32_t otRadioFrame::mTxDelayBaseTime

ट्रांसमिशन में देरी का आधार समय.

mTxInfo

struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo

रेडियो फ़्रेम ट्रांसमिट करने की जानकारी को दिखाने वाली संरचना.

रिसॉर्स

OpenThread एपीआई के संदर्भ विषय, सोर्स कोड से आते हैं और GitHub पर उपलब्ध होते हैं. ज़्यादा जानकारी पाने या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.