रेडियो कॉन्फ़िगरेशन

इस मॉड्यूल में रेडियो कॉन्फ़िगरेशन के लिए प्लैटफ़ॉर्म ऐब्स्ट्रैक्शन शामिल है.

खास जानकारी

फ़ंक्शन

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
)

होस्ट और रेडियो चिप के बीच, बस की स्पीड बिट/सेकंड में पाएं.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
लौटाए गए सामान
होस्ट और रेडियो चिप के बीच बस की रफ़्तार, बिट/सेकंड में. जब MAC और उसके ऊपर की लेयर और रेडियो लेयर एक ही चिप पर मौजूद हों, तो वैल्यू को 0 दिखाएं.

otPlatRadioGetCaps

otRadioCaps otPlatRadioGetCaps(
  otInstance *aInstance
)

रेडियो की सुविधा पाएँ.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
लौटाए गए सामान
रेडियो क्षमता बिट वेक्टर (OT_RADIO_CAP_* परिभाषाएं देखें).

otPlatRadioGetCcaEnergyDetectThreshold

otError otPlatRadioGetCcaEnergyDetectThreshold(
  otInstance *aInstance,
  int8_t *aThreshold
)

आईईईई 802.15.4 - 2015 के सेक्शन 10.1.4 के मुताबिक, ऐंटीना कनेक्टर पर मापी गई डीबीएम में रेडियो के सीसीए ईडी थ्रेशोल्ड की जानकारी पाएं.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[out] aThreshold
dBm में CCA ED थ्रेशोल्ड.
रिटर्न वैल्यू
OT_ERROR_NONE
CCA ED थ्रेशोल्ड हासिल कर लिया गया है.
OT_ERROR_INVALID_ARGS
aThreshold शून्य था.
OT_ERROR_NOT_IMPLEMENTED
dBm के ज़रिए CCA ED थ्रेशोल्ड कॉन्फ़िगरेशन लागू नहीं किया गया है.

otPlatRadioGetFemLnaGain

otError otPlatRadioGetFemLnaGain(
  otInstance *aInstance,
  int8_t *aGain
)

dBm में बाहरी एफ़ईएम का Rx एलएनए फ़ायदा मिलता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[out] aGain
बाहरी एफ़ईएम का Rx एलएनए dBm में बढ़ता है.
रिटर्न वैल्यू
OT_ERROR_NONE
बाहरी एफ़ईएम का एलएनए गेन वापस ले लिया गया.
OT_ERROR_INVALID_ARGS
aGain शून्य था.
OT_ERROR_NOT_IMPLEMENTED
बाहरी एफ़ईएम की एलएनए सेटिंग लागू नहीं है.

otPlatRadioGetIeeeEui64

void otPlatRadioGetIeeeEui64(
  otInstance *aInstance,
  uint8_t *aIeeeEui64
)

इस इंटरफ़ेस के लिए, फ़ैक्ट्री से असाइन किया गया IEEE EUI-64 मिलता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[out] aIeeeEui64
फ़ैक्ट्री के लिए असाइन किए गए आईईईई ईयूआई-64 के लिए पॉइंटर.

otPlatRadioGetNow

uint64_t otPlatRadioGetNow(
  otInstance *aInstance
)

लगातार एक जैसी यूनिट वाली लोकल रेडियो क्लॉक (64 बिट चौड़ाई) के लिए, मौजूदा समय की जानकारी माइक्रोसेकंड में पाएं.

डिवाइस के अपटाइम के दौरान रेडियो घड़ी नहीं रैप होगी. इसलिए, 'लागू करने' से अंदरूनी काउंटर ओवरफ़्लो की पहचान की जाएगी और उनकी भरपाई की जाएगी. घड़ी का कोई तय युग नहीं है और इसमें लगातार या बिना किसी रुकावट के बदलाव नहीं होंगे. जैसे, लीप सेकंड. लागू करने से डिवाइस के सोने के किसी भी समय की भरपाई हो जाएगी.

लागू किए गए ऐप्लिकेशन, रेडियो क्लॉक को अनुशासित करने और सोने के समय की भरपाई करने के लिए किसी भी तरीके से (उदाहरण के लिए, हाई रिज़ॉल्यूशन काउंटर के साथ ज़्यादा सटीक/कम पावर आरटीसी को मिलाकर) का विकल्प चुन सकते हैं. हालांकि, इसके लिए ज़रूरी है कि एक्सपोज़्ड घड़ी, otPlatRadioGetCslAccuracy की ओर से बताई गई सटीक सीमा के अंदर लगातार मोनोटोनिक माइक्रोसेकंड रिज़ॉल्यूशन का टिक देती हो.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
लौटाए गए सामान
माइक्रोसेकंड में मौजूदा समय. जब प्लैटफ़ॉर्म काम न करे या रेडियो समय तैयार न हो, तब यूज़र इंटरफ़ेस (यूआई)64_MAX.

otPlatRadioGetPromiscuous

bool otPlatRadioGetPromiscuous(
  otInstance *aInstance
)

प्रमिस्क्यूअस मोड की स्थिति की जानकारी पाएं.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
रिटर्न वैल्यू
TRUE
प्रमिस्क्यूअस मोड चालू है.
FALSE
प्रमिस्क्यूअस मोड बंद है.

otPlatRadioGetReceiveSensitivity

int8_t otPlatRadioGetReceiveSensitivity(
  otInstance *aInstance
)

रेडियो रिसीव सेंसिटिविटी की वैल्यू पाएं.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
लौटाए गए सामान
रेडियो रिसीव सेंसिटिविटी की वैल्यू dBm में है.

otPlatRadioGetTransmitPower

otError otPlatRadioGetTransmitPower(
  otInstance *aInstance,
  int8_t *aPower
)

रेडियो की ट्रांसमिशन पावर dBm में पाएं.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[out] aPower
dBm में ट्रांसमिट पावर.
रिटर्न वैल्यू
OT_ERROR_NONE
ट्रांसमिट करने के लिए पावर सप्लाई को वापस लाया गया.
OT_ERROR_INVALID_ARGS
aPower शून्य था.
OT_ERROR_NOT_IMPLEMENTED
dBm के ज़रिए ट्रांसमिट पावर कॉन्फ़िगरेशन लागू नहीं किया गया है.

otPlatRadioGetVersionString

const char * otPlatRadioGetVersionString(
  otInstance *aInstance
)

रेडियो वर्शन की स्ट्रिंग पाएं.

यह रेडियो ड्राइवर प्लैटफ़ॉर्म की सुविधा है. हालांकि, इसका इस्तेमाल करना ज़रूरी नहीं है. अगर प्लैटफ़ॉर्म रेडियो ड्राइवर से उपलब्ध नहीं कराया जाता है, तो OpenThread मौजूदा वर्शन के बजाय OpenThread वर्शन का इस्तेमाल करता है (

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
लौटाए गए सामान
OpenThread रेडियो वर्शन के लिए पॉइंटर.
यह भी देखें:
otGetVersionString()).

otPlatRadioSetCcaEnergyDetectThreshold

otError otPlatRadioSetCcaEnergyDetectThreshold(
  otInstance *aInstance,
  int8_t aThreshold
)

IEEE 802.15.4 - 2015 के सेक्शन 10.1.4 के मुताबिक, ऐंटीना कनेक्टर पर मापे गए dBm में रेडियो के CCA ED थ्रेशोल्ड को सेट करें.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] aThreshold
dBm में CCA ED थ्रेशोल्ड.
रिटर्न वैल्यू
OT_ERROR_NONE
ट्रांसमिट करने के लिए पावर सप्लाई को सेट किया गया.
OT_ERROR_INVALID_ARGS
दी गई सीमा सीमा से बाहर है.
OT_ERROR_NOT_IMPLEMENTED
dBm के ज़रिए CCA ED थ्रेशोल्ड कॉन्फ़िगरेशन लागू नहीं किया गया है.

otPlatRadioSetExtendedAddress

void otPlatRadioSetExtendedAddress(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

पता फ़िल्टर करने के लिए, एक्सटेंडेट पता सेट करें.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] aExtAddress
IEEE 802.15.4 एक्सटेंडेड पते का पॉइंटर. इसे लिटिल-एंडियन बाइट ऑर्डर में स्टोर किया गया है.

otPlatRadioSetFemLnaGain

otError otPlatRadioSetFemLnaGain(
  otInstance *aInstance,
  int8_t aGain
)

बाहरी एफ़ईएम के Rx एलएनए गेन को dBm में सेट करता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] aGain
बाहरी एफ़ईएम का Rx एलएनए dBm में बढ़ता है.
रिटर्न वैल्यू
OT_ERROR_NONE
बाहरी एफ़ईएम का एलएनए गेन सेट करें.
OT_ERROR_NOT_IMPLEMENTED
बाहरी एफ़ईएम की एलएनए गेन सेटिंग लागू नहीं की गई है.

otPlatRadioSetMacFrameCounter

void otPlatRadioSetMacFrameCounter(
  otInstance *aInstance,
  uint32_t aMacFrameCounter
)

मौजूदा MAC फ़्रेम की काउंटर वैल्यू सेट करता है.

इसे तब इस्तेमाल किया जाता है, जब रेडियो में OT_RADIO_CAPS_TRANSMIT_SEC की सुविधा हो.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aMacFrameCounter
MAC फ़्रेम काउंटर वैल्यू.

otPlatRadioSetMacFrameCounterIfLarger

void otPlatRadioSetMacFrameCounterIfLarger(
  otInstance *aInstance,
  uint32_t aMacFrameCounter
)

यह MAC फ़्रेम काउंटर की मौजूदा वैल्यू सिर्फ़ तब सेट करता है, जब दी गई नई वैल्यू, मौजूदा वैल्यू से ज़्यादा हो.

इसे तब इस्तेमाल किया जाता है, जब रेडियो में OT_RADIO_CAPS_TRANSMIT_SEC की सुविधा हो.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aMacFrameCounter
MAC फ़्रेम काउंटर वैल्यू.

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 की क्षमता देता हो.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aKeyIdMode
कुंजी आईडी मोड.
[in] aKeyId
मौजूदा MAC कुंजी का इंडेक्स.
[in] aPrevKey
पिछली MAC कुंजी का पॉइंटर.
[in] aCurrKey
मौजूदा MAC कुंजी की जानकारी देने वाला पॉइंटर.
[in] aNextKey
अगली MAC कुंजी का पॉइंटर.
[in] aKeyType
कुंजी के प्रकार का इस्तेमाल किया गया.

otPlatRadioSetPanId

void otPlatRadioSetPanId(
  otInstance *aInstance,
  otPanId aPanId
)

पता फ़िल्टर करने के लिए, पैन आईडी सेट करें.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] aPanId
आईईईई 802.15.4 पैन आईडी.

otPlatRadioSetPromiscuous

void otPlatRadioSetPromiscuous(
  otInstance *aInstance,
  bool aEnable
)

प्रमिस्क्यूअस मोड चालू या बंद करें.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] 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 के बाद, काम न करने की अवधि को हैंडल करना चाहिए.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] aEnable
रेडियो को पाने की स्थिति में रखने के लिए 'सही', प्रयोग में नहीं रहने की अवधि के दौरान उसे स्लीप मोड (कम बैटरी मोड) में रखने के लिए FALSE.

otPlatRadioSetShortAddress

void otPlatRadioSetShortAddress(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

पता फ़िल्टर करने के लिए, छोटा पता सेट करें.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] aShortAddress
आईईईई 802.15.4 शॉर्ट पता.

otPlatRadioSetTransmitPower

otError otPlatRadioSetTransmitPower(
  otInstance *aInstance,
  int8_t aPower
)

रेडियो की ट्रांसमिट पावर को dBm में सेट करें.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस स्ट्रक्चर.
[in] aPower
dBm में ट्रांसमिट पावर.
रिटर्न वैल्यू
OT_ERROR_NONE
ट्रांसमिट करने के लिए पावर सप्लाई को सेट किया गया.
OT_ERROR_NOT_IMPLEMENTED
dBm के ज़रिए ट्रांसमिट पावर कॉन्फ़िगरेशन लागू नहीं किया गया है.

संसाधन

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