نمونه، مثال

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

خلاصه

شمارش ها

anonymous enum {
OT_CHANGED_IP6_ADDRESS_ADDED = 1 << 0,
OT_CHANGED_IP6_ADDRESS_REMOVED = 1 << 1,
OT_CHANGED_THREAD_ROLE = 1 << 2,
OT_CHANGED_THREAD_LL_ADDR = 1 << 3,
OT_CHANGED_THREAD_ML_ADDR = 1 << 4,
OT_CHANGED_THREAD_RLOC_ADDED = 1 << 5,
OT_CHANGED_THREAD_RLOC_REMOVED = 1 << 6,
OT_CHANGED_THREAD_PARTITION_ID = 1 << 7,
OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER = 1 << 8,
OT_CHANGED_THREAD_NETDATA = 1 << 9,
OT_CHANGED_THREAD_CHILD_ADDED = 1 << 10,
OT_CHANGED_THREAD_CHILD_REMOVED = 1 << 11,
OT_CHANGED_IP6_MULTICAST_SUBSCRIBED = 1 << 12,
OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED = 1 << 13,
OT_CHANGED_THREAD_CHANNEL = 1 << 14,
OT_CHANGED_THREAD_PANID = 1 << 15,
OT_CHANGED_THREAD_NETWORK_NAME = 1 << 16,
OT_CHANGED_THREAD_EXT_PANID = 1 << 17,
OT_CHANGED_NETWORK_KEY = 1 << 18,
OT_CHANGED_PSKC = 1 << 19,
OT_CHANGED_SECURITY_POLICY = 1 << 20,
OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL = 1 << 21,
OT_CHANGED_SUPPORTED_CHANNEL_MASK = 1 << 22,
OT_CHANGED_COMMISSIONER_STATE = 1 << 23,
OT_CHANGED_THREAD_NETIF_STATE = 1 << 24,
OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE = 1 << 25,
OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL = 1 << 26,
OT_CHANGED_JOINER_STATE = 1 << 27,
OT_CHANGED_ACTIVE_DATASET = 1 << 28,
OT_CHANGED_PENDING_DATASET = 1 << 29
}
enum
این شمارش پرچم هایی را تعریف می کند که به عنوان بخشی از otStateChangedCallback می شوند.

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 را غیرفعال می کند.
otInstanceGetUptime ( otInstance *aInstance)
uint64_t
این تابع زمان آپلود نمونه فعلی (در میلی ثانیه) را برمی گرداند.
otInstanceGetUptimeAsString ( otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
این تابع زمان آپ تایم نمونه فعلی را به عنوان یک رشته قابل خواندن توسط انسان برمی گرداند.
otInstanceInit (void *aInstanceBuffer, size_t *aInstanceBufferSize)
این تابع کتابخانه OpenThread را مقداردهی اولیه می کند.
otInstanceInitSingle (void)
این تابع نمونه واحد استاتیک کتابخانه OpenThread را مقداردهی اولیه می کند.
otInstanceIsInitialized ( otInstance *aInstance)
bool
این تابع نشان می دهد که آیا نمونه معتبر/ابتدایی است یا خیر.
otInstanceReset ( otInstance *aInstance)
void
این روش بازنشانی پلت فرم را راه اندازی می کند.
otInstanceResetRadioStack ( otInstance *aInstance)
void
این روش حالت های داخلی پشته رادیویی OpenThread را بازنشانی می کند.
otRemoveStateChangeCallback ( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
این تابع برای نشان دادن زمانی که پیکربندی یا وضعیت خاصی در OpenThread تغییر می کند، یک تماس برگشتی را حذف می کند.
otSetStateChangedCallback ( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
این تابع برای نشان دادن زمانی که پیکربندی یا وضعیت خاصی در OpenThread تغییر می کند، یک تماس برگشتی ثبت می کند.

شمارش ها

شماره ناشناس

 anonymous enum

این شمارش پرچم هایی را تعریف می کند که به عنوان بخشی از otStateChangedCallback می شوند.

خواص
OT_CHANGED_ACTIVE_DATASET

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

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

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

OT_CHANGED_COMMISSIONER_STATE

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

OT_CHANGED_IP6_ADDRESS_ADDED

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

OT_CHANGED_IP6_ADDRESS_REMOVED

آدرس IPv6 حذف شد.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

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

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

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

OT_CHANGED_JOINER_STATE

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

OT_CHANGED_NETWORK_KEY

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

OT_CHANGED_PENDING_DATASET

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

OT_CHANGED_PSKC

PSKc تغییر کرد.

OT_CHANGED_SECURITY_POLICY

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

OT_CHANGED_SUPPORTED_CHANNEL_MASK

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

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

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

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

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

OT_CHANGED_THREAD_CHANNEL

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

OT_CHANGED_THREAD_CHILD_ADDED

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

OT_CHANGED_THREAD_CHILD_REMOVED

کودک حذف شد.

OT_CHANGED_THREAD_EXT_PANID

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

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

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

OT_CHANGED_THREAD_LL_ADDR

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

OT_CHANGED_THREAD_ML_ADDR

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

OT_CHANGED_THREAD_NETDATA

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

OT_CHANGED_THREAD_NETIF_STATE

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

OT_CHANGED_THREAD_NETWORK_NAME

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

OT_CHANGED_THREAD_PANID

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

OT_CHANGED_THREAD_PARTITION_ID

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

OT_CHANGED_THREAD_RLOC_ADDED

RLOC اضافه شد.

OT_CHANGED_THREAD_RLOC_REMOVED

RLOC حذف شد.

OT_CHANGED_THREAD_ROLE

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

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.

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

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.

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_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

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

منابع

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