تشغيل الراديو

تشمل هذه الوحدة المجرّد الأساسي للعمليات اللاسلكية.

الملخّص

الدوال

otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
يستدعي برنامج تشغيل الراديو هذه الطريقة لإعلام وحدة بيانات التشخيص OpenString بإطار تم استلامه.
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
يستدعي برنامج تشغيل الراديو هذه الطريقة لإعلام وحدة تشخيص OpenOpen بأنّ عملية النقل قد اكتملت.
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
يمكنك إضافة عنوان ممتد إلى جدول مطابقة عنوان المصدر.
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
يمكنك إضافة عنوان قصير إلى جدول مطابقة عنوان المصدر.
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
void
محو جميع العناوين الطويلة/الطويلة من جدول مطابقة عنوان المصدر.
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
يُرجى إزالة عنوان ممتد من جدول مطابقة عنوان المصدر.
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
void
محو كل العناوين القصيرة من جدول مطابقة عنوان المصدر.
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
يُرجى إزالة عنوان قصير من جدول مطابقة عنوان المصدر.
otPlatRadioConfigureEnhAckProbing(otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
تفعيل/إيقاف "الاختبار المستنِد إلى ACK المستند إلى" في الراديو لمنشئ محتوى معيّن.
otPlatRadioDisable(otInstance *aInstance)
إيقاف الراديو
otPlatRadioEnable(otInstance *aInstance)
فعِّل الراديو.
otPlatRadioEnableCsl(otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
تفعيل جهاز استقبال CSL أو إيقافه.
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
void
تفعيل/إيقاف ميزة مطابقة عنوان المصدر.
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
ابدأ تسلسل فحص الطاقة على الراديو.
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
يستدعي برنامج تشغيل الراديو هذه الطريقة لإعلام OpenString باكتمال عملية فحص الطاقة.
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
احصل على مقاييس العمل المشترك اللاسلكي.
otPlatRadioGetCslAccuracy(otInstance *aInstance)
uint8_t
يمكنك الحصول على الدقة الحالية بوحدة القياس ±/دقيقة، للساعة المستخدمة لجدولة عمليات CSL.
otPlatRadioGetCslClockUncertainty(otInstance *aInstance)
uint8_t
استمِع إلى عدم الاستقرار الحالي، بوحدات 10 لنا، من الساعة المُستخدَمة لجدولة عمليات CSL.
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
uint32_t
احصل على قناع القناة المفضّل للراديو والذي يفضّل الجهاز استخدامه.
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
احصل على رمز المنطقة.
otPlatRadioGetRssi(otInstance *aInstance)
int8_t
يمكنك الاطّلاع على أحدث قياس RSSI.
otPlatRadioGetState(otInstance *aInstance)
يمكنك الآن معرفة الحالة الحالية للراديو.
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
uint32_t
الحصول على قناع القناة المتوافق مع الراديو والذي يُسمَح له بتشغيل الجهاز.
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
احصَل على إطار التخزين المؤقت للإرسال اللاسلكي.
otPlatRadioIsCoexEnabled(otInstance *aInstance)
bool
تحقّق مما إذا كانت إعدادات coex اللاسلكية مفعّلة أم لا.
otPlatRadioIsEnabled(otInstance *aInstance)
bool
تحقق مما إذا كان الراديو مفعلاً أم لا.
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
نقل الراديو من وضع السكون إلى الاستلام (تشغيل الراديو).
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
جدولة فترة استقبال لاسلكي في وقت ومدة محددة
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
يستدعي برنامج تشغيل الراديو هذه الطريقة لإعلام OpenString بالإطار المُستلَم.
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
ضبط الحد الأقصى لقوة الإرسال لقناة معيّنة
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
تفعيل coex اللاسلكي.
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
اضبط رمز المنطقة.
otPlatRadioSleep(otInstance *aInstance)
نقل الراديو من خيار "الاستلام إلى وضع السكون" (إيقاف تشغيل الراديو).
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
ابدأ تسلسل الإرسال على الراديو.
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
يستدعي برنامج تشغيل الراديو هذه الدالة لإعلام OpenThread بأنّ عملية النقل قد اكتملت، ما يوفّر كلاً من الإطار المنقول وإطار ack المُستلَم، إن أمكن ذلك.
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
void
يستدعي برنامج تشغيل الراديو هذه الطريقة لإعلام OpenThread بأنّ عملية الإرسال قد بدأت.
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
void
تعديل وقت نموذج CSL في برنامج تشغيل الراديو.

الدوال

otPlatDiagRadioReceiveDone

void otPlatDiagRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

يستدعي برنامج تشغيل الراديو هذه الطريقة لإعلام وحدة بيانات التشخيص OpenString بإطار تم استلامه.

ويتم استخدام هذه الدالة عند تفعيل بيانات التشخيص.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aFrame
مؤشر إلى الإطار المُستلَم أو فارغ في حال تعذُّر عملية الاستلام.
[in] aError
OT_ERROR_NONE عند تلقّي إطار بنجاح، OT_ERROR_ABORT عند إلغاء الاستقبال وعدم تلقّي إطار، يتم OT_ERROR_NO_BUFS عندما لا يمكن تلقي إطار نظرًا لعدم وجود مساحة تخزين rx.

otPlatDiagRadioTransmitDone

void otPlatDiagRadioTransmitDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

يستدعي برنامج تشغيل الراديو هذه الطريقة لإعلام وحدة تشخيص OpenOpen بأنّ عملية النقل قد اكتملت.

ويتم استخدام هذه الدالة عند تفعيل بيانات التشخيص.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aFrame
مؤشر للإطار الذي تم نقله.
[in] aError
OT_ERROR_NONE عندما تم نقل الإطار، تعذر إجراء OT_ERROR_CHANNEL_ACCESS_FAILURE tx بسبب نشاط على القناة، OT_ERROR_ABORT عندما تم إلغاء عملية النقل لأسباب أخرى.

otPlatRadioAddSrcMatchExtEntry

otError otPlatRadioAddSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

يمكنك إضافة عنوان ممتد إلى جدول مطابقة عنوان المصدر.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aExtAddress
تم تخزين العنوان الموسَّع المراد إضافته بترتيب بايت صغير.
قيم الإرجاع
OT_ERROR_NONE
تمت إضافة العنوان الموسّع بنجاح إلى جدول المطابقة المصدر.
OT_ERROR_NO_BUFS
ليس هناك إدخال متاح في جدول المطابقة المصدر.

otPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

يمكنك إضافة عنوان قصير إلى جدول مطابقة عنوان المصدر.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aShortAddress
العنوان المختصر الذي ستتم إضافته.
قيم الإرجاع
OT_ERROR_NONE
تمت إضافة العنوان القصير بنجاح إلى جدول المطابقة المصدر.
OT_ERROR_NO_BUFS
ليس هناك إدخال متاح في جدول المطابقة المصدر.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

محو جميع العناوين الطويلة/الطويلة من جدول مطابقة عنوان المصدر.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.

otPlatRadioRadioClearSrcMatchExtEntry

otError otPlatRadioClearSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

يُرجى إزالة عنوان ممتد من جدول مطابقة عنوان المصدر.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aExtAddress
تم تخزين العنوان الموسع المراد إزالته بترتيب بايت صغير الحجم.
قيم الإرجاع
OT_ERROR_NONE
تمت إزالة العنوان الموسّع من جدول مطابقة المصدر بنجاح.
OT_ERROR_NO_ADDRESS
العنوان الموسَّع غير موجود في جدول مطابقة عنوان المصدر.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

محو كل العناوين القصيرة من جدول مطابقة عنوان المصدر.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.

otPlatRadioClearClearsrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

يُرجى إزالة عنوان قصير من جدول مطابقة عنوان المصدر.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aShortAddress
العنوان المختصر الذي ستتم إزالته.
قيم الإرجاع
OT_ERROR_NONE
تمت إزالة العنوان القصير بنجاح من جدول المطابقة المصدر.
OT_ERROR_NO_ADDRESS
العنوان المختصر غير موجود في جدول مطابقة عنوان المصدر.

otPlatRadioConfigureEnhAckProbing

otError otPlatRadioConfigureEnhAckProbing(
  otInstance *aInstance,
  otLinkMetrics aLinkMetrics,
  otShortAddress aShortAddress,
  const otExtAddress *aExtAddress
)

تفعيل/إيقاف "الاختبار المستنِد إلى ACK المستند إلى" في الراديو لمنشئ محتوى معيّن.

بعد إعداد "الاختبار المستند إلى ACK المحسّن" من قِبَل أداة بدء فحص معيّنة، يجب أن يتضمن ACK-ACK المُرسَل إلى هذه العقدة بيانات IE الخاصة بالمورّد التي تحتوي على بيانات مقاييس الروابط. تُبلِغ هذه الطريقة لاسلكي ببدء/إيقاف جمع بيانات مقاييس الروابط وتضمين IE الخاص بالمورّد الذي يحتوي على البيانات في محسّن ACK المُرسَل إلى برنامج بدء التحقق.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aLinkMetrics
وتحدّد هذه المعلّمة المقاييس المطلوب طلبها. وفقًا للمواصفات 4.11.3.4.6، يمكن تحديد مقياسين على الأكثر. سيتم إيقاف الاختبار إذا كان aLinkMetrics على مستوى البت 0.
[in] aShortAddress
العنوان القصير لمنشئ الفحوصات.
[in] aExtAddress
العنوان المصدر الموسّع لمُنشئ الفحوصات. يجب ألا يكون aExtAddr NULL.
قيم الإرجاع
OT_ERROR_NONE
تم إعداد "الاختبار المحسّن المستند إلى ACK" بنجاح.
OT_ERROR_INVALID_ARGS
aExtAddress هي NULL.
OT_ERROR_NOT_FOUND
لم يتم العثور على أداة البدء التي تمت الإشارة إليها من قِبل aShortAddress عند محاولة محو البيانات.
OT_ERROR_NO_BUFS
لا يمكن دعم المزيد من أداة البدء.

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

إيقاف الراديو

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
قيم الإرجاع
OT_ERROR_NONE
تم النقل بنجاح إلى "غير مفعّل".
OT_ERROR_INVALID_STATE
لَمْ يَكُنِ الرَّادْيُو فِي وَضْعِ السُّكُونْ.

otPlatRadioEnabled

otError otPlatRadioEnable(
  otInstance *aInstance
)

فعِّل الراديو.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
قيم الإرجاع
OT_ERROR_NONE
تم التفعيل بنجاح.
OT_ERROR_FAILED
تعذر تفعيل اللاسلكي.

otPlatRadioEnableCsl

otError otPlatRadioEnableCsl(
  otInstance *aInstance,
  uint32_t aCslPeriod,
  otShortAddress aShortAddr,
  const otExtAddress *aExtAddr
)

تفعيل جهاز استقبال CSL أو إيقافه.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aCslPeriod
CSSL، 0 لإيقاف CSL،
[in] aShortAddr
العنوان القصير للنسخة الخاصة بنظير مُستلِم CSL.
[in] aExtAddr
العنوان المصدر الموسَّع لنظير مستلِم CSL.
قيم الإرجاع
kErrorNotImplemented
لا يتوافق برنامج تشغيل الراديو مع CSL.
kErrorFailed
أخطاء أخرى خاصة بالنظام الأساسي
kErrorNone
تم تفعيل CSL أو إيقافها بنجاح.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

تفعيل/إيقاف ميزة مطابقة عنوان المصدر.

تتحكّم ميزة مطابقة عنوان المصدر في كيفية تحديد طبقة الراديو لإطار الخطأ "للإطار المضمَّن" استجابةً لطلبات طلبات البيانات الواردة من العناصر الثانوية.

في حال الإيقاف، يجب أن تضبط طبقة الراديو "الإطار في انتظار المراجعة" على جميع الطلبات التي تصدر عن طلبات الطلبات.

في حال تفعيل هذه الميزة، تستخدم طبقة الراديو جدول مطابقة العنوان المصدر لتحديد ما إذا كان سيتم ضبط وحدة بت "الإطار" في انتظار المراجعة أو محوها في الأمر ack إلى أمر طلب البيانات.

يوفر جدول مطابقة عنوان المصدر قائمة العناصر الثانوية التي يكون لها إطار في انتظار المراجعة. يمكن إضافة إما عنوان قصير أو عنوان ممتد/كبير إلى جدول مطابقة عنوان المصدر.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aEnable
تفعيل/إيقاف ميزة مطابقة عنوان المصدر.

otPlatRadioEnergyScan

otError otPlatRadioEnergyScan(
  otInstance *aInstance,
  uint8_t aScanChannel,
  uint16_t aScanDuration
)

ابدأ تسلسل فحص الطاقة على الراديو.

يتم استخدام هذه الدالة عندما يوفر الراديو إمكانية OT_Radio_CapS_ENERGY_SCAN.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aScanChannel
القناة التي سيتم إجراء فحص الطاقة عليها.
[in] aScanDuration
المدة بالمللي ثانية للبحث عن القناة.
قيم الإرجاع
OT_ERROR_NONE
بدأت عملية البحث عن القناة بنجاح.
OT_ERROR_NOT_IMPLEMENTED
لا تتيح خدمة الراديو فحص الطاقة.

otPlatRadioEnergyEnergyDone تم

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

يستدعي برنامج تشغيل الراديو هذه الطريقة لإعلام OpenString باكتمال عملية فحص الطاقة.

يتم استخدام هذه الدالة عندما يوفر الراديو إمكانية OT_Radio_CapS_ENERGY_SCAN.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aEnergyScanMaxRssi
الحد الأقصى لعدد RSSI الذي يظهر على القناة التي تم فحصها.

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

احصل على مقاييس العمل المشترك اللاسلكي.

تُستخدم هذه الدالة عند تفعيل الميزة OpenGLيمكن العثور عليها في WORD_CONFIG_PLATFORM_Radio_COEX_ENABLE.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[out] aCoexMetrics
مؤشر لبنية المقاييس المشتركة.
قيم الإرجاع
OT_ERROR_NONE
تم استرداد مقاييس coex بنجاح.
OT_ERROR_INVALID_ARGS
كان aCoexMetrics فارغًا.

otPlatRadioGetCslAccuracy

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

يمكنك الحصول على الدقة الحالية بوحدة القياس ±/دقيقة، للساعة المستخدمة لجدولة عمليات CSL.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
يلتف جدول بيانات CSL rx/tx الحالي إلى وحدات ± ppm.

otPlatRadioGetGet

uint8_t otPlatRadioGetCslClockUncertainty(
  otInstance *aInstance
)

استمِع إلى عدم الاستقرار الحالي، بوحدات 10 لنا، من الساعة المُستخدَمة لجدولة عمليات CSL.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
طلبات الإرجاع
عدم التأكد حاليًا من ساعة CSL في الوحدات المكوّنة من 10 مستخدمين

otPlatRadioGetPreferrerChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

احصل على قناع القناة المفضّل للراديو والذي يفضّل الجهاز استخدامه.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
طلبات الإرجاع
القناع المُفضّل للقناة اللاسلكية

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

احصل على رمز المنطقة.

إن تنسيق منطقة الراديو هو تمثيل بتنسيق ascii بحجم 2 بايت لرمز ISO 3166 alpha-2.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[out] aRegionCode
منطقة الراديو
قيم الإرجاع
OT_ERROR_INVALID_ARGS
aRegionCode فارغ.
OT_ERROR_FAILED
أخطاء أخرى خاصة بالنظام الأساسي
OT_ERROR_NONE
تمّ الحصول على رمز المنطقة.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

يمكنك الاطّلاع على أحدث قياس RSSI.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
طلبات الإرجاع
تنسيق RSSI بالديسيبل ميلي واط عندما يكون صالحًا. 127 عندما يكون RSSI غير صالح.

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

يمكنك الآن معرفة الحالة الحالية للراديو.

هذه الدالة غير مطلوبة من خلال OpenThread. وقد يتم استخدامه لأغراض تصحيح الأخطاء و/أو التطبيقات.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
طلبات الإرجاع
الحالة الحالية للراديو.

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

الحصول على قناع القناة المتوافق مع الراديو والذي يُسمَح له بتشغيل الجهاز.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
طلبات الإرجاع
قناع القناة المتوافق مع الراديو.

otPlatRadioGetGetmitmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

احصَل على إطار التخزين المؤقت للإرسال اللاسلكي.

يشكل OpenOpen إطار IEEE 802.15.4 في هذا المخزن المؤقت، ثم يستدعي otPlatRadioTransmit() لطلب النقل.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
طلبات الإرجاع
مؤشر إلى المخزن المؤقت لإطار الإرسال.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

تحقّق مما إذا كانت إعدادات coex اللاسلكية مفعّلة أم لا.

تُستخدم هذه الدالة عند تفعيل الميزة OpenGLيمكن العثور عليها في WORD_CONFIG_PLATFORM_Radio_COEX_ENABLE.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
طلبات الإرجاع
صواب إذا تم تفعيل coex اللاسلكي، أو خطأ (FALSE).

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

تحقق مما إذا كان الراديو مفعلاً أم لا.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
طلبات الإرجاع
TRUE إذا كان الراديو مفعّلاً، أو FALSE.

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

نقل الراديو من وضع السكون إلى الاستلام (تشغيل الراديو).

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aChannel
القناة المطلوب استخدامها لتلقي الأموال.
قيم الإرجاع
OT_ERROR_NONE
تم النقل بنجاح إلى "استلام".
OT_ERROR_INVALID_STATE
تم إيقاف الراديو أو إرساله.

otPlatRadioReceiveAt

otError otPlatRadioReceiveAt(
  otInstance *aInstance,
  uint8_t aChannel,
  uint32_t aStart,
  uint32_t aDuration
)

جدولة فترة استقبال لاسلكي في وقت ومدة محددة

التفاصيل
المعلَمات
[in] aChannel
قناة الراديو المطلوب تلقّيها.
[in] aStart
وقت بدء نافذة الاستلام، بالميكروثانية.
[in] aDuration
مدة نافذة الاستلام، بالميكروثانية
قيم الإرجاع
OT_ERROR_NONE
تمت جدولة نافذة الاستلام بنجاح.
OT_ERROR_FAILED
تعذّر جدولة نافذة الاستلام.

otPlatRadioReceiveDone

void otPlatRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

يستدعي برنامج تشغيل الراديو هذه الطريقة لإعلام OpenString بالإطار المُستلَم.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aFrame
مؤشر إلى الإطار المُستلَم أو فارغ في حال تعذُّر عملية الاستلام.
[in] aError
OT_ERROR_NONE عند تلقّي إطار بنجاح، OT_ERROR_ABORT عند إلغاء الاستقبال وعدم تلقّي إطار، يتم OT_ERROR_NO_BUFS عندما لا يمكن تلقي إطار نظرًا لعدم وجود مساحة تخزين rx.

otPlatRadioSetChannelMaxTransmitPower

otError otPlatRadioSetChannelMaxTransmitPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int8_t aMaxPower
)

ضبط الحد الأقصى لقوة الإرسال لقناة معيّنة

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aChannel
قناة الراديو.
[in] aMaxPower
سيؤدي الحد الأقصى من الطاقة بالديسيبل ميلي واط، الذي يتجاوز OT_Radio_RSSI_INVALID إلى إيقاف هذه القناة.
قيم الإرجاع
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ الميزة
OT_ERROR_INVALID_ARGS
القناة المحددة غير صالحة.
OT_ERROR_FAILED
أخطاء أخرى خاصة بالنظام الأساسي
OT_ERROR_NONE
تم ضبط أقصى طاقة للإرسال بنجاح.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تفعيل coex اللاسلكي.

تُستخدم هذه الدالة عند تفعيل الميزة OpenGLيمكن العثور عليها في WORD_CONFIG_PLATFORM_Radio_COEX_ENABLE.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aEnabled
TRUE لتفعيل coex اللاسلكي، وبخلاف ذلك، FALSE.
قيم الإرجاع
OT_ERROR_NONE
تم التفعيل بنجاح.
OT_ERROR_FAILED
تعذّر تفعيل <ex.اللاسلكي.

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

اضبط رمز المنطقة.

إن تنسيق منطقة الراديو هو تمثيل بتنسيق ascii بحجم 2 بايت لرمز ISO 3166 alpha-2.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aRegionCode
منطقة الراديو
قيم الإرجاع
OT_ERROR_FAILED
أخطاء أخرى خاصة بالنظام الأساسي
OT_ERROR_NONE
تم ضبط رمز المنطقة بنجاح.

otPlatRadioSleepSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

نقل الراديو من خيار "الاستلام إلى وضع السكون" (إيقاف تشغيل الراديو).

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
قيم الإرجاع
OT_ERROR_NONE
تم النقل إلى وضع السكون بنجاح.
OT_ERROR_BUSY
يجري إرسال الراديو.
OT_ERROR_INVALID_STATE
تم إيقاف الراديو.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

ابدأ تسلسل الإرسال على الراديو.

يجب أن ينشئ المتصل إطار IEEE 802.15.4 في المخزن المؤقت الذي يوفره otPlatRadioGetTransmitBuffer() قبل طلب النقل. يتم أيضًا تضمين القناة وإمكانية الإرسال في بنية otRadioFrame.

يتكون تسلسل الإرسال من:

  1. نقل الراديو إلى النقل من إحدى الحالات التالية:
    • استقبال المحتوى إذا كان RX في وضع التشغيل عندما يكون الجهاز غير نشِط لفترة قصيرة أو كان OT_Radio_CapS_SLEEP_TO_TX غير متوافق
    • عندما يكون الجهاز غير مفعّل عندما يكون الجهاز غير نشِط لفترة قصيرة وتكون OT_Radio_CapS_SLEEP_TO_TX متوافقة.
  2. ينقل psdu على القناة المحددة وبقوة إرسال معيّنة.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aFrame
مؤشر للإطار المراد نقله.
قيم الإرجاع
OT_ERROR_NONE
تم النقل بنجاح إلى "إرسال".
OT_ERROR_INVALID_STATE
لم يكن الراديو في حالة "استلام".

otPlatRadioTxتم

void otPlatRadioTxDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otRadioFrame *aAckFrame,
  otError aError
)

يستدعي برنامج تشغيل الراديو هذه الدالة لإعلام OpenThread بأنّ عملية النقل قد اكتملت، ما يوفّر كلاً من الإطار المنقول وإطار ack المُستلَم، إن أمكن ذلك.

عندما توفّر الراديو إمكانية OT_RADIO_CAPS_TRANSMIT_SEC، يتم تحديث aFrame في طبقة النظام الأساسي للراديو باستخدام عدّاد إطار الأمان وقيم الفهرس الرئيسية التي تحتفظ بها الراديو.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aFrame
مؤشر للإطار الذي تم نقله.
[in] aAckFrame
مؤشر إلى إطار ACK، فارغ في حالة عدم تلقي ACK.
[in] aError
OT_ERROR_NONE عند نقل الإطار، OT_ERROR_NO_ACK عند نقل الإطار ولكن لم يتم تلقي ACK، تعذَّر حدوث OT_ERROR_CHANNEL_ACCESS_FAILURE tx بسبب النشاط على القناة، OT_ERROR_ABORT عندما تم إلغاء عملية النقل لأسباب أخرى.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

يستدعي برنامج تشغيل الراديو هذه الطريقة لإعلام OpenThread بأنّ عملية الإرسال قد بدأت.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى بنية مثيل OpenThread.
[in] aFrame
مؤشر للإطار الذي يتم نقله.

otPlatRadioUpdateCslsampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

تعديل وقت نموذج CSL في برنامج تشغيل الراديو.

يتم تخزين نموذج الوقت في برنامج تشغيل الراديو كنسخة لحساب المرحلة عند إرسال ACK باستخدام CSL IE.

التفاصيل
المعلَمات
[in] aInstance
بنية المثال المفتوح.
[in] aCslSampleTime
آخر وقت نموذجي.

المراجع

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