otRadioFrame

#include <radio.h>

यह आईईईई 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
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 चालू करने के लिए, 'सही' पर सेट करें. ऐसा न होने पर 'गलत' पर सेट करें.

mIeInfo

otRadioIeInfo * otRadioFrame::mIeInfo

हेडर IE से जुड़ी जानकारी का पॉइंटर.

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 पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.