إعداد الراديو

تتضمن هذه الوحدة تجريد النظام الأساسي للتهيئة اللاسلكية.

ملخّص

الدوال

otPlatRadioGetBusSpeed(otInstance *aInstance)
uint32_t
معرفة سرعة الحافلة بالبت/الثانية بين المضيف وشريحة الراديو.
otPlatRadioGetCaps(otInstance *aInstance)
احصل على إمكانيات الراديو.
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
الحصول على حدّ CCA ED في الراديو المُقاس بالديسيبل بالملي واط باستخدام موصّل الهوائي وفقًا للفقرة 10.1.4 من معهد الهندسة الكهربائية والإلكترونية IEEE 802.15.4 - 2015
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
للحصول على قيمة مكاسب Rx LNA الخارجية في FEM بالديسيبل بالمللي واط.
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)
احصل على قوة إرسال الراديو بالديسيبل بالمللي واط.
otPlatRadioGetVersionString(otInstance *aInstance)
const char *
احصل على سلسلة إصدار الراديو.
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
يمكنك ضبط حدّ CCA ED في الراديو المُقاس بالديسيبل بالملي واط باستخدام موصّل الهوائي وفقًا للفقرة 10.1.4 من معهد الهندسة الكهربائية والإلكترونية IEEE 802.15.4 - 2015.
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
void
اضبط العنوان الموسع لفلترة العناوين.
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
لضبط مقدار الكسب Rx LNA الخارجي بالنسبة إلى FEM بالديسيبل بالمللي واط.
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
يمكنك ضبط رقم تعريف PAN لفلترة العناوين.
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
void
تفعيل الوضع المختلط أو إيقافه.
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
void
لضبط حالة الدخول في وضع عدم النشاط عند الدخول إلى وضع عدم النشاط على النظام الأساسي للراديو.
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
void
اضبط العنوان المختصر لفلترة العناوين.
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
اضبط قوة إرسال الراديو بالديسيبل بالمللي واط.

الدوال

otPlatRadioGetBusSpeed

uint32_t otPlatRadioGetBusSpeed(
  otInstance *aInstance
)

معرفة سرعة الحافلة بالبت/الثانية بين المضيف وشريحة الراديو.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
المرتجعات
سرعة الناقل بوحدة البت/الثانية بين المضيف وشريحة الراديو. عرض 0 عند وجود كل من MAC والطبقة أعلاه وطبقة الراديو على نفس الشريحة.

otPlatRadioGetCaps

otRadioCaps otPlatRadioGetCaps(
  otInstance *aInstance
)

احصل على إمكانيات الراديو.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
المرتجعات
متجه بت القدرة اللاسلكية (راجِع OT_RADIO_CAP_* تعريفات).

otPlatRadioGetCcaEnergyDetectThreshold

otError otPlatRadioGetCcaEnergyDetectThreshold(
  otInstance *aInstance,
  int8_t *aThreshold
)

الحصول على حدّ CCA ED في الراديو المُقاس بالديسيبل بالملي واط باستخدام موصّل الهوائي وفقًا للفقرة 10.1.4 من معهد الهندسة الكهربائية والإلكترونية IEEE 802.15.4 - 2015

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[out] aThreshold
حد CCA ED بالديسيبل بالملي واط
قيم الإرجاع
OT_ERROR_NONE
تم استرداد حد CCA ED بنجاح.
OT_ERROR_INVALID_ARGS
aThreshold كانت فارغة.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ إعداد حد CCA ED عبر ديسيبل ملي واط.

otPlatRadioGetFemLnaGain

otError otPlatRadioGetFemLnaGain(
  otInstance *aInstance,
  int8_t *aGain
)

للحصول على قيمة مكاسب Rx LNA الخارجية في FEM بالديسيبل بالمللي واط.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[out] aGain
كلما زادت قيمة Rx LNA الخارجي في وحدة القياس بالديسيبل بالملي واط.
قيم الإرجاع
OT_ERROR_NONE
تم بنجاح استرداد مكاسب LNA الخارجية التي حققتها منظمة FEM.
OT_ERROR_INVALID_ARGS
aGain كانت فارغة.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ إعداد LNA الخاص بقاعدة بيانات FEM الخارجية.

otPlatRadioGetIeeeEui64

void otPlatRadioGetIeeeEui64(
  otInstance *aInstance,
  uint8_t *aIeeeEui64
)

الحصول على وحدة IEEE EUI-64 المخصّصة للمصنِّع لهذه الواجهة

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[out] aIeeeEui64
مؤشر للإشارة إلى معهد الهندسة الكهربائية والإلكترونية (IEEE EUI-64) الذي تم تخصيصه للمصنِّع.

otPlatRadioGetNow

uint64_t otPlatRadioGetNow(
  otInstance *aInstance
)

يمكنك معرفة الوقت الحالي بالميكرو ثانية المُشار إليه باستخدام ساعة راديو محلية رتيبة ومستمرة (عرض 64 بت).

"لن تلتف ساعة الراديو" أثناء وقت تشغيل الجهاز. وبالتالي، تحدد عمليات التنفيذ الفائضات الداخلية للعداد وتعويضها. ليس للساعة حقبة محددة ويجب ألا تؤدي إلى إدخال أي تعديلات مستمرة أو غير مستمرة (على سبيل المثال، الثواني الكبيسة). يجب تعويض عمليات التنفيذ عن أي أوقات نوم للجهاز.

قد تختار عمليات التنفيذ تنظيم ساعة الراديو وتعويض أوقات النوم بأي وسيلة (على سبيل المثال من خلال الجمع بين ضبط RTC عالي الدقة/منخفض الطاقة مع عدّاد عالي الدقة)، ما دامت الساعة المكشوفة المكشوفة توفّر مؤشرات مستمرة ومستمرة في دقة أحادي الصوت بالميكرو ثانية ضمن حدود الدقة التي يعلنها otPlatRadioGetCslAccuracy.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
المرتجعات
الوقت الحالي بالميكرو ثانية. UINT64_MAX عندما لا يكون النظام الأساسي متوافقًا أو عندما لا يكون وقت الراديو جاهزًا.

otPlatRadioGetPromiscuous

bool otPlatRadioGetPromiscuous(
  otInstance *aInstance
)

تعرف على حالة النمط المختلط.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
قيم الإرجاع
TRUE
الوضع المختلط مُفعَّل.
FALSE
تم إيقاف النمط المختلط.

otPlatRadioGetReceiveSensitivity

int8_t otPlatRadioGetReceiveSensitivity(
  otInstance *aInstance
)

الحصول على قيمة حساسية الاستقبال اللاسلكية

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
المرتجعات
استقبال قيمة الحساسية للراديو بالديسيبل بالمللي واط

otPlatRadioGetTransmitPower

otError otPlatRadioGetTransmitPower(
  otInstance *aInstance,
  int8_t *aPower
)

احصل على قوة إرسال الراديو بالديسيبل بالمللي واط.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[out] aPower
طاقة الإرسال بالديسيبل ملي واط
قيم الإرجاع
OT_ERROR_NONE
تم استرداد طاقة الإرسال بنجاح.
OT_ERROR_INVALID_ARGS
aPower كانت فارغة.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ إعدادات نقل الطاقة عبر ديسيبل ملي واط.

otPlatRadioGetVersionString

const char * otPlatRadioGetVersionString(
  otInstance *aInstance
)

احصل على سلسلة إصدار الراديو.

هذه دالة اختيارية في النظام الأساسي لبرنامج تشغيل اللاسلكي. إذا لم يتم توفيره من خلال برنامج تشغيل راديو النظام الأساسي، يستخدم OpenThread إصدار OpenThread بدلاً من ذلك (

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
المرتجعات
مؤشر يشير إلى إصدار الراديو OpenThread
راجِع أيضًا:
otGetVersionString()).

otPlatRadioSetCcaEnergyDetectThreshold

otError otPlatRadioSetCcaEnergyDetectThreshold(
  otInstance *aInstance,
  int8_t aThreshold
)

يمكنك ضبط حدّ CCA ED في الراديو المُقاس بالديسيبل بالملي واط باستخدام موصّل الهوائي وفقًا للفقرة 10.1.4 من معهد الهندسة الكهربائية والإلكترونية IEEE 802.15.4 - 2015.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[in] aThreshold
حد CCA ED بالديسيبل بالملي واط
قيم الإرجاع
OT_ERROR_NONE
تم ضبط طاقة الإرسال بنجاح.
OT_ERROR_INVALID_ARGS
الحد الأدنى المحدد خارج النطاق.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ إعداد حد 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 LNA الخارجي بالنسبة إلى FEM بالديسيبل بالمللي واط.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[in] aGain
كلما زادت قيمة Rx LNA الخارجي في وحدة القياس بالديسيبل بالملي واط.
قيم الإرجاع
OT_ERROR_NONE
تم بنجاح ضبط قيمة اكتساب LNA الخارجية التي تم تحقيقها من خلال FEM.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ إعداد اكتساب LNA الخارجي التابع لمنظمة FEM.

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
)

يمكنك ضبط رقم تعريف PAN لفلترة العناوين.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[in] aPanId
رقم تعريف IEEE 802.15.4 لرقم PAN.

otPlatRadioSetPromiscuous

void otPlatRadioSetPromiscuous(
  otInstance *aInstance,
  bool aEnable
)

تفعيل الوضع المختلط أو إيقافه.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[in] aEnable
TRUE للتمكين أو FALSE لإيقاف الوضع المختلط.

otPlatRadioSetRxOnWhenIdle

void otPlatRadioSetRxOnWhenIdle(
  otInstance *aInstance,
  bool aEnable
)

لضبط حالة الدخول في وضع عدم النشاط عند الدخول إلى وضع عدم النشاط على النظام الأساسي للراديو.

هناك بعض المواقف التي يمكن أن تدخل فيها الراديو إلى حالة السكون إذا كان الجهاز في وضع الخمول عندما يكون الجهاز غير نشِط لفترة قصيرة، ولكن من الصعب ومكلف على جهاز SubMac تحديد هذه المواقف وتوجيه الراديو للدخول في وضع السكون:

  • الانتهاء من مهمة استقبال إطار عادية، بشرط:
    • يتم استلام الإطار بدون أخطاء ويمرر عملية التصفية وهو ليس ACK زائفًا.
    • لا يتم طلب ACK أو لا يمكن إرساله بسبب الظروف الداخلية.
  • إنهاء إرسال إطار أو إرسال إطار ACK، عند عدم طلب ACK في الإطار المُرسل.
  • تمّ الانتهاء من عملية استلام ACK مطلوب للأسباب التالية:
    • انتهاء مهلة ACK
    • استلام ACK غير صالح أو إطار ACK.
    • استلام ACK الصحيح، ما لم يكن الإطار الذي تم إرساله عبارة عن أمر طلب بيانات وكان الإطار قيد الانتظار في ACK الذي تم استلامه مضبوطًا على true. في هذه الحالة، من المفترَض أن يُبقي جهاز الاستقبال مفعَّلاً حتى المهلة المحدَّدة التي تؤدي إلى بدء فترة عدم النشاط.يمكن استخدام OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT كمرجع في هذه الحالة.
  • وضع اللمسات الأخيرة على مهمة CCA المستقلة.
  • إنهاء عملية CCA مع نتيجة مشغولة أثناء إجراء CSMA/CA.
  • إنهاء مهمة الكشف عن الطاقة.
  • تم تحديد موعد إنهاء نافذة استقبال لاسلكي مع "otPlatRadioReceiveAt".

إذا كان النظام الأساسي متوافقًا مع OT_RADIO_CAPS_RX_ON_WHEN_IDLE، يجب أن يتوافق أيضًا مع OT_RADIO_CAPS_CSMA_BACKOFF والتعامل مع فترات عدم النشاط بعد الترجمة القابلة للاستبدال (CCA) كما هو موضّح أعلاه.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[in] aEnable
TRUE للحفاظ على الراديو في حالة الاستلام، وFALSE لضبط حالة السكون أثناء فترات عدم النشاط.

otPlatRadioSetShortAddress

void otPlatRadioSetShortAddress(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

اضبط العنوان المختصر لفلترة العناوين.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[in] aShortAddress
العنوان المختصر IEEE 802.15.4.

otPlatRadioSetTransmitPower

otError otPlatRadioSetTransmitPower(
  otInstance *aInstance,
  int8_t aPower
)

اضبط قوة إرسال الراديو بالديسيبل بالمللي واط.

التفاصيل
المَعلمات
[in] aInstance
بنية النسخة الافتراضية OpenThread
[in] aPower
طاقة الإرسال بالديسيبل ملي واط
قيم الإرجاع
OT_ERROR_NONE
تم ضبط طاقة الإرسال بنجاح.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ إعدادات نقل الطاقة عبر ديسيبل ملي واط.

المراجِع

تنشأ المواضيع المرجعية لواجهة برمجة تطبيقات OpenThread من رمز المصدر المتاح على GitHub. للحصول على مزيد من المعلومات أو للمساهمة في مستنداتنا، يمكنك الاطّلاع على المراجع.