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

تعرض هذه الوحدة ملخصًا للنظام الأساسي للعمليات اللاسلكية.

ملخّص

الدوال

otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
يستدعي سائق الراديو هذه الطريقة لإعلام وحدة بيانات تشخيص OpenThread بإطار مستلَم.
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
يستدعي سائق الراديو هذه الطريقة لإعلام وحدة تشخيص OpenThread باكتمال عملية النقل.
otPlatRadioAddCalibratedPower(otInstance *aInstance, uint8_t aChannel, int16_t aActualPower, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength)
أضِف قوة معايرة للقناة المحدّدة إلى جدول معايرة الطاقة.
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
أضِف عنوانًا موسَّعًا إلى جدول مطابقة عنوان المصدر.
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
أضِف عنوانًا قصيرًا إلى جدول مطابقة عنوان المصدر.
otPlatRadioClearCalibratedPowers(otInstance *aInstance)
محو جميع طاقة المعايرة من جدول معايرة الطاقة
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)
تفعيل/إيقاف أو إجراء اختبارات استقصائية استنادًا إلى حملات تكييف الهواء المحسّنة في الراديو لبادئ تشغيل محدّد
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
يستدعي سائق الراديو هذه الطريقة لإشعار OpenThread باكتمال عملية فحص الطاقة.
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
الحصول على مقاييس العمل المشترَك لاسلكيًا
otPlatRadioGetCslAccuracy(otInstance *aInstance)
uint8_t
يمكنك الحصول على الدقة الحالية بوحدات ± نبضة في الدقيقة، من الساعة المستخدمة لجدولة عمليات CSL.
otPlatRadioGetCslUncertainty(otInstance *aInstance)
uint8_t
عدم التيقن الكامل للجهاز في جدولة عمليات إرسال CSL بوحدات 10 ميكرو ثانية
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
uint32_t
الحصول على قناع القناة المفضّل للراديو الذي يفضّل الجهاز استخدامه.
otPlatRadioGetRawPowerSetting(otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
الحصول على إعداد الطاقة الأولية للقناة المحددة.
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
تحقّق مما إذا كان قد تم تفعيل تبادل الراديو.
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
يستدعي سائق الراديو هذه الطريقة لإعلام OpenThread بإطار مستلَم.
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
اضبط الحدّ الأقصى لطاقة النقل لقناة معيّنة.
otPlatRadioSetChannelTargetPower(otInstance *aInstance, uint8_t aChannel, int16_t aTargetPower)
اضبط الطاقة المستهدَفة للقناة المحددة.
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
تفعيل وضع تبادل البريد.
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 بأنّ عملية النقل قد اكتملت، ما يوفر كلاً من الإطار المُنقَل وإطار العرض الذي تم استلامه.
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
void
يستدعي سائق الراديو هذه الطريقة لإعلام OpenThread بأنّ عملية النقل قد بدأت.
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
void
تعديل عيّنة CSL من خلال سائق الراديو

الدوال

otPlatDiagRadioReceivedتم

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

يستدعي سائق الراديو هذه الطريقة لإعلام وحدة بيانات تشخيص OpenThread بإطار مستلَم.

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

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

otPlatDiagRadioTransmitDone

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

يستدعي سائق الراديو هذه الطريقة لإعلام وحدة تشخيص OpenThread باكتمال عملية النقل.

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

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

otPlatRadioAddCalibatedPower

otError otPlatRadioAddCalibratedPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t aActualPower,
  const uint8_t *aRawPowerSetting,
  uint16_t aRawPowerSettingLength
)

أضِف قوة معايرة للقناة المحدّدة إلى جدول معايرة الطاقة.

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

إعداد الطاقة الأولية هو مصفوفة مبهمة بالبايت. OpenThread لا يحدد تنسيق إعدادات الطاقة الأولية. تنسيقها ذو صلة بالأجهزة اللاسلكية ويجب أن يحدّده مطوّرو البرامج في برنامج تشغيل الراديو. على سبيل المثال، إذا كان جهاز الراديو يحتوي على شريحة اللاسلكي وشريحة FEM، يمكن أن يشكّل إعداد الطاقة الأولية مزيجًا من سجل الطاقة اللاسلكية وقيمة كسب FEM.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aChannel
قناة الراديو.
[in] aActualPower
الطاقة الفعلية: 0.01 ديسيبل ملي واط
[in] aRawPowerSetting
مؤشر إلى مصفوفة وحدات البايت للتحكم في الطاقة الأولية.
[in] aRawPowerSettingLength
تمثّل هذه السمة مدة aRawPowerSetting.
قيم الإرجاع
OT_ERROR_NONE
تمت إضافة طاقة المعايرة إلى جدول معايرة الطاقة بنجاح.
OT_ERROR_NO_BUFS
لا يتوفّر إدخال في جدول معايرة الطاقة.
OT_ERROR_INVALID_ARGS
العمود aChannel أو aActualPower أو aRawPowerSetting غير صالح أو العمود aActualPower متوفّر من قبل في جدول معايرة الطاقة.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ هذه الميزة.

إدخال otPlatRadioAddSrcmatchExt

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

أضِف عنوانًا موسَّعًا إلى جدول مطابقة عنوان المصدر.

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

إدخال otPlatRadioAddSrcmatchShortShort

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

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

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

otPlatRadioClearCalibatedPowers

otError otPlatRadioClearCalibratedPowers(
  otInstance *aInstance
)

محو جميع طاقة المعايرة من جدول معايرة الطاقة

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
قيم الإرجاع
OT_ERROR_NONE
تم محو جميع إمكانات المعايرة بنجاح من جدول معايرة الطاقة.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ هذه الميزة.

otPlatRadioClearSrcmatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

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

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

إدخال otPlatRadioClearSrcVoiceExt

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

أزِل عنوانًا موسَّعًا من جدول مطابقة عنوان المصدر.

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

otPlatRadioClearSrcmatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

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

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

إدخال otPlatRadioClearSrc MatchShort

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

أزِل عنوانًا قصيرًا من جدول مطابقة عنوان المصدر.

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

otPlatRadioConfigureEnhAckProbing

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

تفعيل/إيقاف أو إجراء اختبارات استقصائية استنادًا إلى حملات تكييف الهواء المحسّنة في الراديو لبادئ تشغيل محدّد

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

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

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

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

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

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

تفعيل الراديو

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

otPlatRadioEnableCsl

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

تفعيل أو إيقاف مستقبِل CSL

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

otPlatRadioEnableSrcmatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

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

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

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

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

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

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

otPlatRadioEnergyScan

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

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

يُستخدم عندما يوفر الراديو إمكانية OT_Rad_CAPS_ENERGY_SCAN.

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

otPlatRadioEnergyScanتم

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

يستدعي سائق الراديو هذه الطريقة لإشعار OpenThread باكتمال عملية فحص الطاقة.

يُستخدم عندما يوفر الراديو إمكانية OT_Rad_CAPS_ENERGY_SCAN.

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

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

الحصول على مقاييس العمل المشترَك لاسلكيًا

يُستخدم عند تفعيل الميزة OPENThread_CONFIG_PLATFORM_Rad_COEX_ENABLE.

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

otPlatRadioGetCslAccuracy

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

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

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
المرتجعات
انحراف إلّا أنّ الوقت المنقضي x rx/tx بالوحدة، وهو معدّل وحدة تساوي نبضة في الدقيقة

otPlatRadioGetCslUncertainity

uint8_t otPlatRadioGetCslUncertainty(
  otInstance *aInstance
)

عدم التيقن الكامل للجهاز في جدولة عمليات إرسال CSL بوحدات 10 ميكرو ثانية

التفاصيل
المَعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
المرتجعات
عدم التيقّن من CSL في وحداتنا العشرة

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

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

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
المرتجعات
القناع المفضّل للقناة

otPlatRadioGetRawPowerSetting

otError otPlatRadioGetRawPowerSetting(
  otInstance *aInstance,
  uint8_t aChannel,
  uint8_t *aRawPowerSetting,
  uint16_t *aRawPowerSettingLength
)

الحصول على إعداد الطاقة الأولية للقناة المحددة.

ملاحظة: تنفّذ OpenThread src/core/utils عملية تنفيذ تلقائية لواجهة برمجة التطبيقات otPlatRadioAddCalibratedPower() وotPlatRadioClearCalibratedPowers() وotPlatRadioSetChannelTargetPower(). يتم توفير واجهة برمجة التطبيقات هذه من خلال التنفيذ التلقائي للحصول على إعداد الطاقة الأولية للقناة المحددة. وإذا لم تستخدم المنصة عملية التنفيذ التلقائية، يمكنها تجاهل واجهة برمجة التطبيقات هذه. يجب أن تحلل طبقة الراديو للنظام الأساسي إعداد الطاقة الأولية بناءً على تنسيق طبقة الراديو المحددة ومعلّمات كل وحدة من أجهزة الراديو.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aChannel
قناة الراديو.
[out] aRawPowerSetting
مؤشر إلى مصفوفة وحدات البايت للتحكم في الطاقة الأولية.
[in,out] aRawPowerSettingLength
عند إدخال مؤشر الماوس على حجم aRawPowerSetting. في حقل الإخراج، يشير إلى طول بيانات إعداد الطاقة الأولية.
قيم الإرجاع
OT_ERROR_NONE
تم الحصول على الطاقة المستهدفة بنجاح.
OT_ERROR_INVALID_ARGS
aChannel غير صالح أو aRawPowerSetting أو aRawPowerSettingLength فارغ أو قصير جدًا.
OT_ERROR_NOT_FOUND
لم يتم العثور على إعداد الطاقة الأولية لـ aChannel.

otPlatRadioGetregion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

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

إنّ تنسيق المنطقة اللاسلكية هو تمثيل ASCII 2 بايت لرمز ISO 3166 alpha-2.

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

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

الحصول على أحدث قياسات RSSI.

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

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

الحصول على الحالة الحالية للراديو

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

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

otPlatRadioGet متوافقChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

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

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

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

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

يفتح OpenThread إطار IEEE 802.15.4 في هذا المخزن المؤقت، ثم يطلب otPlatRadioTransmit() لطلب النقل.

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

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

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

يُستخدم عند تفعيل الميزة OPENThread_CONFIG_PLATFORM_Rad_COEX_ENABLE.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
المرتجعات
صحيح إذا تم تفعيل coex اللاسلكي، أو تم تحديده على "خطأ".

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

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

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
المرتجعات
صحيح إذا تم تفعيل الراديو، ويتم خطأ "خطأ" في الحالات الأخرى.

otPlatRadio الاستلام

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

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

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

otPlatRadioReceivedAt

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
تعذَّر جدولة نافذة الاستلام.

otPlatRadioReceivedتم

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

يستدعي سائق الراديو هذه الطريقة لإعلام OpenThread بإطار مستلَم.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aFrame
مؤشر للإطار الذي تم استلامه أو القيمة NULL إذا تعذّر إتمام عملية الاستلام.
[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
بنية مثيل OpenThread.
[in] aChannel
قناة الراديو.
[in] aMaxPower
تؤدي السعة القصوى ديسيبل ميلي واط إلى إدخال OT_Rad_RSSI_INVALID إلى إيقاف هذه القناة.
قيم الإرجاع
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ الميزة
OT_ERROR_INVALID_ARGS
القناة المحدَّدة غير صالحة.
OT_ERROR_FAILED
أخطاء أخرى خاصة بالنظام الأساسي
OT_ERROR_NONE
تم ضبط الحد الأقصى لطاقة النقل بنجاح.

otPlatRadioSetChannelTargetPower

otError otPlatRadioSetChannelTargetPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t aTargetPower
)

اضبط الطاقة المستهدَفة للقناة المحددة.

ملاحظة:واجهة برمجة التطبيقات هذه هي واجهة برمجة تطبيقات اختيارية للمنصات اللاسلكية. ويعود الأمر إلى طبقة النظام الأساسي لتنفيذه. وفي حال تنفيذ واجهة برمجة التطبيقات هذه، يجب إيقاف الدالة otPlatRadioSetTransmitPower(). يجب أن يضبط برنامج التشغيل اللاسلكي الطاقة الإخراج الفعلية على أن تكون أقل من أو تساوي التيار المُستهدف وأن تكون أقرب ما يمكن من الطاقة المستهدَفة.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aChannel
قناة الراديو.
[in] aTargetPower
الطاقة المستهدفة: 0.01 ديسيبل ملي واط سيؤدي تمرير INT16_MAX إلى إيقاف هذه القناة لاستخدام الطاقة المستهدفة.
قيم الإرجاع
OT_ERROR_NONE
تم ضبط الطاقة المستهدفة بنجاح.
OT_ERROR_INVALID_ARGS
إنّ aChannel أو aTargetPower غير صالح.
OT_ERROR_NOT_IMPLEMENTED
لم يتم تنفيذ الميزة.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تفعيل وضع تبادل البريد.

يُستخدم عند تفعيل الميزة OPENThread_CONFIG_PLATFORM_Rad_COEX_ENABLE.

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

otPlatRadioSetregion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

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

إنّ تنسيق المنطقة اللاسلكية هو تمثيل ASCII 2 بايت لرمز ISO 3166 alpha-2.

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

OotPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

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

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
قيم الإرجاع
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_Rad_CAPS_SLEEP_TO_TX غير متوافق.
    • السكون إذا كان RX متوقّفًا عندما يكون الجهاز في وضع عدم النشاط مع إتاحة OT_Rad_CAPS_SLEEP_TO_TX.
  2. لنقل العنصر الافتراضي على القناة المحددة وبقوة النقل المحددة.

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

otPlatRadioTxDone

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

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

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

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aFrame
مؤشر للإطار الذي تم نقله.
[in] aAckFrame
مؤشر إلى إطار ACK بقيمة NULL في حال عدم استلام 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
بنية مثيل OpenThread.
[in] aCslSampleTime
آخر عيّنة من البيانات

الموارد

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