रेडियो कॉन्फ़िगरेशन
इस मॉड्यूल में रेडियो कॉन्फ़िगरेशन के लिए प्लैटफ़ॉर्म ऐब्स्ट्रैक्शन शामिल है.
खास जानकारी
फ़ंक्शन |
|
---|---|
otPlatRadioGetBusSpeed(otInstance *aInstance)
|
uint32_t
होस्ट और रेडियो चिप के बीच, बस की स्पीड बिट/सेकंड में पाएं.
|
otPlatRadioGetCaps(otInstance *aInstance)
|
रेडियो की सुविधा पाएँ.
|
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
|
आईईईई 802.15.4 - 2015 के सेक्शन 10.1.4 के मुताबिक, ऐंटीना कनेक्टर पर मापी गई डीबीएम में रेडियो के सीसीए ईडी थ्रेशोल्ड की जानकारी पाएं.
|
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
|
dBm में बाहरी एफ़ईएम का Rx एलएनए फ़ायदा मिलता है.
|
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
|
void
इस इंटरफ़ेस के लिए, फ़ैक्ट्री से असाइन किया गया IEEE EUI-64 मिलता है.
|
otPlatRadioGetNow(otInstance *aInstance)
|
uint64_t
लगातार एक जैसी यूनिट वाली लोकल रेडियो क्लॉक (64 बिट चौड़ाई) के लिए, मौजूदा समय की जानकारी माइक्रोसेकंड में पाएं.
|
otPlatRadioGetPromiscuous(otInstance *aInstance)
|
bool
प्रमिस्क्यूअस मोड की स्थिति की जानकारी पाएं.
|
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)
|
int8_t
रेडियो रिसीव सेंसिटिविटी की वैल्यू पाएं.
|
otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)
|
रेडियो की ट्रांसमिशन पावर dBm में पाएं.
|
otPlatRadioGetVersionString(otInstance *aInstance)
|
const char *
रेडियो वर्शन की स्ट्रिंग पाएं.
|
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
|
IEEE 802.15.4 - 2015 के सेक्शन 10.1.4 के मुताबिक, ऐंटीना कनेक्टर पर मापे गए dBm में रेडियो के CCA ED थ्रेशोल्ड को सेट करें.
|
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
|
void
पता फ़िल्टर करने के लिए, एक्सटेंडेट पता सेट करें.
|
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
|
बाहरी एफ़ईएम के Rx एलएनए गेन को dBm में सेट करता है.
|
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
मौजूदा MAC फ़्रेम की काउंटर वैल्यू सेट करता है.
|
otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
यह MAC फ़्रेम काउंटर की मौजूदा वैल्यू सिर्फ़ तब सेट करता है, जब दी गई नई वैल्यू, मौजूदा वैल्यू से ज़्यादा हो.
|
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)
|
void
MAC कुंजियां और कुंजी इंडेक्स अपडेट करें.
|
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)
|
void
पता फ़िल्टर करने के लिए, पैन आईडी सेट करें.
|
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
|
void
प्रमिस्क्यूअस मोड चालू या बंद करें.
|
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
|
void
रेडियो प्लैटफ़ॉर्म पर rx-on-idle की स्थिति सेट करता है.
|
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
|
void
पता फ़िल्टर करने के लिए, छोटा पता सेट करें.
|
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
|
रेडियो की ट्रांसमिट पावर को dBm में सेट करें.
|
फ़ंक्शन
otPlatRadioGetBusSpeed
uint32_t otPlatRadioGetBusSpeed( otInstance *aInstance )
होस्ट और रेडियो चिप के बीच, बस की स्पीड बिट/सेकंड में पाएं.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
होस्ट और रेडियो चिप के बीच बस की रफ़्तार, बिट/सेकंड में. जब MAC और उसके ऊपर की लेयर और रेडियो लेयर एक ही चिप पर मौजूद हों, तो वैल्यू को 0 दिखाएं.
|
otPlatRadioGetCaps
otRadioCaps otPlatRadioGetCaps( otInstance *aInstance )
रेडियो की सुविधा पाएँ.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
रेडियो क्षमता बिट वेक्टर (
OT_RADIO_CAP_* परिभाषाएं देखें). |
otPlatRadioGetCcaEnergyDetectThreshold
otError otPlatRadioGetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t *aThreshold )
आईईईई 802.15.4 - 2015 के सेक्शन 10.1.4 के मुताबिक, ऐंटीना कनेक्टर पर मापी गई डीबीएम में रेडियो के सीसीए ईडी थ्रेशोल्ड की जानकारी पाएं.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatRadioGetFemLnaGain
otError otPlatRadioGetFemLnaGain( otInstance *aInstance, int8_t *aGain )
dBm में बाहरी एफ़ईएम का Rx एलएनए फ़ायदा मिलता है.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatRadioGetIeeeEui64
void otPlatRadioGetIeeeEui64( otInstance *aInstance, uint8_t *aIeeeEui64 )
इस इंटरफ़ेस के लिए, फ़ैक्ट्री से असाइन किया गया IEEE EUI-64 मिलता है.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
otPlatRadioGetNow
uint64_t otPlatRadioGetNow( otInstance *aInstance )
लगातार एक जैसी यूनिट वाली लोकल रेडियो क्लॉक (64 बिट चौड़ाई) के लिए, मौजूदा समय की जानकारी माइक्रोसेकंड में पाएं.
डिवाइस के अपटाइम के दौरान रेडियो घड़ी नहीं रैप होगी. इसलिए, 'लागू करने' से अंदरूनी काउंटर ओवरफ़्लो की पहचान की जाएगी और उनकी भरपाई की जाएगी. घड़ी का कोई तय युग नहीं है और इसमें लगातार या बिना किसी रुकावट के बदलाव नहीं होंगे. जैसे, लीप सेकंड. लागू करने से डिवाइस के सोने के किसी भी समय की भरपाई हो जाएगी.
लागू किए गए ऐप्लिकेशन, रेडियो क्लॉक को अनुशासित करने और सोने के समय की भरपाई करने के लिए किसी भी तरीके से (उदाहरण के लिए, हाई रिज़ॉल्यूशन काउंटर के साथ ज़्यादा सटीक/कम पावर आरटीसी को मिलाकर) का विकल्प चुन सकते हैं. हालांकि, इसके लिए ज़रूरी है कि एक्सपोज़्ड घड़ी, otPlatRadioGetCslAccuracy की ओर से बताई गई सटीक सीमा के अंदर लगातार मोनोटोनिक माइक्रोसेकंड रिज़ॉल्यूशन का टिक देती हो.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
माइक्रोसेकंड में मौजूदा समय. जब प्लैटफ़ॉर्म काम न करे या रेडियो समय तैयार न हो, तब यूज़र इंटरफ़ेस (यूआई)64_MAX.
|
otPlatRadioGetPromiscuous
bool otPlatRadioGetPromiscuous( otInstance *aInstance )
प्रमिस्क्यूअस मोड की स्थिति की जानकारी पाएं.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
otPlatRadioGetReceiveSensitivity
int8_t otPlatRadioGetReceiveSensitivity( otInstance *aInstance )
रेडियो रिसीव सेंसिटिविटी की वैल्यू पाएं.
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
रेडियो रिसीव सेंसिटिविटी की वैल्यू dBm में है.
|
otPlatRadioGetTransmitPower
otError otPlatRadioGetTransmitPower( otInstance *aInstance, int8_t *aPower )
रेडियो की ट्रांसमिशन पावर dBm में पाएं.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatRadioGetVersionString
const char * otPlatRadioGetVersionString( otInstance *aInstance )
रेडियो वर्शन की स्ट्रिंग पाएं.
यह रेडियो ड्राइवर प्लैटफ़ॉर्म की सुविधा है. हालांकि, इसका इस्तेमाल करना ज़रूरी नहीं है. अगर प्लैटफ़ॉर्म रेडियो ड्राइवर से उपलब्ध नहीं कराया जाता है, तो OpenThread मौजूदा वर्शन के बजाय OpenThread वर्शन का इस्तेमाल करता है (
ब्यौरा | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
OpenThread रेडियो वर्शन के लिए पॉइंटर.
|
otGetVersionString()).
otPlatRadioSetCcaEnergyDetectThreshold
otError otPlatRadioSetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t aThreshold )
IEEE 802.15.4 - 2015 के सेक्शन 10.1.4 के मुताबिक, ऐंटीना कनेक्टर पर मापे गए dBm में रेडियो के CCA ED थ्रेशोल्ड को सेट करें.
ब्यौरा | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
otPlatRadioSetExtendedAddress
void otPlatRadioSetExtendedAddress( otInstance *aInstance, const otExtAddress *aExtAddress )
पता फ़िल्टर करने के लिए, एक्सटेंडेट पता सेट करें.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
otPlatRadioSetFemLnaGain
otError otPlatRadioSetFemLnaGain( otInstance *aInstance, int8_t aGain )
बाहरी एफ़ईएम के Rx एलएनए गेन को dBm में सेट करता है.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
otPlatRadioSetMacFrameCounter
void otPlatRadioSetMacFrameCounter( otInstance *aInstance, uint32_t aMacFrameCounter )
मौजूदा MAC फ़्रेम की काउंटर वैल्यू सेट करता है.
इसे तब इस्तेमाल किया जाता है, जब रेडियो में OT_RADIO_CAPS_TRANSMIT_SEC
की सुविधा हो.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
otPlatRadioSetMacFrameCounterIfLarger
void otPlatRadioSetMacFrameCounterIfLarger( otInstance *aInstance, uint32_t aMacFrameCounter )
यह MAC फ़्रेम काउंटर की मौजूदा वैल्यू सिर्फ़ तब सेट करता है, जब दी गई नई वैल्यू, मौजूदा वैल्यू से ज़्यादा हो.
इसे तब इस्तेमाल किया जाता है, जब रेडियो में OT_RADIO_CAPS_TRANSMIT_SEC
की सुविधा हो.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
otPlatRadioSetMacKey
void otPlatRadioSetMacKey( otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType )
MAC कुंजियां और कुंजी इंडेक्स अपडेट करें.
इसे तब इस्तेमाल किया जाता है जब रेडियो OT_Radio_CAPS_TRANSMIT_SEC की क्षमता देता हो.
ब्यौरा | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
otPlatRadioSetPanId
void otPlatRadioSetPanId( otInstance *aInstance, otPanId aPanId )
पता फ़िल्टर करने के लिए, पैन आईडी सेट करें.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
otPlatRadioSetPromiscuous
void otPlatRadioSetPromiscuous( otInstance *aInstance, bool aEnable )
प्रमिस्क्यूअस मोड चालू या बंद करें.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
otPlatRadioSetRxOnWhenIdle
void otPlatRadioSetRxOnWhenIdle( otInstance *aInstance, bool aEnable )
रेडियो प्लैटफ़ॉर्म पर rx-on-idle की स्थिति सेट करता है.
कुछ मामलों में रेडियो, स्लीप मोड में जा सकता है. ऐसा तब होता है, जब डिवाइस इस्तेमाल में नहीं है. हालांकि, SubMac के लिए इन स्थितियों की पहचान करना और रेडियो को स्लीप मोड में जाने का निर्देश देना मुश्किल और महंगा होता है:
- सामान्य फ़्रेम के रिसेप्शन टास्क को तय करना, बशर्ते:
- फ़्रेम बिना किसी गड़बड़ी के मिलता है और फ़िल्टर को पास करता है और यह नकली ACK नहीं है.
- ACK का अनुरोध नहीं किया गया है या आंतरिक स्थितियों की वजह से ACK का ट्रांसमिशन नहीं किया जा सकता.
- अगर ट्रांसमिट किए गए फ़्रेम में ACK का अनुरोध नहीं किया जाता है, तो किसी फ़्रेम ट्रांसमिशन या ACK फ़्रेम के ट्रांसमिशन को फ़ाइनल करना.
- अनुरोध किए गए ACK के रिसेप्शन की कार्रवाई को इस वजह से पूरा किया गया:
- ACK टाइम आउट की समयसीमा.
- अमान्य ACK फ़्रेम लेना या ACK फ़्रेम नहीं होना.
- सही ACK को स्वीकार करना, जब तक कि ट्रांसमिट किया गया फ़्रेम, डेटा अनुरोध का निर्देश न हो और ACK पर मिलने वाले फ़्रेम के बचे हुए बिट को 'सही' पर सेट न किया गया हो. ऐसे में, रेडियो प्लैटफ़ॉर्म को लागू करने के दौरान, रिसीवर को एक तय टाइम आउट तक चालू रखना चाहिए. इससे कुछ समय के लिए डिवाइस का इस्तेमाल नहीं किया जा सकता.
OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT
को रेफ़रंस के तौर पर लिया जा सकता है.
- स्टैंडअलोन सीसीए टास्क को फ़ाइनल करना.
- सीएसए (CSMA)/सीए प्रोसेस के दौरान, ज़्यादा जानकारी वाले नतीजे के साथ सीसीए कार्रवाई को फ़ाइनल करना.
- ऊर्जा का पता लगाने वाले टास्क को पूरा करना.
otPlatRadioReceiveAt
के लिए शेड्यूल की गई रेडियो रिसेप्शन विंडो को फ़ाइनल किया जा रहा है.
अगर किसी प्लैटफ़ॉर्म पर OT_RADIO_CAPS_RX_ON_WHEN_IDLE
काम करता है, तो उसे OT_RADIO_CAPS_CSMA_BACKOFF
के साथ भी काम करना चाहिए. साथ ही, ऊपर बताए गए CCA के बाद, काम न करने की अवधि को हैंडल करना चाहिए.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
otPlatRadioSetShortAddress
void otPlatRadioSetShortAddress( otInstance *aInstance, otShortAddress aShortAddress )
पता फ़िल्टर करने के लिए, छोटा पता सेट करें.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
otPlatRadioSetTransmitPower
otError otPlatRadioSetTransmitPower( otInstance *aInstance, int8_t aPower )
रेडियो की ट्रांसमिट पावर को dBm में सेट करें.
ब्यौरा | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
संसाधन
OpenThread API के रेफ़रंस के विषय, सोर्स कोड से मिलते हैं. यह सोर्स GitHub पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.