پردازشگر مشترک شبکه

این ماژول شامل توابعی است که اجرای پشته Thread را کنترل می کند.

خلاصه

Typedefs

otNcpDelegateAllowPeekPoke )(uint32_t aAddress, uint16_t aCount) typedef
bool(*
نوع نمایندگی (نشانگر تابع) را برای کنترل رفتار عملیات زیرچشمی/پوک کردن تعریف می کند.
otNcpHdlcSendCallback )(const uint8_t *aBuf, uint16_t aBufLength) typedef
int(*
اشاره گر برای ارسال داده های NCP کدگذاری شده HDLC فراخوانی می شود.

کارکرد

otNcpHdlcInit ( otInstance *aInstance, otNcpHdlcSendCallback aSendCallback)
void
NCP را بر اساس فریم HDLC راه اندازی کنید.
otNcpHdlcInitMulti ( otInstance **aInstance, uint8_t aCount, otNcpHdlcSendCallback aSendCallback)
void
NCP را بر اساس فریم HDLC راه اندازی کنید.
otNcpHdlcReceive (const uint8_t *aBuf, uint16_t aBufLength)
void
پس از دریافت داده های NCP کدگذاری شده HDLC فراخوانی می شود.
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 را بر اساس چارچوب SPI راه اندازی کنید.
otNcpStreamWrite (int aStreamId, const uint8_t *aDataPtr, int aDataLen)
داده ها را از طریق یک جریان خاص به میزبان ارسال کنید.

Typedefs

otNcpDelegateAllowPeekPoke

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

نوع نمایندگی (نشانگر تابع) را برای کنترل رفتار عملیات زیرچشمی/پوک کردن تعریف می کند.

این تابع نماینده فراخوانی می شود تا تصمیم بگیرد که آیا اجازه نگاه کردن یا نوک زدن یک ناحیه حافظه خاص را می دهد. اگر پشتیبانی NCP برای دستورات peek/poke فعال باشد استفاده می شود.

جزئیات
مولفه های
[in] aAddress
آدرس شروع منطقه حافظه
[in] aCount
تعداد بایت‌هایی که باید زیرچشمی یا نوک زدن را مشاهده کنید.
برمی گرداند
TRUE برای اجازه دادن به زیرچشمی/پوک کردن ناحیه حافظه داده شده، FALSE در غیر این صورت.

otNcpHdlcSendCallback

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

اشاره گر برای ارسال داده های NCP کدگذاری شده HDLC فراخوانی می شود.

جزئیات
مولفه های
[in] aBuf
اشاره گر به بافر با خروجی.
[in] aBufLength
طول داده های خروجی ذخیره شده در بافر.
برمی گرداند
تعداد بایت های پردازش شده توسط پاسخ تماس.

کارکرد

otNcpHdlcInit

void otNcpHdlcInit(
  otInstance *aInstance,
  otNcpHdlcSendCallback aSendCallback
)

NCP را بر اساس فریم HDLC راه اندازی کنید.

جزئیات
مولفه های
[in] aInstance
ساختار نمونه OpenThread.
[in] aSendCallback
نشانگر تابعی که برای ارسال داده های NCP استفاده می شود.

otNcpHdlcInitMulti

void otNcpHdlcInitMulti(
  otInstance **aInstance,
  uint8_t aCount,
  otNcpHdlcSendCallback aSendCallback
)

NCP را بر اساس فریم HDLC راه اندازی کنید.

جزئیات
مولفه های
[in] aInstances
آرایه نشانگرهای نمونه OpenThread.
[in] aCount
تعداد عناصر در آرایه
[in] aSendCallback
نشانگر تابعی که برای ارسال داده های NCP استفاده می شود.

otNcpHdlcReceive

void otNcpHdlcReceive(
  const uint8_t *aBuf,
  uint16_t aBufLength
)

پس از دریافت داده های NCP کدگذاری شده HDLC فراخوانی می شود.

جزئیات
مولفه های
[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 مطابق با فرمت.

otNcpRegisterPeekPokeDelegates

void otNcpRegisterPeekPokeDelegates(
  otNcpDelegateAllowPeekPoke aAllowPeekDelegate,
  otNcpDelegateAllowPeekPoke aAllowPokeDelegate
)

توابع ارسال زیرچشمی/پوک را با ماژول NCP ثبت می کند.

توابع نماینده توسط ماژول NCP فراخوانی می شوند تا تصمیم بگیرند که آیا اجازه نگاه کردن یا نوک زدن یک منطقه خاص حافظه را می دهد. اگر نشانگر نماینده روی NULL تنظیم شود، امکان عملیات زیرچشمی/پوک کردن را برای هر آدرسی فراهم می کند.

جزئیات
مولفه های
[in] aAllowPeekDelegate
نشانگر تابع را برای عملیات زیرچشمی واگذار کنید.
[in] aAllowPokeDelegate
نشانگر تابع را برای عملیات poke تفویض کنید.

otNcpSpiInit

void otNcpSpiInit(
  otInstance *aInstance
)

NCP را بر اساس چارچوب SPI راه اندازی کنید.

جزئیات
مولفه های
[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 API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.