نمونه، مثال

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

خلاصه

Typedefs

otChangedFlags typedef
uint32_t
نمایانگر یک میدان بیتی است که وضعیت/پیکربندی خاصی را نشان می‌دهد که تغییر کرده است.
otInstance typedef
struct otInstance
ساختار نمونه OpenThread را نشان می دهد.
otStateChangedCallback )(otChangedFlags aFlags, void *aContext) typedef
void(*
اشاره گر فراخوانی می شود تا پیکربندی یا تغییرات حالت خاصی را در OpenThread اعلام کند.

کارکرد

otGetRadioVersionString ( otInstance *aInstance)
const char *
رشته نسخه رادیویی OpenThread را دریافت می کند.
otGetVersionString (void)
const char *
رشته نسخه OpenThread را دریافت می کند.
otInstanceErasePersistentInfo ( otInstance *aInstance)
تمام اطلاعات پایدار OpenThread (تنظیمات شبکه) ذخیره شده در حافظه غیر فرار را پاک می کند.
otInstanceFactoryReset ( otInstance *aInstance)
void
تمام تنظیمات ذخیره شده در حافظه غیر فرار را حذف می کند و سپس بازنشانی پلت فرم را راه اندازی می کند.
otInstanceFinalize ( otInstance *aInstance)
void
کتابخانه OpenThread را غیرفعال می کند.
otInstanceGetId ( otInstance *aInstance)
uint32_t
شناسه نمونه را دریافت می کند.
otInstanceGetUptime ( otInstance *aInstance)
uint64_t
زمان آپلود نمونه فعلی (بر حسب میلی ثانیه) را برمی گرداند.
otInstanceGetUptimeAsString ( otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
زمان کار نمونه فعلی را به عنوان یک رشته قابل خواندن توسط انسان برمی گرداند.
otInstanceInit (void *aInstanceBuffer, size_t *aInstanceBufferSize)
کتابخانه OpenThread را راه اندازی می کند.
otInstanceInitMultiple (uint8_t aIdx)
نمونه OpenThread را راه اندازی می کند.
otInstanceInitSingle (void)
نمونه واحد استاتیک کتابخانه OpenThread را راه اندازی می کند.
otInstanceIsInitialized ( otInstance *aInstance)
bool
نشان می دهد که آیا نمونه معتبر است یا نه.
otInstanceReset ( otInstance *aInstance)
void
بازنشانی پلت فرم را راه اندازی می کند.
otInstanceResetRadioStack ( otInstance *aInstance)
void
حالت های داخلی پشته رادیویی OpenThread را بازنشانی می کند.
otInstanceResetToBootloader ( otInstance *aInstance)
در صورت پشتیبانی، بازنشانی پلت فرم به حالت بوت لودر را راه اندازی می کند.
otRemoveStateChangeCallback ( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
پاسخ تماس را حذف می کند تا مشخص کند که چه زمانی پیکربندی یا وضعیت خاصی در OpenThread تغییر می کند.
otSetStateChangedCallback ( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
برای نشان دادن زمانی که پیکربندی یا وضعیت خاصی در OpenThread تغییر می کند، یک تماس برگشتی ثبت می کند.

Typedefs

otChangedFlags

uint32_t otChangedFlags

نمایانگر یک میدان بیتی است که وضعیت/پیکربندی خاصی را نشان می‌دهد که تغییر کرده است.

تعاریف OT_CHANGED_* را ببینید.

otInstance

struct otInstance otInstance

ساختار نمونه OpenThread را نشان می دهد.

otStateChangedCallback

void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)

اشاره گر فراخوانی می شود تا پیکربندی یا تغییرات حالت خاصی را در OpenThread اعلام کند.

جزئیات
مولفه های
[in] aFlags
یک میدان بیتی که وضعیت خاصی را نشان می دهد که تغییر کرده است. تعاریف OT_CHANGED_* را ببینید.
[in] aContext
اشاره گر به زمینه خاص برنامه.

کارکرد

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

رشته نسخه رادیویی OpenThread را دریافت می کند.

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

otGetVersionString

const char * otGetVersionString(
  void
)

رشته نسخه OpenThread را دریافت می کند.

جزئیات
برمی گرداند
اشاره گر به نسخه OpenThread.

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

تمام اطلاعات پایدار OpenThread (تنظیمات شبکه) ذخیره شده در حافظه غیر فرار را پاک می کند.

پاک کردن فقط در صورتی موفقیت آمیز است که دستگاه در وضعیت/نقش disabled باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
ارزش های بازگشتی
OT_ERROR_NONE
همه اطلاعات/وضعیت ثابت با موفقیت پاک شد.
OT_ERROR_INVALID_STATE
دستگاه در وضعیت/نقش disabled نیست.

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

تمام تنظیمات ذخیره شده در حافظه غیر فرار را حذف می کند و سپس بازنشانی پلت فرم را راه اندازی می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

کتابخانه OpenThread را غیرفعال می کند.

زمانی که OpenThread دیگر استفاده نمی شود، این تابع را فراخوانی کنید.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.

otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

شناسه نمونه را دریافت می کند.

هنگامی که نمونه ساخته می شود، شناسه نمونه روی یک مقدار تصادفی تنظیم می شود و پس از مقداردهی اولیه، مقدار آن تغییر نمی کند.

جزئیات
برمی گرداند
شناسه نمونه

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

زمان آپلود نمونه فعلی (بر حسب میلی ثانیه) را برمی گرداند.

برای فعال کردن OPENTHREAD_CONFIG_UPTIME_ENABLE نیاز دارد.

زمان کار به عنوان تعداد میلی ثانیه از زمان اولیه سازی نمونه OpenThread داده می شود.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
زمان کار (تعداد میلی ثانیه).

otInstanceGetUptimeAsString

void otInstanceGetUptimeAsString(
  otInstance *aInstance,
  char *aBuffer,
  uint16_t aSize
)

زمان کار نمونه فعلی را به عنوان یک رشته قابل خواندن توسط انسان برمی گرداند.

برای فعال کردن OPENTHREAD_CONFIG_UPTIME_ENABLE نیاز دارد.

رشته از قالب پیروی می کند " : : . "برای ساعت ها، دقیقه ها، ثانیه ها و میلی ثانیه ها (اگر زمان کار کمتر از یک روز باشد) یا "

د : : . (اگر بیشتر از یک روز باشد).

اگر رشته به دست آمده در aBuffer (در کاراکترهای aSize آن) قرار نگیرد، رشته کوتاه می‌شود اما رشته خروجی همیشه تهی است.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aBuffer
یک اشاره گر به یک آرایه char برای خروجی رشته.
[in] aSize
اندازه aBuffer (بر حسب بایت). برای استفاده از OT_UPTIME_STRING_SIZE توصیه می شود.

otInstanceInit

otInstance * otInstanceInit(
  void *aInstanceBuffer,
  size_t *aInstanceBufferSize
)

کتابخانه OpenThread را راه اندازی می کند.

OpenThread را راه اندازی می کند و آن را برای فراخوانی های بعدی OpenThread API آماده می کند. این تابع باید قبل از هر تماس دیگری با OpenThread فراخوانی شود.

در دسترس است و فقط زمانی می توان از آن استفاده کرد که پشتیبانی از چندین نمونه OpenThread فعال باشد.

جزئیات
مولفه های
[in] aInstanceBuffer
بافر OpenThread برای تخصیص ساختار otInstance.
[in,out] aInstanceBufferSize
در ورودی، اندازه یک InstanceBuffer. در خروجی، اگر فضای کافی برای otInstance نباشد، تعداد بایت های مورد نیاز برای otInstance.
برمی گرداند
اشاره گر به نمونه OpenThread جدید.
همچنین ببینید:
otInstanceFinalize

otInstanceInitMultiple

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

نمونه OpenThread را راه اندازی می کند.

این تابع OpenThread را مقداردهی اولیه می کند و آن را برای فراخوانی های بعدی OpenThread API آماده می کند. این تابع باید قبل از هر تماس دیگری با OpenThread فراخوانی شود. این روش از بافر استاتیک برای مقداردهی اولیه نمونه OpenThread استفاده می کند.

این تابع در دسترس است و تنها زمانی می‌توان از آن استفاده کرد که پشتیبانی از چندین نمونه استاتیک OpenThread فعال باشد ( OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE )

جزئیات
مولفه های
[in] aIdx
نمایه نمونه OpenThread برای مقداردهی اولیه.
برمی گرداند
اشاره گر به نمونه OpenThread جدید.

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

نمونه واحد استاتیک کتابخانه OpenThread را راه اندازی می کند.

OpenThread را راه اندازی می کند و آن را برای فراخوانی های بعدی OpenThread API آماده می کند. این تابع باید قبل از هر تماس دیگری با OpenThread فراخوانی شود.

در دسترس است و تنها زمانی می توان از آن استفاده کرد که پشتیبانی از چندین نمونه OpenThread غیرفعال باشد.

جزئیات
برمی گرداند
اشاره گر به نمونه OpenThread منفرد.

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

نشان می دهد که آیا نمونه معتبر است یا نه.

اگر نمونه با استفاده از otInstanceInitSingle() یا otInstanceInit() (در حالت چند نمونه) به دست آمده و مقداردهی اولیه شود معتبر تلقی می شود. فراخوانی بعدی به otInstanceFinalize() باعث می شود که نمونه به عنوان اولیه در نظر گرفته شود.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
اگر نمونه داده شده معتبر/ابتدایی باشد درست است، در غیر این صورت نادرست است.

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

بازنشانی پلت فرم را راه اندازی می کند.

فرآیند بازنشانی تضمین می کند که تمام وضعیت/اطلاعات OpenThread (ذخیره شده در حافظه فرار) پاک می شود. توجه داشته باشید که otPlatformReset هیچ وضعیت/اطلاعات پایدار ذخیره شده در حافظه غیر فرار را پاک نمی کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

حالت های داخلی پشته رادیویی OpenThread را بازنشانی می کند.

تماس‌ها و پیکربندی‌ها حفظ می‌شوند.

این API فقط در نسخه‌های رادیویی موجود است ( OPENTHREAD_RADIO = 1 ).

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.

otInstanceResetToBootloader

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

در صورت پشتیبانی، بازنشانی پلت فرم به حالت بوت لودر را راه اندازی می کند.

به OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE نیاز دارد.

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

otRemoveStateChangeCallback

void otRemoveStateChangeCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

پاسخ تماس را حذف می کند تا مشخص کند که چه زمانی پیکربندی یا وضعیت خاصی در OpenThread تغییر می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aCallback
اشاره گر به تابعی که با پیکربندی یا تغییرات حالت خاصی فراخوانی می شود.
[in] aContext
اشاره گر به زمینه خاص برنامه.

otSetStateChangedCallback

otError otSetStateChangedCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

برای نشان دادن زمانی که پیکربندی یا وضعیت خاصی در OpenThread تغییر می کند، یک تماس برگشتی ثبت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aCallback
اشاره گر به تابعی که با پیکربندی یا تغییرات حالت خاصی فراخوانی می شود.
[in] aContext
اشاره گر به زمینه خاص برنامه.
ارزش های بازگشتی
OT_ERROR_NONE
پاسخ تماس را به لیست تماس‌های برگشتی اضافه کرد.
OT_ERROR_ALREADY
پاسخ تماس قبلاً ثبت شده بود.
OT_ERROR_NO_BUFS
به دلیل محدودیت منابع، پاسخ تماس اضافه نشد.

ماکروها

OT_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

مجموعه داده عملیاتی فعال تغییر کرد.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

مدیر کانال جدید در انتظار کانال موضوع تغییر کرد.

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

دولت کمیسر تغییر کرد

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

آدرس IPv6 اضافه شد.

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

آدرس IPv6 حذف شد.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

مشترک یک آدرس چندپخشی IPv6 است.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

اشتراک آدرس چندپخشی IPv6 لغو شد.

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

وضعیت وصال تغییر کرد.

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

وضعیت مترجم NAT64 تغییر کرد.

OT_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

کلید شبکه تغییر کرد.

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

کیفیت پیوند والدین تغییر کرد.

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

مجموعه داده عملیاتی معلق تغییر کرد.

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

PSKc تغییر کرد.

OT_CHANGED_SECURITY_POLICY

 OT_CHANGED_SECURITY_POLICY (1U << 20)

سیاست امنیتی تغییر کرد.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

ماسک کانال پشتیبانی شده تغییر کرد.

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

پیکربندی روتر ستون فقرات محلی تغییر کرد.

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

وضعیت روتر ستون فقرات تغییر کرد.

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

کانال شبکه تاپیک تغییر کرد.

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

کودک اضافه شد.

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

کودک حذف شد.

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

شناسه PAN توسعه یافته شبکه موضوع تغییر کرد.

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

دنباله کلید موضوع تغییر کرد.

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

لینک آدرس محلی تغییر کرد.

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

آدرس مش-محلی تغییر کرد.

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Thread Network Data تغییر کرد.

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

وضعیت رابط شبکه رشته تغییر کرد.

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

نام شبکه تاپیک تغییر کرد.

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

شناسه PAN شبکه موضوع تغییر کرد.

OT_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

شناسه پارتیشن تغییر کرد

OT_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

RLOC اضافه شد.

OT_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

RLOC حذف شد.

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

نقش (غیرفعال، جدا، فرزند، روتر، رهبر) تغییر کرد.

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

اندازه توصیه شده برای نمایش رشته ای از زمان کار.

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.