معالج مشارك في الشبكة

تتضمّن هذه الوحدة وظائف تتحكّم في تنفيذ حِزم سلاسل المحادثات.

ملخّص

أنواع المحددات

otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount) typedef
bool(*
تحدد نوع التفويض (مؤشر الدالة) للتحكّم في سلوك عملية لمحة خاطفة.
otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength) typedef
int(*
يتم استدعاء المؤشر لإرسال بيانات NCP مشفّرة بدقة عالية.

الدوال

otNcpHdlcInit(otInstance *aInstance, otNcpHdlcSendCallback aSendCallback)
void
إعداد NCP استنادًا إلى استخدام إطارات HDLC.
otNcpHdlcReceive(const uint8_t *aBuf, uint16_t aBufLength)
void
ويتم الاتصال بعد تلقّي بيانات NCP المشفّرة بدقة عالية.
otNcpHdlcSendDone(void)
void
ويتم الاتصال بعد انتهاء عملية الإرسال عبر NCP.
otNcpPlatLogv(otLogLevel aLogLevel, otLogRegion aLogRegion, const char *aFormat, va_list aArgs)
void
تتم كتابة سجلّ OpenThread باستخدام otNcpStreamWrite.
otNcpRegisterPeekPokeDelegates(otNcpDelegateAllowPeekPoke aAllowPeekDelegate, otNcpDelegateAllowPeekPoke aAllowPokeDelegate)
void
تسجّل وظائف تفويض "خُفق" و"تفويض" باستخدام وحدة NCP.
otNcpSpiInit(otInstance *aInstance)
void
إعداد برنامج NCP استنادًا إلى ميزة "استخدام الإطارات"
otNcpStreamWrite(int aStreamId, const uint8_t *aDataPtr, int aDataLen)
يمكنك إرسال البيانات إلى المضيف من خلال مصدر بيانات محدّد.

أنواع المحددات

otNcpتفويضAllowPeekPoke

bool(* otNcpDelegateAllowPeekPoke)(uint32_t aAddress, uint16_t aCount)

تحدد نوع التفويض (مؤشر الدالة) للتحكّم في سلوك عملية لمحة خاطفة.

يتم استدعاء وظيفة التفويض هذه لتحديد ما إذا كانت تريد السماح بنظرة سريعة أو حذف منطقة معيَّنة من الذاكرة. ويُستخدم هذا الإعداد في حال تفعيل بروتوكول NCP لأوامر pek/pok.

التفاصيل
المَعلمات
[in] aAddress
عنوان بدء منطقة الذاكرة
[in] aCount
عدد وحدات البايت للبحث عنها أو سحبها
المرتجعات
TRUE للسماح بنظرة سريعة/نُسخة من منطقة الذاكرة المحدّدة، القيمة FALSE في الحالات الأخرى

otNcpHdlcSendCallback

int(* otNcpHdlcSendCallback)(const uint8_t *aBuf, uint16_t aBufLength)

يتم استدعاء المؤشر لإرسال بيانات NCP مشفّرة بدقة عالية.

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

الدوال

otNcpHdlcInit

void otNcpHdlcInit(
  otInstance *aInstance,
  otNcpHdlcSendCallback aSendCallback
)

إعداد NCP استنادًا إلى استخدام إطارات HDLC.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aSendCallback
مؤشر الدالة المستخدَم لإرسال بيانات NCP

otNcpHdlcاستقبال

void otNcpHdlcReceive(
  const uint8_t *aBuf,
  uint16_t aBufLength
)

ويتم الاتصال بعد تلقّي بيانات NCP المشفّرة بدقة عالية.

التفاصيل
المَعلمات
[in] aBuf
مؤشر إلى المخزن المؤقت
[in] aBufLength
طول البيانات المخزنة في المخزن المؤقت.

otNcpHdlcSendDone

void otNcpHdlcSendDone(
  void
)

ويتم الاتصال بعد انتهاء عملية الإرسال عبر NCP.

otNcpPlatLogv

void otNcpPlatLogv(
  otLogLevel aLogLevel,
  otLogRegion aLogRegion,
  const char *aFormat,
  va_list aArgs
)

تتم كتابة سجلّ OpenThread باستخدام otNcpStreamWrite.

التفاصيل
المَعلمات
[in] aLogLevel
مستوى السجلّ
[in] aLogRegion
منطقة السجلّ.
[in] aFormat
يشير إلى سلسلة التنسيق.
[in] aArgs
قائمة va_list التي تطابق aFormat.

otNcpregisterPeekPoke Commissions

void otNcpRegisterPeekPokeDelegates(
  otNcpDelegateAllowPeekPoke aAllowPeekDelegate,
  otNcpDelegateAllowPeekPoke aAllowPokeDelegate
)

تسجّل وظائف تفويض "خُفق" و"تفويض" باستخدام وحدة NCP.

يتم طلب وظائف التفويض عن طريق وحدة NCP لتحديد ما إذا كان سيتم السماح بالنظرة السريعة أو منطقة معينة من الذاكرة. إذا تم ضبط مؤشر التفويض على NULL، يسمح ذلك بعملية "الخُبز/البوكي" لأي عنوان.

التفاصيل
المَعلمات
[in] aAllowPeekDelegate
تفويض مؤشر الدالة للعمل بشكل سريع
[in] aAllowPokeDelegate
يمكنك تفويض مؤشر الدالة لعملية pok.

otNcpSpiInit

void otNcpSpiInit(
  otInstance *aInstance
)

إعداد برنامج NCP استنادًا إلى ميزة "استخدام الإطارات"

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

otNcpStreamWrite

otError otNcpStreamWrite(
  int aStreamId,
  const uint8_t *aDataPtr,
  int aDataLen
)

يمكنك إرسال البيانات إلى المضيف من خلال مصدر بيانات محدّد.

محاولات إرسال البيانات المحددة إلى المضيف باستخدام astreamId المحدّد. ويُعدّ ذلك مفيدًا للإبلاغ عن رسائل الخطأ وتنفيذ وحدات تصحيح الأخطاء/بيانات التشخيص وأنواع أخرى من مصادر البيانات.

ويتم قبول النص إمّا كليًا أو تم رفضه. ولا تتم محاولة عمليات الكتابة الجزئية.

التفاصيل
المَعلمات
[in] aStreamId
هو معرّف رقمي مخصّص للبث المباشر. في حال ضبط القيمة على "0"، سيتم ضبط الإعدادات التلقائية على بث تصحيح الأخطاء.
[in] aDataPtr
مؤشر للبيانات التي يجب إرسالها في البث إذا لم تكن aDataLen صفرًا، يجب أن تكون هذه المعلّمة NULL.
[in] aDataLen
عدد وحدات البايت من البيانات من aDataPtr لإرسالها.
قيم الإرجاع
OT_ERROR_NONE
تم تجميع البيانات في قائمة انتظار التسليم إلى المضيف.
OT_ERROR_BUSY
لا تتوفر موارد كافية لإكمال هذا الطلب. وتكون هذه الحالة مؤقتة.
OT_ERROR_INVALID_ARGS
قيمة aStreamId المحدّدة غير صالحة.

الموارد

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