อินสแตนซ์

โมดูลนี้ประกอบด้วยฟังก์ชันที่ควบคุมอินสแตนซ์ 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

ประเภทคําจํากัดความ

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

การแจกแจง

enum ที่ไม่ระบุชื่อ

 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

เปลี่ยนการกําหนดค่าเราเตอร์ Backonone ในเครื่องแล้ว

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

เปลี่ยนที่อยู่ Mesh-local แล้ว

OT_CHANGED_THREAD_NETDATA

เปลี่ยนข้อมูลเครือข่ายชุดข้อความแล้ว

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

เพิ่ม RSAOC แล้ว

OT_CHANGED_THREAD_RLOC_REMOVED

นํา RSAOC ออกแล้ว

OT_CHANGED_THREAD_ROLE

เปลี่ยนบทบาท (ปิดใช้ ปลดออกแล้ว เด็ก เราเตอร์ ผู้นํา) แล้ว

ประเภทคําจํากัดความ

การเปลี่ยนสถานะ

uint32_t otChangedFlags

ประเภทนี้แสดงถึงช่องข้อมูลบิตที่แสดงสถานะ/การกําหนดค่าที่เฉพาะเจาะจงที่มีการเปลี่ยนแปลง

ดูคําจํากัดความ OT_CHANGED_*

อินสแตนซ์

struct otInstance otInstance

โครงสร้างนี้แสดงถึงโครงสร้างอินสแตนซ์ OpenThread

OTStateChanged Callback

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

otInstanceDeletePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

โดยฟังก์ชันนี้จะลบข้อมูลถาวรของ OpenThread (การตั้งค่าเครือข่าย) ทั้งหมดซึ่งจัดเก็บไว้ในหน่วยความจําที่ไม่เปลี่ยนแปลง

การลบจะสําเร็จก็ต่อเมื่ออุปกรณ์อยู่ในสถานะ/บทบาท disabled

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
แสดงผลค่า
OT_ERROR_NONE
ลบข้อมูล/สถานะถาวรทั้งหมดแล้ว
OT_ERROR_INVALID_STATE
อุปกรณ์ไม่ได้อยู่ในสถานะdisabled

รีเซ็ต InstanceFactoryReset

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 ฟังก์ชันนี้

สตริงเป็นไปตามรูปแบบ "::." สําหรับชั่วโมง นาที วินาที และมิลลิวินาที (หากระยะเวลาทํางานสั้นกว่า 1 วัน) หรือ "

ง.::." (หากนานกว่า 1 วัน)

หากสตริงที่ได้ไม่พอดีกับ aBuffer (ภายใน aSize อักขระ) สตริงจะถูกตัด แต่สตริงที่ส่งออกจะเป็น Null เสมอ

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[out] aBuffer
ตัวชี้ไปยังอาร์เรย์อักขระเพื่อส่งออกสตริง
[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
เมื่อพบขนาดของ aInstanceBuffer ในเอาต์พุต หากมีพื้นที่ไม่เพียงพอสําหรับ 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
การคืนสินค้า
มีค่าเป็น TRUE หากอินสแตนซ์ที่ระบุถูกต้อง/เริ่มต้น ระบุว่าเป็น FALSE ในกรณีอื่นๆ

รีเซ็ตอินสแตนซ์

void otInstanceReset(
  otInstance *aInstance
)

วิธีนี้จะทริกเกอร์การรีเซ็ตแพลตฟอร์ม

กระบวนการรีเซ็ตช่วยให้มั่นใจว่าสถานะ/ข้อมูลทั้งหมด OpenThread ทั้งหมด (เก็บไว้ในหน่วยความจําที่มีความผันผวน) โปรดทราบว่า otPlatformReset จะไม่ลบสถานะ/ข้อมูลที่คงอยู่ถาวรซึ่งบันทึกไว้ในหน่วยความจําที่ไม่มีการเปลี่ยนแปลง

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

เมธอดนี้จะรีเซ็ตสถานะภายในของสแต็กวิทยุของ OpenThread

โค้ดเรียกกลับและการกําหนดค่าจะยังคงอยู่

API นี้ใช้ได้เฉพาะกับบิลด์วิทยุ (OPENTHREAD_RADIO = 1) เท่านั้น

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread

otRemoveStateเปลี่ยนการโทรกลับ

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

โดยฟังก์ชันนี้จะนําโค้ดเรียกกลับออกเพื่อระบุว่าเมื่อใดที่การกําหนดค่าหรือสถานะหนึ่งๆ มีการเปลี่ยนแปลงภายใน OpenThread

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aCallback
ตัวชี้ไปยังฟังก์ชันที่มีการเรียกเมื่อมีการเปลี่ยนแปลงการกําหนดค่าหรือสถานะบางอย่าง
[in] aContext
ตัวชี้ไปยังบริบทเฉพาะแอปพลิเคชัน

OTSetStateChanged โค้ดเรียกกลับ

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_UP_TIME_SIZE

 OT_UPTIME_STRING_SIZE 24

ขนาดที่แนะนําสําหรับการแสดงสตริงระยะเวลาทํางาน

ทรัพยากร

หัวข้ออ้างอิง OpenThread API มาจากซอร์สโค้ดซึ่งมีอยู่ใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล