نمونه، مثال
این ماژول شامل توابعی است که نمونه OpenThread را کنترل می کند.
خلاصه
Typedefs | |
---|---|
otChangedFlags | typedefuint32_t نمایانگر یک میدان بیتی است که وضعیت/پیکربندی خاصی را نشان میدهد که تغییر کرده است. |
otInstance | typedefstruct otInstance ساختار نمونه OpenThread را نشان می دهد. |
otStateChangedCallback )(otChangedFlags aFlags, void *aContext) | typedefvoid(* اشاره گر فراخوانی می شود تا پیکربندی یا تغییرات حالت خاصی را در 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_*
را ببینید.
otStateChangedCallback
void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)
اشاره گر فراخوانی می شود تا پیکربندی یا تغییرات حالت خاصی را در OpenThread اعلام کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
کارکرد
otGetRadioVersionString
const char * otGetRadioVersionString( otInstance *aInstance )
رشته نسخه رادیویی OpenThread را دریافت می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اشاره گر به نسخه رادیویی OpenThread. |
otGetVersionString
const char * otGetVersionString( void )
رشته نسخه OpenThread را دریافت می کند.
جزئیات | |
---|---|
برمی گرداند | اشاره گر به نسخه OpenThread. |
otInstanceErasePersistentInfo
otError otInstanceErasePersistentInfo( otInstance *aInstance )
تمام اطلاعات پایدار OpenThread (تنظیمات شبکه) ذخیره شده در حافظه غیر فرار را پاک می کند.
پاک کردن فقط در صورتی موفقیت آمیز است که دستگاه در وضعیت/نقش disabled
باشد.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otInstanceFactoryReset
void otInstanceFactoryReset( otInstance *aInstance )
تمام تنظیمات ذخیره شده در حافظه غیر فرار را حذف می کند و سپس بازنشانی پلت فرم را راه اندازی می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
|
otInstanceFinalize
void otInstanceFinalize( otInstance *aInstance )
کتابخانه OpenThread را غیرفعال می کند.
زمانی که OpenThread دیگر استفاده نمی شود، این تابع را فراخوانی کنید.
جزئیات | |||
---|---|---|---|
مولفه های |
|
otInstanceGetId
uint32_t otInstanceGetId( otInstance *aInstance )
شناسه نمونه را دریافت می کند.
هنگامی که نمونه ساخته می شود، شناسه نمونه روی یک مقدار تصادفی تنظیم می شود و پس از مقداردهی اولیه، مقدار آن تغییر نمی کند.
جزئیات | |
---|---|
برمی گرداند | شناسه نمونه |
otInstanceGetUptime
uint64_t otInstanceGetUptime( otInstance *aInstance )
زمان آپلود نمونه فعلی (بر حسب میلی ثانیه) را برمی گرداند.
برای فعال کردن OPENTHREAD_CONFIG_UPTIME_ENABLE
نیاز دارد.
زمان کار به عنوان تعداد میلی ثانیه از زمان اولیه سازی نمونه OpenThread داده می شود.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | زمان کار (تعداد میلی ثانیه). |
otInstanceGetUptimeAsString
void otInstanceGetUptimeAsString( otInstance *aInstance, char *aBuffer, uint16_t aSize )
زمان کار نمونه فعلی را به عنوان یک رشته قابل خواندن توسط انسان برمی گرداند.
برای فعال کردن OPENTHREAD_CONFIG_UPTIME_ENABLE
نیاز دارد.
رشته از قالب پیروی می کند "
اگر رشته به دست آمده در aBuffer
(در کاراکترهای aSize
آن) قرار نگیرد، رشته کوتاه میشود اما رشته خروجی همیشه تهی است.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
|
otInstanceInit
otInstance * otInstanceInit( void *aInstanceBuffer, size_t *aInstanceBufferSize )
کتابخانه OpenThread را راه اندازی می کند.
OpenThread را راه اندازی می کند و آن را برای فراخوانی های بعدی OpenThread API آماده می کند. این تابع باید قبل از هر تماس دیگری با OpenThread فراخوانی شود.
در دسترس است و فقط زمانی می توان از آن استفاده کرد که پشتیبانی از چندین نمونه OpenThread فعال باشد.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | اشاره گر به نمونه OpenThread جدید. |
otInstanceFinalize
otInstanceInitMultiple
otInstance * otInstanceInitMultiple( uint8_t aIdx )
نمونه OpenThread را راه اندازی می کند.
این تابع OpenThread را مقداردهی اولیه می کند و آن را برای فراخوانی های بعدی OpenThread API آماده می کند. این تابع باید قبل از هر تماس دیگری با OpenThread فراخوانی شود. این روش از بافر استاتیک برای مقداردهی اولیه نمونه OpenThread استفاده می کند.
این تابع در دسترس است و تنها زمانی میتوان از آن استفاده کرد که پشتیبانی از چندین نمونه استاتیک OpenThread فعال باشد ( OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE
)
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اشاره گر به نمونه OpenThread جدید. |
otInstanceInitSingle
otInstance * otInstanceInitSingle( void )
نمونه واحد استاتیک کتابخانه OpenThread را راه اندازی می کند.
OpenThread را راه اندازی می کند و آن را برای فراخوانی های بعدی OpenThread API آماده می کند. این تابع باید قبل از هر تماس دیگری با OpenThread فراخوانی شود.
در دسترس است و تنها زمانی می توان از آن استفاده کرد که پشتیبانی از چندین نمونه OpenThread غیرفعال باشد.
جزئیات | |
---|---|
برمی گرداند | اشاره گر به نمونه OpenThread منفرد. |
otInstanceIsInitialized
bool otInstanceIsInitialized( otInstance *aInstance )
نشان می دهد که آیا نمونه معتبر است یا نه.
اگر نمونه با استفاده از otInstanceInitSingle()
یا otInstanceInit()
(در حالت چند نمونه) به دست آمده و مقداردهی اولیه شود معتبر تلقی می شود. فراخوانی بعدی به otInstanceFinalize()
باعث می شود که نمونه به عنوان اولیه در نظر گرفته شود.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اگر نمونه داده شده معتبر/ابتدایی باشد درست است، در غیر این صورت نادرست است. |
otInstanceReset
void otInstanceReset( otInstance *aInstance )
بازنشانی پلت فرم را راه اندازی می کند.
فرآیند بازنشانی تضمین می کند که تمام وضعیت/اطلاعات OpenThread (ذخیره شده در حافظه فرار) پاک می شود. توجه داشته باشید که otPlatformReset
هیچ وضعیت/اطلاعات پایدار ذخیره شده در حافظه غیر فرار را پاک نمی کند.
جزئیات | |||
---|---|---|---|
مولفه های |
|
otInstanceResetRadioStack
void otInstanceResetRadioStack( otInstance *aInstance )
حالت های داخلی پشته رادیویی OpenThread را بازنشانی می کند.
تماسها و پیکربندیها حفظ میشوند.
این API فقط در نسخههای رادیویی موجود است ( OPENTHREAD_RADIO = 1
).
جزئیات | |||
---|---|---|---|
مولفه های |
|
otInstanceResetToBootloader
otError otInstanceResetToBootloader( otInstance *aInstance )
در صورت پشتیبانی، بازنشانی پلت فرم به حالت بوت لودر را راه اندازی می کند.
به OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE
نیاز دارد.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
otRemoveStateChangeCallback
void otRemoveStateChangeCallback( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext )
پاسخ تماس را حذف می کند تا مشخص کند که چه زمانی پیکربندی یا وضعیت خاصی در OpenThread تغییر می کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
|
otSetStateChangedCallback
otError otSetStateChangedCallback( otInstance *aInstance, otStateChangedCallback aCallback, void *aContext )
برای نشان دادن زمانی که پیکربندی یا وضعیت خاصی در OpenThread تغییر می کند، یک تماس برگشتی ثبت می کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
ماکروها
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
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 سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.