Çoklu kaydırma

Bu modülde çoklu çerçeve desteği için platform soyutlaması yer alır.

Özet

İşlevler

otPlatMultipanGetActiveInstance(otInstance **aInstance)
Radyonun kontrolünde olan bir örneği alın.
otPlatMultipanIidToInstance(uint8_t aIid)
Verilen IID'ye karşılık gelen örnek işaretçisini alın.
otPlatMultipanInstanceToIid(otInstance *aInstance)
uint8_t
Belirtilen OpenThread örnek işaretçisine karşılık gelen IID'yi alın.
otPlatMultipanSetActiveInstance(otInstance *aInstance, bool aCompletePending)
aInstance öğesini, radyoyu kontrol eden geçerli etkin örnek olarak ayarlayın.
otPlatMultipanSwitchoverDone(otInstance *aInstance, bool aSuccess)
void
Platform, arayüz geçiş işlemini tamamladı.

İşlevler

otPlatMultipanGetActiveInstance

otError otPlatMultipanGetActiveInstance(
  otInstance **aInstance
)

Radyonun kontrolünde olan bir örneği alın.

Radyo tüm arayüzlerde paralel olarak çalışmıyorsa bu işlev, izin verilen radyo erişimine sahip bir örnek nesnesi döndürür.

Ayrıntılar
Parametreler
[out] aInstance
Etkin örnek işaretçisini depolamak için değişkenin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
Mülk başarıyla alındı.
OT_ERROR_NOT_IMPLEMENTED
Radyo desteğinin eksik olması nedeniyle işlem başarısız oldu.
OT_ERROR_INVALID_COMMAND
Platform, tüm arayüzleri eş zamanlı olarak destekler.

otPlatMultipanIidToInstance

otInstance * otPlatMultipanIidToInstance(
  uint8_t aIid
)

Verilen IID'ye karşılık gelen örnek işaretçisini alın.

Ayrıntılar
Parametreler
[in] aIid
Arayüzün IID'si.
Döndürülen Değerler
Instance
aIid'in atanmış bir örneği varsa işaretçi, aksi takdirde nullptr olur.

otPlatMultipanInstanceToIid

uint8_t otPlatMultipanInstanceToIid(
  otInstance *aInstance
)

Belirtilen OpenThread örnek işaretçisine karşılık gelen IID'yi alın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
IID
aksi takdirde IID'yi yayınlayın.

otPlatMultipanSetActiveInstance

otError otPlatMultipanSetActiveInstance(
  otInstance *aInstance,
  bool aCompletePending
)

aInstance öğesini, radyoyu kontrol eden geçerli etkin örnek olarak ayarlayın.

Bu işlev, birden çok arayüzde paralel iletişimi desteklemeyen platformlarda o anda etkin olan örneğin seçilmesini sağlar. Başka bir deyişle, birden fazla örneğin alma durumunda olması durumunda, otPlatMultipanSetActiveInstance çağrısı yapıldığında belirtilen örneğin alıcı olacağı garanti edilir. Bu işlev, istek düzgün şekilde alındıysa döndürür. Arayüz geçişi tamamlandıktan sonra, platform otPlatMultipanSwitchoverDone'ı çağırmalıdır. aCompletePending doğru olarak ayarlanırsa arayüzler arasında geçiş yapmak daha uzun sürebilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aCompletePending
Devam eden radyo işleminin arayüz geçişinden (yumuşak geçiş) önce tamamlanması gerekiyorsa doğru değerini, zorla değiştirme işlemi için yanlış değerini alır.
Döndürülen Değerler
OT_ERROR_NONE
Mülk başarıyla ayarlandı.
OT_ERROR_BUSY
Devam eden başka bir işlem nedeniyle başarısız oldu.
OT_ERROR_NOT_IMPLEMENTED
Bilinmeyen örnek veya mevcut arayüzlerden daha fazla örnek nedeniyle başarısız oldu.
OT_ERROR_INVALID_COMMAND
Platform, tüm arayüzleri eş zamanlı olarak destekler.
OT_ERROR_ALREADY
Belirtilen arayüz zaten etkin.

otPlatMultipanSwitchoverDone

void otPlatMultipanSwitchoverDone(
  otInstance *aInstance,
  bool aSuccess
)

Platform, arayüz geçiş işlemini tamamladı.

Gecikme gerekmiyorsa otPlatMultipanSetActiveInstance işlendikten hemen sonra veya arayüzlerdeki geçiş tamamlandıktan sonra daha önce bazı radyo işlemlerinin tamamlanması gerekiyorsa çağrılmalıdır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aSuccess
Arayüzler başarıyla değiştirildiyse doğru, geçiş başarısızsa yanlış değerini alır.

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.