Telsiz İşlemi

Bu modülde radyo işlemleri için platform soyutlaması yer alır.

Özet

İşlevler

otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Radyo sürücüsü, alınan bir çerçevenin OpenThread teşhis modülüne bilgi vermek için bu yöntemi çağırır.
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Radyo sürücüsü, OpenThread teşhis modülüne iletimin tamamlandığını bildirmek için bu yöntemi çağırır.
otPlatRadioAddCalibratedPower(otInstance *aInstance, uint8_t aChannel, int16_t aActualPower, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength)
Güç kalibrasyon tablosuna, belirtilen kanalın kalibre edilmiş gücünü ekleyin.
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Kaynak adres eşleşme tablosuna genişletilmiş adres ekleyin.
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Kaynak adres eşleşme tablosuna kısa bir adres ekleyin.
otPlatRadioClearCalibratedPowers(otInstance *aInstance)
Kalibre edilmiş tüm güçleri güç kalibrasyon tablosundan temizle.
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
void
Kaynak adres eşleşme tablosundaki tüm genişletilmiş/uzun adresleri temizleyin.
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Kaynak adres eşleşme tablosundan genişletilmiş bir adresi kaldırın.
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
void
Kaynak adres eşleşme tablosundan tüm kısa adresleri temizleyin.
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Kaynak adres eşleşme tablosundan kısa bir adresi kaldırın.
otPlatRadioConfigureEnhAckProbing(otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
Belirli bir Başlatıcı için radyoda Gelişmiş AK Tabanlı Probing özelliğini etkinleştirin/devre dışı bırakın veya güncelleyin.
otPlatRadioDisable(otInstance *aInstance)
Radyoyu devre dışı bırakabilir.
otPlatRadioEnable(otInstance *aInstance)
Radyoyu etkinleştir.
otPlatRadioEnableCsl(otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
CSL alıcısını etkinleştirin veya devre dışı bırakın.
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
void
Kaynak adres eşleştirme özelliğini etkinleştirin/devre dışı bırakın.
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Radyoda enerji taraması sırasını başlatın.
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
Radyo sürücüsü, OpenThread'e enerji taramasının tamamlandığını bildirmek için bu yöntemi çağırır.
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Radyo birlikte kullanım metriklerini alma.
otPlatRadioGetCslAccuracy(otInstance *aInstance)
uint8_t
Yerel radyo saatinin mevcut tahmini en kötü durum doğruluğunu (nominal frekanstan maksimum ± sapma) PPM cinsinden alın.
otPlatRadioGetCslUncertainty(otInstance *aInstance)
uint8_t
Belirlenen belirsizlik (ör.
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
uint32_t
Cihazın üzerinde oluşturulmasını tercih ettiği, radyoda tercih edilen kanal maskesini alır.
otPlatRadioGetRawPowerSetting(otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
İlgili kanalın ham güç ayarını öğrenin.
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
Bölge kodunu alın.
otPlatRadioGetRssi(otInstance *aInstance)
int8_t
En güncel RSSI ölçümünü edinin.
otPlatRadioGetState(otInstance *aInstance)
Radyonun şu anki durumunu öğrenebilirsiniz.
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
uint32_t
Cihazın kullanılmasına izin verilen radyo destekli kanal maskesini alın.
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
Radyo iletim çerçeve arabelleğini alın.
otPlatRadioIsCoexEnabled(otInstance *aInstance)
bool
Radyo coex'in etkin olup olmadığını kontrol edin.
otPlatRadioIsEnabled(otInstance *aInstance)
bool
Radyonun etkin olup olmadığını kontrol edin.
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
Radyoyu Uyku modundan Alma moduna geçirin (Radyoyu açın).
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
Belirli bir zaman ve süre için bir radyo alım penceresi programlayın.
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Radyo sürücüsü, alınan bir çerçeveyi OpenThread'e bildirmek için bu yöntemi çağırır.
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
Belirli bir kanal için maksimum iletim gücünü belirleyin.
otPlatRadioSetChannelTargetPower(otInstance *aInstance, uint8_t aChannel, int16_t aTargetPower)
Belirtilen kanal için hedef gücü ayarlayın.
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
Radyo coex'i etkinleştirin.
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
Bölge kodunu ayarlayın.
otPlatRadioSleep(otInstance *aInstance)
Radyoyu Al durumundan Uyku moduna geçirin (Radyoyu kapatın).
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
Radyonun gönderme sırasını başlatın.
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
Radyo sürücüsü, hem aktarılan çerçeveyi hem de alınan onay çerçevesini sağlayarak OpenThread'e aktarım işleminin tamamlandığını bildirmek için bu işlevi çağırır.
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
void
Radyo sürücüsü, OpenThread'e iletimin başladığını bildirmek için bu yöntemi çağırır.
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
void
Radyo sürücüsünde CSL örnek zamanını güncelleyin.

İşlevler

otPlatDiagRadioReceiveDone

void otPlatDiagRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Radyo sürücüsü, alınan bir çerçevenin OpenThread teşhis modülüne bilgi vermek için bu yöntemi çağırır.

Teşhis etkinleştirildiğinde kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aFrame
Alınan kareye işaretçi. Alma işlemi başarısız olduysa NULL.
[in] aError
Bir kare başarıyla alındığında OT_ERROR_NONE; alma iptal edildiğinde ve bir kare alınmadığında OT_ERROR_ABORT; rx arabellek alanı yetersizliği nedeniyle bir kare alınamadıysa OT_ERROR_NO_BUFS.

otPlatDiagRadioTransmitDone

void otPlatDiagRadioTransmitDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Radyo sürücüsü, OpenThread teşhis modülüne iletimin tamamlandığını bildirmek için bu yöntemi çağırır.

Teşhis etkinleştirildiğinde kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aFrame
İletilen çerçevenin işaretçisi.
[in] aError
Kare iletilirken OT_ERROR_NONE; kanaldaki etkinlik nedeniyle OT_ERROR_CHANNEL_ACCESS_FAILURE işlemi gerçekleştirilemedi. İletim başka nedenlerden dolayı iptal edildiğinde OT_ERROR_ABORT.

otPlatRadioAddCalibratedPower

otError otPlatRadioAddCalibratedPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t aActualPower,
  const uint8_t *aRawPowerSetting,
  uint16_t aRawPowerSettingLength
)

Güç kalibrasyon tablosuna, belirtilen kanalın kalibre edilmiş gücünü ekleyin.

aActualPower, radyo donanım modüllerinin parametreleri aRawPowerSetting olarak ayarlandığında ölçülen gerçek çıkış gücüdür.

Ham güç ayarı bir opak bayt dizisidir. OpenThread, ham güç ayarının biçimini tanımlamaz. Biçimi radyo donanımıyla ilgilidir ve platform radyo sürücüsündeki geliştiriciler tarafından tanımlanmalıdır. Örneğin, radyo donanımı hem radyo çipini hem de FEM çipini içeriyorsa ham güç ayarı, radyo güç kaydı ve FEM kazanç değerinin bir kombinasyonu olabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aChannel
Radyo kanalı.
[in] aActualPower
0,01 dBm cinsinden gerçek güç.
[in] aRawPowerSetting
Ham güç ayarı bayt dizisinin işaretçisi.
[in] aRawPowerSettingLength
aRawPowerSetting öğesinin uzunluğu.
Döndürülen Değerler
OT_ERROR_NONE
Kalibre edilen güç, güç kalibrasyon tablosuna başarıyla eklendi.
OT_ERROR_NO_BUFS
Güç kalibrasyon tablosunda kullanılabilir giriş yok.
OT_ERROR_INVALID_ARGS
aChannel, aActualPower veya aRawPowerSetting geçersiz ya da aActualPower güç kalibrasyonu tablosunda zaten mevcut.
OT_ERROR_NOT_IMPLEMENTED
Bu özellik uygulanmadı.

otPlatRadioAddSrcMatchExtEntry

otError otPlatRadioAddSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Kaynak adres eşleşme tablosuna genişletilmiş adres ekleyin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aExtAddress
Eklenecek genişletilmiş adres, küçük uç bayt düzeninde depolanır.
Döndürülen Değerler
OT_ERROR_NONE
Genişletilmiş adres, kaynak eşleşme tablosuna başarıyla eklendi.
OT_ERROR_NO_BUFS
Kaynak eşleşme tablosunda kullanılabilir giriş yok.

otPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Kaynak adres eşleşme tablosuna kısa bir adres ekleyin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aShortAddress
Eklenecek kısa adres.
Döndürülen Değerler
OT_ERROR_NONE
Kısa adres, kaynak eşleşme tablosuna başarıyla eklendi.
OT_ERROR_NO_BUFS
Kaynak eşleşme tablosunda kullanılabilir giriş yok.

otPlatRadioClearCalibratedPowers

otError otPlatRadioClearCalibratedPowers(
  otInstance *aInstance
)

Kalibre edilmiş tüm güçleri güç kalibrasyon tablosundan temizle.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Güç kalibrasyon tablosundaki tüm kalibre edilen güçler başarıyla silindi.
OT_ERROR_NOT_IMPLEMENTED
Bu özellik uygulanmadı.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Kaynak adres eşleşme tablosundaki tüm genişletilmiş/uzun adresleri temizleyin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.

otPlatRadioClearSrcMatchExtEntry

otError otPlatRadioClearSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Kaynak adres eşleşme tablosundan genişletilmiş bir adresi kaldırın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aExtAddress
Kaldırılacak genişletilmiş adres, küçük uç bayt düzeninde depolanır.
Döndürülen Değerler
OT_ERROR_NONE
Genişletilmiş adres, kaynak eşleşme tablosundan başarıyla kaldırıldı.
OT_ERROR_NO_ADDRESS
Genişletilmiş adres, kaynak adres eşleşme tablosunda yer almıyor.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Kaynak adres eşleşme tablosundan tüm kısa adresleri temizleyin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Kaynak adres eşleşme tablosundan kısa bir adresi kaldırın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aShortAddress
Kaldırılacak kısa adres.
Döndürülen Değerler
OT_ERROR_NONE
Kısa adres, kaynak eşleşme tablosundan başarıyla kaldırıldı.
OT_ERROR_NO_ADDRESS
Kısa adres, kaynak adres eşleşme tablosunda yer almaz.

otPlatRadioConfigureEnhAckProbing

otError otPlatRadioConfigureEnhAckProbing(
  otInstance *aInstance,
  otLinkMetrics aLinkMetrics,
  otShortAddress aShortAddress,
  const otExtAddress *aExtAddress
)

Belirli bir Başlatıcı için radyoda Gelişmiş AK Tabanlı Probing özelliğini etkinleştirin/devre dışı bırakın veya güncelleyin.

Enhanced-ACK Tabanlı Probing, belirli bir Probing Launcher tarafından yapılandırıldıktan sonra, bu düğüme gönderilen Enhanced-ACK, Bağlantı Metrikleri verilerini içeren Tedarikçiye Özel IE'yi içermelidir. Bu yöntem, radyoyu Bağlantı Metrikleri verilerini toplamak için başlatma/durdurma konusunda bilgilendirir ve Enhanced-ACK'de söz konusu Araştırma Başlatan'a gönderilen verileri içeren Tedarikçiye Özel IE'yi dahil eder.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aLinkMetrics
Bu parametre, hangi metriklerin sorgulanacağını belirtir. 4.11.3.4.4.6 spesifikasyonu uyarınca en fazla 2 metrik belirtilebilir. aLinkMetrics bit tabanlı 0 ise inceleme devre dışı bırakılır.
[in] aShortAddress
Araştırmayı Başlatan'ın kısa adresi.
[in] aExtAddress
İnceleme Başlatanın genişletilmiş kaynak adresi. aExtAddr, NULL OLMAMALIDIR.
Döndürülen Değerler
OT_ERROR_NONE
Gelişmiş AcK Tabanlı Probing başarıyla yapılandırıldı.
OT_ERROR_INVALID_ARGS
aExtAddress NULL.
OT_ERROR_NOT_FOUND
Temizlemeye çalışırken aShortAddress tarafından belirtilen Başlatıcı bulunamadı.
OT_ERROR_NO_BUFS
Başka Başlatıcı desteklenemez.
OT_ERROR_NOT_IMPLEMENTED
Bu özellik uygulanmadı.

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

Radyoyu devre dışı bırakabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Devre dışı bırakmaya başarıyla geçildi.
OT_ERROR_INVALID_STATE
Radyo uyku durumunda değildi.

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Radyoyu etkinleştir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Başarıyla etkinleştirildi.
OT_ERROR_FAILED
Radyo etkinleştirilemedi.

otPlatRadioEnableCsl

otError otPlatRadioEnableCsl(
  otInstance *aInstance,
  uint32_t aCslPeriod,
  otShortAddress aShortAddr,
  const otExtAddress *aExtAddr
)

CSL alıcısını etkinleştirin veya devre dışı bırakın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aCslPeriod
CSL süresi, CSL'yi devre dışı bırakmak için 0. CSL süresi, 10 simgeden oluşan birimdir.
[in] aShortAddr
CSL alıcısının eşinin kısa kaynak adresi.
[in] aExtAddr
CSL alıcısının eşinin genişletilmiş kaynak adresi.
Döndürülen Değerler
kErrorNotImplemented
Radyo sürücüsü CSL'yi desteklemiyor.
kErrorFailed
Platforma özgü diğer hatalar.
kErrorNone
CSL başarıyla etkinleştirildi veya devre dışı bırakıldı.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

Kaynak adres eşleştirme özelliğini etkinleştirin/devre dışı bırakın.

Kaynak adresi eşleştirme özelliği, radyo katmanının, alt yayıncılardan gelen veri isteği komutlarına yanıt olarak gönderilen onaylar için "çerçeve beklemede" bitini nasıl belirlediğini kontrol eder.

Devre dışı bırakılırsa radyo katmanı, veri isteği komutlarına yönelik tüm bağlantılarda "çerçeve beklemede" değerini ayarlamalıdır.

Etkinleştirilirse radyo katmanı, bir veri isteği komutuna onaydaki "çerçeve beklemede" bitinin ayarlanıp ayarlanmayacağını belirlemek için kaynak adresi eşleşme tablosunu kullanır.

Kaynak adresi eşleşme tablosu, beklemede çerçeve bulunan alt öğelerin listesini sağlar. Kaynak adres eşleşme tablosuna kısa veya genişletilmiş/uzun adres eklenebilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aEnable
Kaynak adres eşleştirme özelliğini etkinleştirin/devre dışı bırakın.

otPlatRadioEnergyScan

otError otPlatRadioEnergyScan(
  otInstance *aInstance,
  uint8_t aScanChannel,
  uint16_t aScanDuration
)

Radyoda enerji taraması sırasını başlatın.

Radyo, OT_RADIO_CAPS_ENERGY_SCAN özelliği sağladığında kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aScanChannel
Enerji taraması yapılacak kanal.
[in] aScanDuration
Kanalın taranacak süresi (milisaniye cinsinden).
Döndürülen Değerler
OT_ERROR_NONE
Kanal taraması başarıyla başlatıldı.
OT_ERROR_BUSY
Radyo, enerji taraması gerçekleştiriyor.
OT_ERROR_NOT_IMPLEMENTED
Radyo, enerji taramasını desteklemiyor.

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

Radyo sürücüsü, OpenThread'e enerji taramasının tamamlandığını bildirmek için bu yöntemi çağırır.

Radyo, OT_RADIO_CAPS_ENERGY_SCAN özelliği sağladığında kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aEnergyScanMaxRssi
Taranan kanalda karşılaşılan maksimum RSSI.

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Radyo birlikte kullanım metriklerini alma.

OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE özelliği etkinleştirildiğinde kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[out] aCoexMetrics
Birlikte kullanım metrikleri yapısına işaret eden bir nokta.
Döndürülen Değerler
OT_ERROR_NONE
coex metrikleri başarıyla alındı.
OT_ERROR_INVALID_ARGS
aCoexMetrics BOŞ.

otPlatRadioGetCslAccuracy

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

Yerel radyo saatinin mevcut tahmini en kötü durum doğruluğunu (nominal frekanstan maksimum ± sapma) PPM cinsinden alın.

Bu, CSL işlemlerini planlamak için kullanılan saattir.

Uygulama işleminin geçerli değeri tahmin etmemesi, ancak sabit bir değer döndürmesi durumunda bu değer, uygulamanın olası tüm öngörülen çalışma koşullarında (sıcaklık, basınç vb.) en kötü durum doğruluğu ZORUNLUDUR.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
PPM olarak mevcut CSL rx/tx zaman planlaması kayması.

otPlatRadioGetCslUncertainty

uint8_t otPlatRadioGetCslUncertainty(
  otInstance *aInstance
)

Belirlenen belirsizlik (ör.

rastgele ses dalgalanması) deneyin.

Bu, bir iletimin gerçek varış zamanının, geçen zamandan bağımsız olarak yerel radyo saatine göre hesaplanan iletim süresinden en kötü durum sabit pozitif veya negatif sapmasını gösterir. Geçen süre boyunca biriken belirsizliğe ek olarak CSL kanal örneği ("RX aralığı"), rastgele varış süresi dalgalanması olduğunda yerel alıcı tarafından gerçek bir iletimin garanti edilmesini sağlayacak şekilde bu sapmanın iki katı kadar uzatılmalıdır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
10 ABD'lik birimlerle CSL Belirsizliği.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Cihazın üzerinde oluşturulmasını tercih ettiği, radyoda tercih edilen kanal maskesini alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
İadeler
Radyonun tercih ettiği kanal maskesi.

otPlatRadioGetRawPowerSetting

otError otPlatRadioGetRawPowerSetting(
  otInstance *aInstance,
  uint8_t aChannel,
  uint8_t *aRawPowerSetting,
  uint16_t *aRawPowerSettingLength
)

İlgili kanalın ham güç ayarını öğrenin.

Platform radyo katmanı, ham güç ayarını radyo katmanında tanımlı biçime göre ayrıştırmalı ve her bir radyo donanım modülünün parametrelerini ayarlamalıdır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aChannel
Radyo kanalı.
[out] aRawPowerSetting
Ham güç ayarı bayt dizisinin işaretçisi.
[in,out] aRawPowerSettingLength
Girişte, aRawPowerSetting boyutuna işaretçi. Çıkışta, ham güç ayarı verilerinin uzunluğunu gösteren bir işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Hedeflenen güç başarıyla alındı.
OT_ERROR_INVALID_ARGS
aChannel geçersiz, aRawPowerSetting veya aRawPowerSettingLength NULL ya da çok kısa.
OT_ERROR_NOT_FOUND
aChannel için ham güç ayarı bulunamadı.

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

Bölge kodunu alın.

Radyo bölgesi biçimi, ISO 3166 alfa-2 kodunun 2 baytlık ASCII gösterimidir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[out] aRegionCode
Radyo bölgesi.
Döndürülen Değerler
OT_ERROR_INVALID_ARGS
aRegionCode nullptr.
OT_ERROR_FAILED
Platforma özgü diğer hatalar.
OT_ERROR_NONE
Bölge kodu başarıyla alındı.
OT_ERROR_NOT_IMPLEMENTED
Bu özellik uygulanmadı.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

En güncel RSSI ölçümünü edinin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
İadeler
Geçerli olduğunda dBm cinsinden RSSI. RSSI geçersiz olduğunda 127.

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Radyonun şu anki durumunu öğrenebilirsiniz.

OpenThread için gerekli değildir. Hata ayıklama için ve/veya uygulamaya özel amaçlarla kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
İadeler
Radyonun şu anki durumu.

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Cihazın kullanılmasına izin verilen radyo destekli kanal maskesini alın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
İadeler
Radyo destekli kanal maskesi.

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Radyo iletim çerçeve arabelleğini alın.

OpenThread, bu arabellekte IEEE 802.15.4 çerçevesini oluşturur, ardından iletim isteğinde bulunmak için otPlatRadioTransmit() işlevini çağırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
İadeler
İletim çerçevesi arabelleğinin işaretçisi.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Radyo coex'in etkin olup olmadığını kontrol edin.

OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE özelliği etkinleştirildiğinde kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
İadeler
Radyo coex etkinse DOĞRU, aksi takdirde YANLIŞ olur.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Radyonun etkin olup olmadığını kontrol edin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
İadeler
Radyo etkinse DOĞRU, aksi takdirde YANLIŞ olur.

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Radyoyu Uyku modundan Alma moduna geçirin (Radyoyu açın).

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aChannel
Alma için kullanılacak kanal.
Döndürülen Değerler
OT_ERROR_NONE
Alma durumuna başarıyla geçirildi.
OT_ERROR_INVALID_STATE
Radyo devre dışı bırakılmış veya veri iletimi yapıyor.

otPlatRadioReceiveAt

otError otPlatRadioReceiveAt(
  otInstance *aInstance,
  uint8_t aChannel,
  uint32_t aStart,
  uint32_t aDuration
)

Belirli bir zaman ve süre için bir radyo alım penceresi programlayın.

Ayrıntılar
Parametreler
[in] aChannel
Alacağınız radyo kanalı.
[in] aStart
Yerel radyo saatine göre alma zaman aralığı başlangıç zamanı, bkz. otPlatRadioGetNow. Radyo alıcısı, pencere başlangıç zamanında karenin SHR'sinin ilk sembolünü almaya hazır ve açık olacaktır.
[in] aDuration
Yerel radyo saatiyle ölçülen alma aralığı süresi (mikrosaniye cinsinden). Radyo etkin bir şekilde kare almıyorsa bu süre sonunda kapatılmalıdır (veya ACK çerçevesinin gönderilmesi gerekiyorsa TX moduna geçirilmelidir). İkinci durumda, kare alımı başarılı veya başarısız olana kadar radyo sinyal alma modunda SALINIR.
Döndürülen Değerler
OT_ERROR_NONE
Alma penceresi başarıyla planlandı.
OT_ERROR_FAILED
Alma aralığı planlanamadı.

otPlatRadioReceiveDone

void otPlatRadioReceiveDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

Radyo sürücüsü, alınan bir çerçeveyi OpenThread'e bildirmek için bu yöntemi çağırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aFrame
Alınan kareye işaretçi. Alma işlemi başarısız olduysa NULL.
[in] aError
Bir kare başarıyla alındığında OT_ERROR_NONE; alma iptal edildiğinde ve bir kare alınmadığında OT_ERROR_ABORT; rx arabellek alanı yetersizliği nedeniyle bir kare alınamadıysa OT_ERROR_NO_BUFS.

otPlatRadioSetChannelMaxTransmitPower

otError otPlatRadioSetChannelMaxTransmitPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int8_t aMaxPower
)

Belirli bir kanal için maksimum iletim gücünü belirleyin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aChannel
Radyo kanalı.
[in] aMaxPower
dBm cinsinden maksimum güç, OT_RADIO_RSSI_INVALID değerini geçirmek bu kanalı devre dışı bırakır.
Döndürülen Değerler
OT_ERROR_NOT_IMPLEMENTED
Bu özellik uygulanmadı
OT_ERROR_INVALID_ARGS
Belirtilen kanal geçerli değil.
OT_ERROR_FAILED
Platforma özgü diğer hatalar.
OT_ERROR_NONE
Maksimum iletim gücü başarıyla ayarlandı.

otPlatRadioSetChannelTargetPower

otError otPlatRadioSetChannelTargetPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t aTargetPower
)

Belirtilen kanal için hedef gücü ayarlayın.

Radyo sürücüsü, gerçek çıkış gücünü, hedef güce eşit veya bundan daha düşük ve hedef güce mümkün olduğunca yakın bir değere ayarlamalıdır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aChannel
Radyo kanalı.
[in] aTargetPower
0,01 dBm cinsinden hedef güç. INT16_MAX değerini geçirmek, bu kanalın hedef gücü kullanmasını devre dışı bırakır.
Döndürülen Değerler
OT_ERROR_NONE
Hedef güç başarıyla ayarlandı.
OT_ERROR_INVALID_ARGS
aChannel veya aTargetPower geçersiz.
OT_ERROR_NOT_IMPLEMENTED
Bu özellik uygulanmadı.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Radyo coex'i etkinleştirin.

OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE özelliği etkinleştirildiğinde kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aEnabled
Radyo coex'i etkinleştirmek için TRUE, aksi takdirde FALSE.
Döndürülen Değerler
OT_ERROR_NONE
Başarıyla etkinleştirildi.
OT_ERROR_FAILED
Radyo coex etkinleştirilemedi.

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

Bölge kodunu ayarlayın.

Radyo bölgesi biçimi, ISO 3166 alfa-2 kodunun 2 baytlık ASCII gösterimidir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aRegionCode
Radyo bölge kodu. aRegionCode >> 8 birinci ascii karakter, aRegionCode & 0xff ise ikinci ascii karakterdir.
Döndürülen Değerler
OT_ERROR_FAILED
Platforma özgü diğer hatalar.
OT_ERROR_NONE
Bölge kodu başarıyla ayarlandı.
OT_ERROR_NOT_IMPLEMENTED
Bu özellik uygulanmadı.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Radyoyu Al durumundan Uyku moduna geçirin (Radyoyu kapatın).

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Uyku moduna başarıyla geçildi.
OT_ERROR_BUSY
Radyo iletiyordu.
OT_ERROR_INVALID_STATE
Radyo devre dışı bırakıldı.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Radyonun gönderme sırasını başlatın.

Arayan kişinin iletim isteğinde bulunmadan önce otPlatRadioGetTransmitBuffer() tarafından sağlanan arabelleğin içinde IEEE 802.15.4 çerçevesini oluşturması gerekir. Kanal ve iletim gücü de otRadioFrame yapısına dahil edilir.

İletim sırası aşağıdakileri içerir:

  1. Radyo, aşağıdaki durumlardan birinden İletim moduna geçiriliyor:
    • Cihaz boştayken RX açık olduğunda veya OT_RADIO_CAPS_SLEEP_TO_TX desteklenmediğinde al
    • Cihaz boştayken ve OT_RADIO_CAPS_SLEEP_TO_TX destekleniyorken RX kapalıysa uyku moduna geç.
  2. psdu'yu belirtilen kanal üzerinde ve verilen iletim gücünde iletir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aFrame
İletilecek karenin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
İletim moduna başarıyla geçildi.
OT_ERROR_INVALID_STATE
Radyo, Alma durumunda değil.

otPlatRadioTxDone

void otPlatRadioTxDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otRadioFrame *aAckFrame,
  otError aError
)

Radyo sürücüsü, hem aktarılan çerçeveyi hem de alınan onay çerçevesini sağlayarak OpenThread'e aktarım işleminin tamamlandığını bildirmek için bu işlevi çağırır.

Radyo, OT_RADIO_CAPS_TRANSMIT_SEC özelliği sağladığında radyo platform katmanı aFrame öğesini, radyo tarafından saklanan güvenlik çerçevesi sayacı ve anahtar dizini değerleriyle günceller.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aFrame
İletilen çerçevenin işaretçisi.
[in] aAckFrame
ACK çerçevesine işaretçi; ACK alınmadıysa NULL.
[in] aError
Kare iletilirken OT_ERROR_NONE; çerçeve iletildiğinde ancak ACK alınmadığında OT_ERROR_NO_ACK, kanaldaki etkinlik nedeniyle OT_ERROR_CHANNEL_ACCESS_FAILURE işlem gerçekleştirilemedi, iletim başka nedenlerden dolayı iptal edildiğinde OT_ERROR_ABORT.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Radyo sürücüsü, OpenThread'e iletimin başladığını bildirmek için bu yöntemi çağırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısına işaretçi.
[in] aFrame
İletilen çerçevenin işaretçisi.

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

Radyo sürücüsünde CSL örnek zamanını güncelleyin.

Örnek zaman, CSL IE ile ACK gönderirken fazı hesaplamak için radyo sürücüsünde kopya olarak saklanır. CSL alıcısının CSL örneği (aralık) örnek zamanından önce ve sonra uzanır. CSL örnek zamanı, yanlışlık/saat kayması olmadığında CSL örnek penceresinde bir karenin "ideal koşullarda" alınması gereken bir zaman damgasını işaretler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aCslSampleTime
Mikrosaniye cinsinden sonraki örnek zamanı. Çerçevenin MHR'sinin ilk sembolünün beklendiği zamandı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.