Instance

Modul ini menyertakan fungsi yang mengontrol Instance OpenThread.

Ringkasan

Typedef

otChangedFlags typedef
uint32_t
Mewakili bit-field yang menunjukkan status/konfigurasi tertentu yang telah berubah.
otInstance typedef
struct otInstance
Merepresentasikan struktur instance OpenThread.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
Pointer dipanggil untuk memberi tahu perubahan konfigurasi atau status tertentu dalam OpenThread.

Fungsi

otGetRadioVersionString(otInstance *aInstance)
const char *
Mendapatkan string versi radio OpenThread.
otGetVersionString(void)
const char *
Mendapatkan string versi OpenThread.
otInstanceErasePersistentInfo(otInstance *aInstance)
Menghapus semua info persisten OpenThread (setelan jaringan) yang disimpan di memori non-volatil.
otInstanceFactoryReset(otInstance *aInstance)
void
Menghapus semua setelan yang disimpan di memori non-volatil, lalu memicu reset platform.
otInstanceFinalize(otInstance *aInstance)
void
Menonaktifkan library OpenThread.
otInstanceGetId(otInstance *aInstance)
uint32_t
Mendapatkan ID instance.
otInstanceGetUptime(otInstance *aInstance)
uint64_t
Menampilkan waktu beroperasi instance saat ini (dalam msec).
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Menampilkan waktu beroperasi instance saat ini sebagai string yang dapat dibaca manusia.
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
Melakukan inisialisasi library OpenThread.
otInstanceInitMultiple(uint8_t aIdx)
Menginisialisasi instance OpenThread.
otInstanceInitSingle(void)
Menginisialisasi instance tunggal statis library OpenThread.
otInstanceIsInitialized(otInstance *aInstance)
bool
Menunjukkan apakah instance valid/diinisialisasi.
otInstanceReset(otInstance *aInstance)
void
Memicu reset platform.
otInstanceResetRadioStack(otInstance *aInstance)
void
Mereset status internal stack radio OpenThread.
otInstanceResetToBootloader(otInstance *aInstance)
Memicu reset platform ke mode bootloader, jika didukung.
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
Menghapus callback untuk menunjukkan kapan konfigurasi atau status tertentu berubah dalam OpenThread.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
Mendaftarkan callback untuk menunjukkan kapan konfigurasi atau status tertentu berubah dalam OpenThread.

Typedef

otChangedFlags

uint32_t otChangedFlags

Mewakili bit-field yang menunjukkan status/konfigurasi tertentu yang telah berubah.

Lihat definisi OT_CHANGED_*.

otInstance

struct otInstance otInstance

Merepresentasikan struktur instance OpenThread.

otStateChangedCallback

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

Pointer dipanggil untuk memberi tahu perubahan konfigurasi atau status tertentu dalam OpenThread.

Detail
Parameter
[in] aFlags
Kolom bit yang menunjukkan status tertentu yang telah berubah. Lihat definisi OT_CHANGED_*.
[in] aContext
Pointer ke konteks khusus aplikasi.

Fungsi

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

Mendapatkan string versi radio OpenThread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer ke versi radio OpenThread.

otGetVersionString

const char * otGetVersionString(
  void
)

Mendapatkan string versi OpenThread.

Detail
Hasil
Pointer ke versi OpenThread.

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

Menghapus semua info persisten OpenThread (setelan jaringan) yang disimpan di memori non-volatil.

Penghapusan hanya berhasil jika perangkat dalam status/peran disabled.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Nilai Pengembalian
OT_ERROR_NONE
Semua info/status persisten berhasil dihapus.
OT_ERROR_INVALID_STATE
Perangkat tidak dalam status/peran disabled.

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

Menghapus semua setelan yang disimpan di memori non-volatil, lalu memicu reset platform.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

Menonaktifkan library OpenThread.

Panggil fungsi ini saat OpenThread tidak lagi digunakan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

Mendapatkan ID instance.

ID instance ditetapkan ke nilai acak ketika instance dibuat, kemudian nilainya tidak akan berubah setelah inisialisasi.

Detail
Hasil
ID instance.

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Menampilkan waktu beroperasi instance saat ini (dalam msec).

OPENTHREAD_CONFIG_UPTIME_ENABLE harus diaktifkan.

Waktu beroperasi diberikan sebagai jumlah milidetik sejak instance OpenThread diinisialisasi.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Waktu beroperasi (jumlah milidetik).

otInstanceGetUptimeAsString

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

Menampilkan waktu beroperasi instance saat ini sebagai string yang dapat dibaca manusia.

OPENTHREAD_CONFIG_UPTIME_ENABLE harus diaktifkan.

String ini mengikuti format "::." untuk jam, menit, detik, dan milidetik (jika waktu beroperasi lebih pendek dari satu hari) atau "

d.::." (jika lebih dari satu hari).

Jika string yang dihasilkan tidak sesuai dengan aBuffer (dalam karakter aSize-nya), string akan terpotong tetapi string yang dihasilkan selalu dihentikan null.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[out] aBuffer
Pointer ke array karakter untuk menghasilkan string.
[in] aSize
Ukuran aBuffer (dalam byte). Sebaiknya gunakan OT_UPTIME_STRING_SIZE.

otInstanceInit

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

Melakukan inisialisasi library OpenThread.

Menginisialisasi OpenThread dan menyiapkannya untuk panggilan API OpenThread berikutnya. Fungsi ini harus dipanggil sebelum panggilan lain ke OpenThread.

Tersedia dan hanya dapat digunakan jika dukungan untuk beberapa instance OpenThread diaktifkan.

Detail
Parameter
[in] aInstanceBuffer
Buffering yang akan digunakan OpenThread untuk mengalokasikan struktur otInstance.
[in,out] aInstanceBufferSize
Pada input, ukuran aInstanceBuffer. Pada output, jika tidak cukup ruang untuk otInstance, jumlah byte yang diperlukan untuk otInstance.
Hasil
Pointer ke instance OpenThread baru.
Lihat juga:
otInstanceFinalize

otInstanceInitMultiple

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

Menginisialisasi instance OpenThread.

Fungsi ini melakukan inisialisasi OpenThread dan menyiapkannya untuk panggilan API OpenThread berikutnya. Fungsi ini harus dipanggil sebelum panggilan lain ke OpenThread. Metode ini menggunakan buffering statis untuk menginisialisasi instance OpenThread.

Fungsi ini tersedia dan hanya dapat digunakan jika dukungan untuk beberapa instance statis OpenThread diaktifkan (OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE)

Detail
Parameter
[in] aIdx
Indeks instance OpenThread yang akan diinisialisasi.
Hasil
Pointer ke instance OpenThread baru.

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

Menginisialisasi instance tunggal statis library OpenThread.

Menginisialisasi OpenThread dan menyiapkannya untuk panggilan API OpenThread berikutnya. Fungsi ini harus dipanggil sebelum panggilan lain ke OpenThread.

Tersedia dan hanya dapat digunakan jika dukungan untuk beberapa instance OpenThread dinonaktifkan.

Detail
Hasil
Pointer ke satu instance OpenThread.

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

Menunjukkan apakah instance valid/diinisialisasi.

Instance dianggap valid jika diperoleh dan diinisialisasi menggunakan otInstanceInitSingle() (dalam kasus instance tunggal) atau otInstanceInit() (dalam kasus multi-instance). Panggilan berikutnya ke otInstanceFinalize() menyebabkan instance dianggap tidak diinisialisasi.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
TRUE jika instance yang diberikan valid/diinisialisasi, FALSE jika sebaliknya.

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

Memicu reset platform.

Proses reset memastikan bahwa semua status/info OpenThread (yang disimpan dalam memori volatil) dihapus. Perhatikan bahwa otPlatformReset tidak menghapus status/info persisten apa pun yang disimpan dalam memori non-volatil.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

Mereset status internal stack radio OpenThread.

Callback dan konfigurasi dipertahankan.

API ini hanya tersedia di build radio (OPENTHREAD_RADIO = 1).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otInstanceResetToBootloader

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

Memicu reset platform ke mode bootloader, jika didukung.

Memerlukan OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil direset ke bootloader.
OT_ERROR_BUSY
Gagal karena operasi lain sedang berlangsung.
OT_ERROR_NOT_CAPABLE
Tidak dapat mereset ke bootloader.

otRemoveStateChangeCallback

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

Menghapus callback untuk menunjukkan kapan konfigurasi atau status tertentu berubah dalam OpenThread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aCallback
Pointer ke sebuah fungsi yang dipanggil dengan perubahan konfigurasi atau status tertentu.
[in] aContext
Pointer ke konteks khusus aplikasi.

otSetStateChangedCallback

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

Mendaftarkan callback untuk menunjukkan kapan konfigurasi atau status tertentu berubah dalam OpenThread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aCallback
Pointer ke sebuah fungsi yang dipanggil dengan perubahan konfigurasi atau status tertentu.
[in] aContext
Pointer ke konteks khusus aplikasi.
Nilai Pengembalian
OT_ERROR_NONE
Menambahkan callback ke daftar callback.
OT_ERROR_ALREADY
Callback sudah terdaftar.
OT_ERROR_NO_BUFS
Tidak dapat menambahkan callback karena keterbatasan sumber daya.

Makro

OT_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

Set Data Operasional Aktif diubah.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

Saluran Thread baru yang tertunda di Pengelola Channel diubah.

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

Status komisaris diubah.

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

Alamat IPv6 telah ditambahkan.

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

Alamat IPv6 telah dihapus.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

Berlangganan ke alamat multicast IPv6.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

Berhenti berlangganan alamat multicast IPv6.

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

Status joiner diubah.

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

Status penerjemah NAT64 berubah.

OT_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

Kunci jaringan diubah.

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

Kualitas link induk berubah.

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

Set Data Operasional Tertunda diubah.

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

PSKc berubah.

OT_CHANGED_SECURITY_POLICY

 OT_CHANGED_SECURITY_POLICY (1U << 20)

Kebijakan Keamanan diubah.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

Mask saluran yang didukung telah diubah.

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

Konfigurasi Router Backbone Lokal diubah.

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

Status Router Backbone berubah.

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

Saluran jaringan thread diubah.

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

Turunan telah ditambahkan.

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

Turunan dihapus.

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

ID PAN jaringan thread yang diperluas.

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

Urutan Kunci Thread diubah.

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

Alamat link-local berubah.

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

Alamat lokal mesh berubah.

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Data Jaringan Thread berubah.

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

Status antarmuka jaringan thread berubah.

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

Nama jaringan thread diubah.

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

ID PAN jaringan thread berubah.

OT_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

ID partisi diubah.

OT_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

RLOC telah ditambahkan.

OT_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

RLOC telah dihapus.

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

Peran (dinonaktifkan, terpisah, turunan, router, posisi teratas) diubah.

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

Ukuran yang direkomendasikan untuk representasi string waktu beroperasi.

Referensi

Topik Referensi OpenThread API berasal dari kode sumber yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.