otRadioFrame
#include <radio.h>
यह आईईईई 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
CSL हेडर IE मौजूद होने पर 'सही' पर सेट करें.
|
mCsmaCaEnabled
|
bool
इस पैकेट के लिए CSMA-CA चालू करने के लिए, 'सही' पर सेट करें. ऐसा न होने पर 'गलत' पर सेट करें.
|
mIeInfo
|
हेडर IE से जुड़ी जानकारी का पॉइंटर.
|
mInfo
|
union otRadioFrame::@24
रेडियो फ़्रेम के लिए जानकारी ट्रांसमिट करने और पाने का यूनियन.
|
mIsARetx
|
bool
इससे पता चलता है कि फ़्रेम को फिर से ट्रांसमिशन किया जा रहा है या नहीं.
|
mIsHeaderUpdated
|
bool
यह बताता है कि फ़्रेम काउंटर और CSL IE, हेडर में सही तरीके से अपडेट किए गए हैं या नहीं.
|
mIsSecurityProcessed
|
bool
अगर SubMac को इस फ़्रेम की AES प्रोसेसिंग को छोड़ देना चाहिए, तो 'सही' है.
|
mLength
|
uint16_t
PSDU की लंबाई.
|
mLqi
|
uint8_t
मिले हुए फ़्रेम के लिए, लिंक की क्वालिटी का इंडिकेटर.
|
mMaxCsmaBackoffs
|
uint8_t
CCA असफलता की घोषणा करने से पहले बैकऑफ़ कोशिशों की अधिकतम संख्या.
|
mMaxFrameRetries
|
uint8_t
ट्रांसमिशन खराब होने के बाद, बार-बार कितनी बार कोशिश की जा सकती है.
|
mPsdu
|
uint8_t *
PSDU.
|
mRadioType
|
uint8_t
रेडियो लिंक प्रकार - रेडियो ड्राइवर को अनदेखा करना चाहिए.
|
mRssi
|
int8_t
मिले हुए फ़्रेम के लिए, dBm में सिग्नल की क्षमता का इंडिकेटर मिला है.
|
mRxChannelAfterTxDone
|
uint8_t
फ़्रेम टेक्सस पूरा होने के बाद RX चैनल. (सभी फ़्रेम की फिर से कोशिश करने के बाद - ack मिला, टाइम आउट या रद्द हो जाता है).
|
mRxInfo
|
struct otRadioFrame::@24::@26
रेडियो फ़्रेम को दिखाने वाला स्ट्रक्चर, जिसमें जानकारी मिलती है.
|
mTimestamp
|
uint64_t
स्थानीय रेडियो घड़ी का माइक्रोसेकंड में समय जब SFD का अंत लोकल एंटेना पर मौजूद था.
|
mTxDelay
|
uint32_t
इस ट्रांसमिशन के लिए माइक्रोसेकंड में देरी का समय
mTxDelayBaseTime के बारे में बताया गया है. |
mTxDelayBaseTime
|
uint32_t
स्थानीय रेडियो क्लॉक के मुकाबले, शेड्यूल किए गए ट्रांसमिशन के लिए माइक्रोसेकंड में बेस समय,
otPlatRadioGetNow और mTxDelay देखें. |
mTxInfo
|
struct otRadioFrame::@24::@25
रेडियो फ़्रेम से मिलने वाली जानकारी को दिखाने वाला स्ट्रक्चर.
|
सार्वजनिक एट्रिब्यूट
mAckFrameCounter
uint32_t otRadioFrame::mAckFrameCounter
ACK सिक्योरिटी फ़्रेम काउंटर (mAckedWithSecEnhAck
सेट होने पर लागू होता है).
mAckKeyId
uint8_t otRadioFrame::mAckKeyId
ACK सुरक्षा कुंजी इंडेक्स (mAckedWithSecEnhAck
सेट होने पर लागू होता है).
mAckedWithFramePending
bool otRadioFrame::mAckedWithFramePending
इससे पता चलता है कि इस फ़्रेम को स्वीकार किया गया है या नहीं और फ़्रेम को 'मंज़ूरी बाकी है' के तौर पर सेट किया गया है.
mAckedWithSecEnhAck
bool otRadioFrame::mAckedWithSecEnhAck
इससे पता चलता है कि इस फ़्रेम को सुरक्षित बेहतर ACK के साथ स्वीकार किया गया था या नहीं.
mAesKey
const otMacKeyMaterial * otRadioFrame::mAesKey
AES-CCM फ़्रेम को सुरक्षित रखने के लिए इस्तेमाल किया जाने वाला मुख्य कॉन्टेंट.
mChannel
uint8_t otRadioFrame::mChannel
फ़्रेम को ट्रांसमिट/पाने के लिए इस्तेमाल किया जाने वाला चैनल.
mCslPresent
bool otRadioFrame::mCslPresent
CSL हेडर IE मौजूद होने पर 'सही' पर सेट करें.
mCsmaCaEnabled
bool otRadioFrame::mCsmaCaEnabled
इस पैकेट के लिए CSMA-CA चालू करने के लिए, 'सही' पर सेट करें. ऐसा न होने पर 'गलत' पर सेट करें.
mInfo
union otRadioFrame::@24 otRadioFrame::mInfo
रेडियो फ़्रेम के लिए जानकारी ट्रांसमिट करने और पाने का यूनियन.
mIsARetx
bool otRadioFrame::mIsARetx
इससे पता चलता है कि फ़्रेम को फिर से ट्रांसमिशन किया जा रहा है या नहीं.
mIsHeaderUpdated
bool otRadioFrame::mIsHeaderUpdated
यह बताता है कि फ़्रेम काउंटर और CSL IE, हेडर में सही तरीके से अपडेट किए गए हैं या नहीं.
अगर प्लैटफ़ॉर्म लेयर में OT_RADIO_CAPS_TRANSMIT_SEC
की सुविधा मौजूद नहीं है, तो यह इस फ़्लैग को अनदेखा कर सकता है.
अगर प्लैटफ़ॉर्म OT_RADIO_CAPS_TRANSMIT_SEC
की सुविधा देता है, तो उस प्लैटफ़ॉर्म से सुरक्षा से जुड़ी प्रोसेसिंग और फ़्रेम काउंटर के असाइनमेंट को हैंडल करने की उम्मीद की जाती है. इस मामले में, ऐसा व्यवहार हो सकता है:
mIsHeaderUpdated
को सेट करने पर, इससे पता चलता है कि OpenThread कोर ने पहले से ही तैयार फ़्रेम में फ़्रेम काउंटर और CSL IE (अगर सुरक्षा चालू है) को सेट कर दिया है. यह पक्का किया जाता है कि काउंटर की वैल्यू, इसी फ़्रेम की पिछली कोशिशों के काउंटर वैल्यू से मेल खाए. प्लैटफ़ॉर्म को फ़्रेम काउंटर असाइन या बदलना नहीं चाहिए. हालांकि, mIsSecurityProcessed
फ़्लैग के आधार पर सुरक्षा से जुड़ी प्रोसेसिंग पूरी करनी पड़ सकती है.
अगर mIsHeaderUpdated
को सेट नहीं किया गया है, तो फ़्रेम काउंटर और कुंजी CSL IE को OpenThread कोर की मदद से फ़्रेम में सेट नहीं किया गया है. साथ ही, इन्हें असाइन करना रेडियो प्लैटफ़ॉर्म की ज़िम्मेदारी है. प्लैटफ़ॉर्म को हवा में फ़्रेम भेजने से पहले, फ़्रेम हेडर (काउंटर और CSL IE वैल्यू असाइन करें) को अपडेट करना होगा. हालांकि, अगर ट्रांसमिशन रद्द हो जाता है और फ़्रेम कभी भी ओवर द एयर नहीं भेजा जाता (जैसे, चैनल ऐक्सेस करने में गड़बड़ी), तो हो सकता है कि प्लैटफ़ॉर्म हेडर को अपडेट न करे. अगर प्लैटफ़ॉर्म, हेडर को अपडेट करता है, तो फ़्रेम को otPlatRadioTxDone()
कॉलबैक से वापस पास करने से पहले, इसे यह फ़्लैग भी सेट करना होगा.
mIsSecurityProcessed
bool otRadioFrame::mIsSecurityProcessed
अगर SubMac को इस फ़्रेम की AES प्रोसेसिंग को छोड़ देना चाहिए, तो 'सही' है.
mLength
uint16_t otRadioFrame::mLength
PSDU की लंबाई.
mLqi
uint8_t otRadioFrame::mLqi
मिले हुए फ़्रेम के लिए, लिंक की क्वालिटी का इंडिकेटर.
mMaxCsmaBackoffs
uint8_t otRadioFrame::mMaxCsmaBackoffs
CCA असफलता की घोषणा करने से पहले बैकऑफ़ कोशिशों की अधिकतम संख्या.
mMaxFrameRetries
uint8_t otRadioFrame::mMaxFrameRetries
ट्रांसमिशन खराब होने के बाद, बार-बार कितनी बार कोशिश की जा सकती है.
mPsdu
uint8_t * otRadioFrame::mPsdu
PSDU.
mRadioType
uint8_t otRadioFrame::mRadioType
रेडियो लिंक प्रकार - रेडियो ड्राइवर को अनदेखा करना चाहिए.
mRssi
int8_t otRadioFrame::mRssi
मिले हुए फ़्रेम के लिए, dBm में सिग्नल की क्षमता का इंडिकेटर मिला है.
mRxChannelAfterTxDone
uint8_t otRadioFrame::mRxChannelAfterTxDone
फ़्रेम टेक्सस पूरा होने के बाद RX चैनल. (सभी फ़्रेम की फिर से कोशिश करने के बाद - ack मिला, टाइम आउट या रद्द हो जाता है).
रेडियो प्लैटफ़ॉर्म इसे पूरी तरह से नज़रअंदाज़ कर सकते हैं. ओटी स्टैक, फ़्रेम टेक्सस पूरा होने और otPlatRadioTxDone()
कॉलबैक में सिग्नल मिलने के बाद, यह पक्का करेगा कि otPlatRadioReceive()
को मनचाहे आरएक्स चैनल से कॉल किया जाए. OT_RADIO_CAPS_TRANSMIT_RETRIES
की सुविधा उपलब्ध न कराने वाले रेडियो प्लैटफ़ॉर्म को हमेशा इसे अनदेखा करना चाहिए.
यह सुविधा उन स्थितियों के लिए बनाई गई है जहां ओटी स्टैक और रेडियो के बीच इंटरैक्शन में देरी हो सकती है. उदाहरण के लिए, आरसीपी/होस्ट आर्किटेक्चर में इसका इस्तेमाल किया जाता है, ताकि यह पक्का किया जा सके कि आरसीपी, पैन चैनल पर तेज़ी से स्विच हो. खास तौर पर, इससे ऐसे बच्चे को सीएसएल टेक्नोलॉजी से जुड़ी मदद मिल सकती है जो ज़्यादा सो रहा है. ऐसे में, अगर बच्चा सीएसएल चैनल के लिए, पैन चैनल के बजाय किसी दूसरे चैनल का इस्तेमाल करता है, तो इससे उसे मदद मिल सकती है. फ़्रेम टेक्सस के बाद, हम चाहते हैं कि रेडियो/आरसीपी तुरंत पैन चैनल पर वापस जाए, ताकि आगे से माता-पिता/अभिभावक, बच्चे की तरफ़ से भेजे गए कॉन्टेंट को देखने से चूक न जाएं. उदाहरण के लिए, सीएसएल चैनल पर रहते हुए भी, पैन चैनल का इस्तेमाल करके, माता-पिता/अभिभावक की तरफ़ से भेजी गई सीएसएल फ़ाइल को जवाब देना.
फ़्रेम टेक्सस के पूरी तरह से तैयार हो जाने के बाद, RX चैनल पर स्विच किया जाना चाहिए. उदाहरण के लिए, फिर से कोशिश करने के बाद और ack मिलने के बाद (जब TXT फ़्रेम पर "खाता ऐक्सेस करने का अनुरोध" फ़्लैग सेट हो) या टाइम आउट हो जाना. ध्यान दें कि जिस चैनल पर फ़्रेम भेजा गया है उसी चैनल को सहमति दी जाएगी.
mRxInfo
struct otRadioFrame::@24::@26 otRadioFrame::mRxInfo
रेडियो फ़्रेम को दिखाने वाला स्ट्रक्चर, जिसमें जानकारी मिलती है.
mTimestamp
uint64_t otRadioFrame::mTimestamp
स्थानीय रेडियो घड़ी का माइक्रोसेकंड में समय जब SFD का अंत लोकल एंटेना पर मौजूद था.
mTxDelay
uint32_t otRadioFrame::mTxDelay
इस ट्रांसमिशन के लिए माइक्रोसेकंड में देरी का समय mTxDelayBaseTime
के बारे में बताया गया है.
ध्यान दें: mTxDelayBaseTime
+ mTxDelay
एसएफ़डी के खत्म होने के समय को स्थानीय रेडियो घड़ी के मुकाबले स्थानीय ऐंटीना पर दिखाना चाहिए.
mTxDelayBaseTime
uint32_t otRadioFrame::mTxDelayBaseTime
स्थानीय रेडियो क्लॉक के मुकाबले, शेड्यूल किए गए ट्रांसमिशन के लिए माइक्रोसेकंड में बेस समय, otPlatRadioGetNow
और mTxDelay
देखें.
mTxInfo
struct otRadioFrame::@24::@25 otRadioFrame::mTxInfo
रेडियो फ़्रेम से मिलने वाली जानकारी को दिखाने वाला स्ट्रक्चर.
संसाधन
OpenThread API के रेफ़रंस के विषय, सोर्स कोड से मिलते हैं. यह सोर्स GitHub पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.