Örnek

Bu modül, OpenThread Örneği'ni kontrol eden işlevler içerir.

Özet

Türdefler

otChangedFlags typedef
uint32_t
Değişen belirli bir durumu/yapılandırmayı gösteren bit alanını temsil eder.
otInstance typedef
struct otInstance
OpenThread örnek yapısını temsil eder.
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
OpenThread içindeki belirli yapılandırma veya durum değişikliklerini bildirmek için işaretçi çağrılır.

İşlevler

otGetRadioVersionString(otInstance *aInstance)
const char *
OpenThread radyo sürümü dizesini alır.
otGetVersionString(void)
const char *
OpenThread sürüm dizesini alır.
otInstanceErasePersistentInfo(otInstance *aInstance)
Geçici olmayan bellekte depolanan tüm OpenThread kalıcı bilgilerini (ağ ayarları) siler.
otInstanceFactoryReset(otInstance *aInstance)
void
Geçici olmayan bellekte depolanan tüm ayarları siler ve ardından bir platform sıfırlaması tetikler.
otInstanceFinalize(otInstance *aInstance)
void
OpenThread kitaplığını devre dışı bırakır.
otInstanceGetId(otInstance *aInstance)
uint32_t
Örnek tanımlayıcısını alır.
otInstanceGetUptime(otInstance *aInstance)
uint64_t
Geçerli örneğin çalışma süresini döndürür (milisaniye cinsinden).
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
Geçerli örneğin çalışma süresini, okunabilir bir dize olarak döndürür.
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
OpenThread kitaplığını başlatır.
otInstanceInitMultiple(uint8_t aIdx)
OpenThread örneğini başlatır.
otInstanceInitSingle(void)
OpenThread kitaplığının statik tek örneğini başlatır.
otInstanceIsInitialized(otInstance *aInstance)
bool
Örneğin geçerli/başlatılmış olup olmadığını belirtir.
otInstanceReset(otInstance *aInstance)
void
Platform sıfırlama işlemini tetikler.
otInstanceResetRadioStack(otInstance *aInstance)
void
OpenThread radyo grubunun dahili durumunu sıfırlar.
otInstanceResetToBootloader(otInstance *aInstance)
Destekleniyorsa platformun bootloader moduna sıfırlanmasını tetikler.
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
OpenThread içindeki belirli yapılandırma veya durum değişikliklerini belirtmek için geri çağırmayı kaldırır.
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
OpenThread içindeki belirli yapılandırma veya durum değişikliklerini belirtmek için bir geri çağırma kaydeder.

Türdefler

otChangedFlags

uint32_t otChangedFlags

Değişen belirli bir durumu/yapılandırmayı gösteren bit alanını temsil eder.

OT_CHANGED_* tanıma bakın.

otInstance

struct otInstance otInstance

OpenThread örnek yapısını temsil eder.

otStateChangedCallback

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

OpenThread içindeki belirli yapılandırma veya durum değişikliklerini bildirmek için işaretçi çağrılır.

Ayrıntılar
Parametreler
[in] aFlags
Değişen belirli bir durumu gösteren bit alanı. OT_CHANGED_* tanıma bakın.
[in] aContext
Uygulamaya özel bağlama işaret eden bir işaretçi.

İşlevler

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

OpenThread radyo sürümü dizesini alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
OpenThread radyo sürümüne işaretçi.

otGetVersionString

const char * otGetVersionString(
  void
)

OpenThread sürüm dizesini alır.

Ayrıntılar
İadeler
OpenThread sürümünün işaretçisi.

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

Geçici olmayan bellekte depolanan tüm OpenThread kalıcı bilgilerini (ağ ayarları) siler.

Silme işlemi yalnızca cihaz disabled durumunda/roldeyse başarılı olur.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
Kalıcı bilgilerin tümü/durumu başarıyla silindi.
OT_ERROR_INVALID_STATE
Cihaz disabled durumunda/rolinde değil.

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

Geçici olmayan bellekte depolanan tüm ayarları siler ve ardından bir platform sıfırlaması tetikler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

OpenThread kitaplığını devre dışı bırakır.

OpenThread artık kullanılmadığında bu işlevi çağırın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.

otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

Örnek tanımlayıcısını alır.

Örnek oluşturulduğunda örnek tanımlayıcısı rastgele bir değere ayarlanır. Ardından örnekteki değer başlatma işleminden sonra değişmez.

Ayrıntılar
İadeler
Örnek tanımlayıcı.

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

Geçerli örneğin çalışma süresini döndürür (milisaniye cinsinden).

OPENTHREAD_CONFIG_UPTIME_ENABLE politikasının etkinleştirilmesini gerektirir.

Çalışma süresi, OpenThread örneği başlatıldıktan sonra milisaniye sayısı olarak verilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
Çalışma süresi (milisaniye sayısı).

otInstanceGetUptimeAsString

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

Geçerli örneğin çalışma süresini, okunabilir bir dize olarak döndürür.

OPENTHREAD_CONFIG_UPTIME_ENABLE politikasının etkinleştirilmesini gerektirir.

Dize, saat, dakika, saniye ve milisaniye için "::." (çalışma süresi bir günden kısaysa) veya " biçiminde olur.

d.::." (bir günden uzunsa).

Oluşturulan dize aBuffer içine sığmazsa (aSize karakter içinde) dize kısaltılır, ancak çıkarılan dize her zaman boş sona erer.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aBuffer
Dizenin çıktısını almak için bir karakter dizisine işaretçi.
[in] aSize
aBuffer öğesinin boyutu (bayt cinsinden). OT_UPTIME_STRING_SIZE kullanılması önerilir.

otInstanceInit

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

OpenThread kitaplığını başlatır.

OpenThread'i başlatır ve sonraki OpenThread API çağrıları için hazırlar. Bu işlev, diğer OpenThread çağrılarından önce çağrılmalıdır.

Kullanılabilir ve yalnızca birden fazla OpenThread örneği desteği etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstanceBuffer
OInstance yapısını ayırmak için kullanılacak OpenThread arabelleği.
[in,out] aInstanceBufferSize
Girişte, aInstanceBuffer boyutu. Çıkışta, otInstance için yeterli alan yoksa otInstance için gereken bayt sayısı.
İadeler
Yeni OpenThread örneğine işaretçi.
Şu makaleyi de inceleyebilirsiniz:
otInstanceFinalize

otInstanceInitMultiple

otInstance * otInstanceInitMultiple(
  uint8_t aIdx
)

OpenThread örneğini başlatır.

Bu işlev OpenThread'i başlatır ve sonraki OpenThread API çağrıları için hazırlar. Bu işlev, diğer OpenThread çağrılarından önce çağrılmalıdır. Bu yöntem, OpenThread örneğini başlatmak için statik arabelleği kullanır.

Bu işlev kullanılabilir ve yalnızca birden fazla OpenThread statik örneği desteği etkinleştirildiğinde (OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE) kullanılabilir

Ayrıntılar
Parametreler
[in] aIdx
Başlatılacak OpenThread örneğinin dizini.
İadeler
Yeni OpenThread örneğine işaretçi.

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

OpenThread kitaplığının statik tek örneğini başlatır.

OpenThread'i başlatır ve sonraki OpenThread API çağrıları için hazırlar. Bu işlev, diğer OpenThread çağrılarından önce çağrılmalıdır.

Kullanılabilir ve yalnızca birden fazla OpenThread örneği desteği devre dışı bırakıldığında kullanılabilir.

Ayrıntılar
İadeler
Tek OpenThread örneğine işaretçi.

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

Örneğin geçerli/başlatılmış olup olmadığını belirtir.

Örnek, otInstanceInitSingle() (tek örnek durumunda) veya otInstanceInit() (çok örnekli durumda) kullanılarak edinilip başlatıldıysa geçerli olarak kabul edilir. Sonraki bir otInstanceFinalize() çağrısı, örneğin başlatılmamış olarak kabul edilmesine neden olur.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
Belirtilen örnek geçerliyse/başlatılmışsa DOĞRU, aksi takdirde YANLIŞ olur.

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

Platform sıfırlama işlemini tetikler.

Sıfırlama işlemi, tüm OpenThread durum/bilgilerinin (değişken bellekte depolanan) silinmesini sağlar. otPlatformReset uygulamasının, değişken olmayan belleğe kaydedilen kalıcı durumu/bilgileri silmediğini unutmayın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

OpenThread radyo grubunun dahili durumunu sıfırlar.

Geri çağırmalar ve yapılandırmalar korunur.

Bu API yalnızca radyo yapılarında (OPENTHREAD_RADIO = 1) kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.

otInstanceResetToBootloader

otError otInstanceResetToBootloader(
  otInstance *aInstance
)

Destekleniyorsa platformun bootloader moduna sıfırlanmasını tetikler.

OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE gerektirir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
Bootloader'a başarıyla sıfırlandı.
OT_ERROR_BUSY
Devam eden başka bir işlem nedeniyle başarısız oldu.
OT_ERROR_NOT_CAPABLE
Bootloader'a sıfırlanamıyor.

otRemoveStateChangeCallback

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

OpenThread içindeki belirli yapılandırma veya durum değişikliklerini belirtmek için geri çağırmayı kaldırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aCallback
Belirli yapılandırma veya durum değişiklikleriyle çağrılan bir işlevin işaretçisi.
[in] aContext
Uygulamaya özel bağlama işaret eden bir işaretçi.

otSetStateChangedCallback

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

OpenThread içindeki belirli yapılandırma veya durum değişikliklerini belirtmek için bir geri çağırma kaydeder.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aCallback
Belirli yapılandırma veya durum değişiklikleriyle çağrılan bir işlevin işaretçisi.
[in] aContext
Uygulamaya özel bağlama işaret eden bir işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Geri çağırma, geri çağırma listesine eklendi.
OT_ERROR_ALREADY
Geri arama zaten kaydedildi.
OT_ERROR_NO_BUFS
Kaynak kısıtlamaları nedeniyle geri çağırma eklenemedi.

Makrolar

OT_CHANGED_ACTIVE_DATASET

 OT_CHANGED_ACTIVE_DATASET (1U << 28)

Etkin Operasyonel Veri Kümesi değişti.

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

 OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL (1U << 21)

Kanal Yöneticisi'nin beklemede olan yeni İleti Dizisi kanalı değiştirildi.

OT_CHANGED_COMMISSIONER_STATE

 OT_CHANGED_COMMISSIONER_STATE (1U << 23)

Delege durumu değişti.

OT_CHANGED_IP6_ADDRESS_ADDED

 OT_CHANGED_IP6_ADDRESS_ADDED (1U << 0)

IPv6 adresi eklendi.

OT_CHANGED_IP6_ADDRESS_REMOVED

 OT_CHANGED_IP6_ADDRESS_REMOVED (1U << 1)

IPv6 adresi kaldırıldı.

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_SUBSCRIBED (1U << 12)

IPv6 çoklu yayın adresine abone oldunuz.

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

 OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED (1U << 13)

Bir IPv6 çoklu yayın adresinden abonelikten çıktınız.

OT_CHANGED_JOINER_STATE

 OT_CHANGED_JOINER_STATE (1U << 27)

Birleştirici durumu değiştirildi.

OT_CHANGED_NAT64_TRANSLATOR_STATE

 OT_CHANGED_NAT64_TRANSLATOR_STATE (1U << 30)

NAT64 çevirmeninin durumu değişti.

OT_CHANGED_NETWORK_KEY

 OT_CHANGED_NETWORK_KEY (1U << 18)

Ağ anahtarı değiştirildi.

 OT_CHANGED_PARENT_LINK_QUALITY (1U << 31)

Üst bağlantı kalitesi değişti.

OT_CHANGED_PENDING_DATASET

 OT_CHANGED_PENDING_DATASET (1U << 29)

Beklemedeki Operasyonel Veri Kümesi değişti.

OT_CHANGED_PSKC

 OT_CHANGED_PSKC (1U << 19)

PSKc değişti.

OT_CHANGED_SECURITY_POLICY

 OT_CHANGED_SECURITY_POLICY (1U << 20)

Güvenlik Politikası değişti.

OT_CHANGED_SUPPORTED_CHANNEL_MASK

 OT_CHANGED_SUPPORTED_CHANNEL_MASK (1U << 22)

Desteklenen kanal maskesi değiştirildi.

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

 OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL (1U << 26)

Yerel Omurga Yönlendiricisi yapılandırması değiştirildi.

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

 OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE (1U << 25)

Omurga Yönlendiricisi durumu değişti.

OT_CHANGED_THREAD_CHANNEL

 OT_CHANGED_THREAD_CHANNEL (1U << 14)

Mesaj dizisi ağ kanalı değiştirildi.

OT_CHANGED_THREAD_CHILD_ADDED

 OT_CHANGED_THREAD_CHILD_ADDED (1U << 10)

Çocuk eklendi.

OT_CHANGED_THREAD_CHILD_REMOVED

 OT_CHANGED_THREAD_CHILD_REMOVED (1U << 11)

Çocuk kaldırıldı.

OT_CHANGED_THREAD_EXT_PANID

 OT_CHANGED_THREAD_EXT_PANID (1U << 17)

İleti dizisi ağı genişletilmiş PAN kimliği değişti.

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

 OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER (1U << 8)

İş Parçacığı Anahtarı Sırası değiştirildi.

OT_CHANGED_THREAD_LL_ADDR

 OT_CHANGED_THREAD_LL_ADDR (1U << 3)

Yerel bağlantı adresi değişti.

OT_CHANGED_THREAD_ML_ADDR

 OT_CHANGED_THREAD_ML_ADDR (1U << 4)

Örgü yerel adresi değişti.

OT_CHANGED_THREAD_NETDATA

 OT_CHANGED_THREAD_NETDATA (1U << 9)

Thread Ağ Verileri değişti.

OT_CHANGED_THREAD_NETIF_STATE

 OT_CHANGED_THREAD_NETIF_STATE (1U << 24)

İş parçacığı ağ arayüzü durumu değiştirildi.

OT_CHANGED_THREAD_NETWORK_NAME

 OT_CHANGED_THREAD_NETWORK_NAME (1U << 16)

Mesaj dizisi ağ adı değiştirildi.

OT_CHANGED_THREAD_PANID

 OT_CHANGED_THREAD_PANID (1U << 15)

İleti dizisi ağı PAN kimliği değişti.

OT_CHANGED_THREAD_PARTITION_ID

 OT_CHANGED_THREAD_PARTITION_ID (1U << 7)

Bölüm kimliği değiştirildi.

OT_CHANGED_THREAD_RLOC_ADDED

 OT_CHANGED_THREAD_RLOC_ADDED (1U << 5)

RLOC eklendi.

OT_CHANGED_THREAD_RLOC_REMOVED

 OT_CHANGED_THREAD_RLOC_REMOVED (1U << 6)

RLOC kaldırıldı.

OT_CHANGED_THREAD_ROLE

 OT_CHANGED_THREAD_ROLE (1U << 2)

Rol (devre dışı, ayrılmış, alt, yönlendirici, lider) değiştirildi.

OT_UPTIME_STRING_SIZE

 OT_UPTIME_STRING_SIZE 24

Çalışma süresinin dize gösterimi için önerilen boyut.

Kaynaklar

OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar bölümüne bakın.