otRadioFrame
#include <radio.h>
IEEE 802.15.4 रेडियो फ़्रेम का प्रतिनिधित्व करता है.
खास जानकारी
सार्वजनिक विशेषताएं |
|
---|---|
mAckFrameCounter
|
uint32_t
ACK सुरक्षा फ़्रेम काउंटर (
mAckedWithSecEnhAck सेट होने पर लागू). |
mAckKeyId
|
uint8_t
ACK सुरक्षा कुंजी इंडेक्स (
mAckedWithSecEnhAck सेट होने पर लागू). |
mAckedWithFramePending
|
bool
यह बताता है कि फ़्रेम को सेट किए जाने की स्थिति में, इस फ़्रेम को स्वीकार किया गया या नहीं.
|
mAckedWithSecEnhAck
|
bool
इससे पता चलता है कि इस फ़्रेम को सुरक्षित तरीके से ACK इस्तेमाल करके स्वीकार किया गया है.
|
mAesKey
|
const otMacKeyMaterial *
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 चालू करने के लिए 'सही' पर सेट करें, नहीं तो 'गलत' पर सेट करें.
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 पर उपलब्ध होते हैं. ज़्यादा जानकारी पाने या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.