Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Radyo İşlemi

Bu modül, radyo işlemleri için platformun soyutlanmasını içerir.

Özet

İşlevler

otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Radyo sürücüsü, alınan bir kareyi OpenThread teşhis modülüne bildirmek için bu yöntemi çağırır.
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Radyo sürücüsü, iletimin tamamlandığını OpenThread teşhis modülüne 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üç kalibrasyonu tablosuna, belirtilen kanalın kalibre edilmiş gücünü ekleyin.
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Kaynak adresi eşleşme tablosuna genişletilmiş adres ekleyin.
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Kaynak adresi eşleşme tablosuna kısa bir adres ekleyin.
otPlatRadioClearCalibratedPowers(otInstance *aInstance)
Kalibre edilmiş tüm güçleri güç kalibrasyonu tablosundan temizleyin.
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
void
Kaynak adres eşleşmesi tablosundan tüm uzatılmış/uzun adresleri temizleyin.
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Genişletilmiş bir adresi, kaynak adres eşleşmesi tablosundan kaldırın.
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
void
Kaynak adresi eşleşme tablosundan tüm kısa adresleri temizleyin.
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Kaynak adresi 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ş ACK Tabanlı Araştırmayı etkinleştir/devre dışı bırak veya güncelle.
otPlatRadioDisable(otInstance *aInstance)
Radyoyu devre dışı bırakın.
otPlatRadioEnable(otInstance *aInstance)
Radyoyu etkinleştirin.
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 adresi eşleşmesini etkinleştir/devre dışı bırak.
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Radyoda enerji taraması dizisini başlatın.
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
Radyo sürücüsü, enerji taramasının tamamlandığını OpenThread'a bildirmek için bu yöntemi çağırır.
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Radyo birlikte kullanım metriklerini alın.
otPlatRadioGetCslAccuracy(otInstance *aInstance)
uint8_t
CSL işlemlerini planlamak için kullanılan saatin ‐ppm birimi cinsinden mevcut doğruluğunu öğrenin.
otPlatRadioGetCslUncertainty(otInstance *aInstance)
uint8_t
Cihazın 10 mikrosaniyelik birim cinsinden CSL İletim programlarıyla ilgili sabit belirsizliği.
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
uint32_t
Cihazın tercih ettiği radyo tercih edilen kanal maskesini alır.
otPlatRadioGetRawPowerSetting(otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
Belirli bir kanalın ham güç ayarını edinin.
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
Bölge kodunu alın.
otPlatRadioGetRssi(otInstance *aInstance)
int8_t
En yeni RSSI ölçümünü edinin.
otPlatRadioGetState(otInstance *aInstance)
Radyonun mevcut durumunu öğrenin.
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
uint32_t
Cihazın yayınlanmasına izin verilen, radyo destekli kanal maskesini alın.
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
Radyo iletim çerçevesi arabelleği 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'dan Alma'ya geçirin (radyoyu açın).
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
Belirli bir zaman ve sürede bir radyo resepsiyonu aralığı planlayın.
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Radyo sürücüsü, alınan bir kareyi OpenThread'a 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ü ayarlayın.
otPlatRadioSetChannelTargetPower(otInstance *aInstance, uint8_t aChannel, int16_t aTargetPower)
İlgili kanalın hedef gücünü 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'dan Uyku'ya geçirin (radyoyu kapatın).
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
Radyoda aktarma sırasını başlatın.
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
Radyo sürücüsü, aktarılan işlemin çerçevesinin ve varsa alınan kare çerçevesinin sağlanmasıyla birlikte, OpenThread işlevini iletim işleminin tamamlandığını bildirmek için bu işlevi çağırır.
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
void
Radyo sürücüsü, aktarımın başladığını OpenThread'a 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

otPlatDiagRadioReceivedDone

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

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

Bu işlev, teşhisler etkinken kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aFrame
Alınan karenin işaretçisi veya alma işlemi başarısız olursa NULL değeri.
[in] aError
Başarılı bir şekilde kare alındığında OT_ERROR_NONE, sinyal iptal edildiğinde ve bir kare alınamadığında OT_ERROR_ABORT, rx arabellek eksikliği nedeniyle bir kare alınamadığında OT_ERROR_NO_BUFS.

otPlatDiagRadyoGeçişi Tamamlandı

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

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

Bu işlev, teşhisler etkinken kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aFrame
İletilen kareye işaretçi.
[in] aError
Çerçeve iletilirken OT_ERROR_NONE, kanaldaki etkinlik nedeniyle OT_ERROR_CHANNEL_ACCESS_FAILURE tx gerçekleştirilemedi. Başka nedenlerle iletim 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üç kalibrasyonu tablosuna, belirtilen kanalın kalibre edilmiş gücünü ekleyin.

Not: Bu API isteğe bağlı bir radyo platformu API'sidir. Değeri uygulamak platform katmanına bağlıdır. aActualPower, radyo donanımı modüllerinin parametreleri aRawPowerSetting olarak ayarlandığında ölçülen gerçek çıkış gücüdür.

Ham güç ayarı opak bir bayt dizisidir. OpenThread, ham güç ayarının biçimini tanımlamıyor. Biçimi radyo donanımıyla ilgilidir. Platformun radyo sürücüsündeki geliştiriciler tarafından tanımlanmalıdır. Örneğin, radyo donanımında hem radyo çipi hem de FEM çipi bulunuyorsa ham güç ayarı, radyo güç kaydının 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 uzunluğu.
Döndürülen Değerler
OT_ERROR_NONE
Kalibre edilmiş güç, kalibrasyon tablosuna başarıyla eklendi.
OT_ERROR_NO_BUFS
Güç kalibrasyonu tablosunda kullanılabilir giriş yok.
OT_ERROR_INVALID_ARGS
aChannel, aActualPower veya aRawPowerSetting geçersiz ya da aActualPower, güç kalibrasyonu tablosunda zaten var.
OT_ERROR_NOT_IMPLEMENTED
Bu özellik uygulanmadı.

otPlatRadioAddSrcMatchExtEntry

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

Kaynak adresi 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çlu bayt sırası halinde 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 adresi 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üç kalibrasyonu tablosundan temizleyin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Kalibre edilen tüm güçler, güç kalibrasyonu tablosundan başarıyla temizlendi.
OT_ERROR_NOT_IMPLEMENTED
Bu özellik uygulanmadı.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Kaynak adres eşleşmesi tablosundan tüm uzatılmış/uzun adresleri temizleyin.

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

otPlatRadioClearSrcMatchExtEntry

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

Genişletilmiş bir adresi, kaynak adres eşleşmesi tablosundan kaldırın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aExtAddress
Kaldırılacak genişletilmiş adres, küçük uçlu bayt sırası kullanılarak 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 adresi eşleşme tablosunda yer almaz.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Kaynak adresi 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 adresi 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 adresi eşleşme tablosunda yer almaz.

otPlatRadioYapılandırEnhAckProbing

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

Belirli bir Başlatıcı için radyoda Gelişmiş ACK Tabanlı Araştırmayı etkinleştir/devre dışı bırak veya güncelle.

Enhanced-ACK tabanlı Probing, belirli bir Probing Starter 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, radyoya Bağlantı Metrikleri verilerini toplamasını başlatmaya/durdurmaya ve söz konusu Durum Denetleyicisi'ne gönderilen Geliştirilmiş-ACK'daki verileri içeren Tedarikçiye Özel IE'yi dahil etmesini bildirir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aLinkMetrics
Bu parametre, sorgulanacak metrikleri belirtir. Spesifikasyona göre, 4.11.3.4.4.6 için en fazla 2 metrik belirtilebilir. aLinkMetrics bit tabanlı olarak 0 olduğunda durum kontrol özelliği devre dışı bırakılır.
[in] aShortAddress
İncelemeyi Başlatan'ın kısa adresi.
[in] aExtAddress
İncelemeyi Başlatan'ın genişletilmiş kaynak adresi. aExtAddr NULL OLMAMALIDIR.
Döndürülen Değerler
OT_ERROR_NONE
Enhanced-ACK Tabanlı Durum İncelemesi başarıyla yapılandırıldı.
OT_ERROR_INVALID_ARGS
aExtAddress NULL.
OT_ERROR_NOT_FOUND
Temizlemeye çalışırken aShortAddress ile belirtilen başlatıcı bulunamıyor.
OT_ERROR_NO_BUFS
Artık Başlatıcı desteklenmiyor.
OT_ERROR_NOT_IMPLEMENTED
Bu özellik uygulanmadı.

otPlatRadioDevre Dışı Bırak

otError otPlatRadioDisable(
  otInstance *aInstance
)

Radyoyu devre dışı bırakın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Devre dışı bırak özelliği başarıyla devre dışı bırakıldı.
OT_ERROR_INVALID_STATE
Radyo uyku modunda değildi.

OTPlatRadioEtkinleştir

otError otPlatRadioEnable(
  otInstance *aInstance
)

Radyoyu etkinleştirin.

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 dönemi, CSL'yi devre dışı bırakmak için 0.
[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 adresi eşleşmesini etkinleştir/devre dışı bırak.

Kaynak adresi eşleştirme özelliği, radyo katmanının çocuklardan gelen veri isteği komutlarına yanıt olarak gönderilen "çözümler için" "bekleyen kare" bitine nasıl karar vereceğini kontrol eder.

Devre dışı bırakılırsa, radyo katmanı, veri isteği komutlarında tüm "çerçeveyi beklemede" olarak ayarlamalıdır.

Etkinleştirildiğinde, radyo katmanı, veri isteği komutuna yönelik bir rafta "çerçeve bekleniyor" bitinin ayarlanıp ayarlanmayacağını belirlemek için kaynak adresi eşleşme tablosunu kullanır.

Kaynak adresi eşleşme tablosu, beklemede olan bir karenin olduğu alt öğelerin listesini sağlar. Kaynak adresi eşleşme tablosuna kısa adres veya uzun/uzun adres eklenebilir.

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

otPlatRadioEnergyScan

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

Radyoda enerji taraması dizisini başlatın.

Bu işlev, radyo OT_RADIO_CAPS_ENERGY_SCAN özelliği sunduğunda kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aScanChannel
Enerji taraması yapılacak kanal.
[in] aScanDuration
Kanalın taranacağı süreyi milisaniye cinsinden belirtir.
Döndürülen Değerler
OT_ERROR_NONE
Kanal başarıyla tarandı.
OT_ERROR_BUSY
Radyo, çevre taraması yapıyor.
OT_ERROR_NOT_IMPLEMENTED
Radyo, enerji taramasını desteklemez.

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

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

Bu işlev, radyo OT_RADIO_CAPS_ENERGY_SCAN özelliği sunduğunda 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 alın.

Bu işlev, OPENCHANGES_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 var olma metrik yapısına işaret eden öğeler
Döndürülen Değerler
OT_ERROR_NONE
Birlikte gösterilen metrikler başarıyla alındı.
OT_ERROR_INVALID_ARGS
aCoexMetrics BOŞtu.

otPlatRadioGetCslAccuracy

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

CSL işlemlerini planlamak için kullanılan saatin ‐ppm birimi cinsinden mevcut doğruluğunu öğrenin.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
Geçerli CSL rx/tx planlaması kayması, IEC ppm cinsinden birimler.

otPlatRadioGetCslBelirsizliği

uint8_t otPlatRadioGetCslUncertainty(
  otInstance *aInstance
)

Cihazın 10 mikrosaniyelik birim cinsinden CSL İletim programlarıyla ilgili sabit belirsizliği.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğini işaret eder.
İadeler
10 ABD doları cinsinden CSL belirsizliği.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Cihazın tercih ettiği radyo tercih edilen kanal maskesini alır.

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

otPlatRadioGetRawPowerAyar

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

Belirli bir kanalın ham güç ayarını edinin.

Not: OpenThread src/core/utils; otPlatRadioAddCalibratedPower(), otPlatRadioClearCalibratedPowers() ve otPlatRadioSetChannelTargetPower() API'sinin varsayılan uygulamasını uygular. Bu API, varsayılan uygulamaya göre, belirtilen kanalın ham güç ayarını almak için sağlanır. Platform varsayılan uygulamayı kullanmıyorsa bu API'yi yoksayabilir. Platform radyo katmanı, radyo katmanının tanımladığı biçime göre ham güç ayarını ayrıştırmalı ve her bir radyo donanımı modülünün parametrelerini belirlemelidir.

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 boyutunda bir 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
Hedef güç başarıyla alındı.
OT_ERROR_INVALID_ARGS
aChannel geçersiz, aRawPowerSetting veya aRawPowerSettingLength BOŞ veya çok kısa.
OT_ERROR_NOT_FOUND
aChannel ürününün ham güç ayarı bulunamadı.

otPlatRadioGetBölge

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 temsilidir.

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 boş değer.
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 yeni RSSI ölçümünü edinin.

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

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Radyonun mevcut durumunu öğrenin.

Bu işlev OpenThread tarafından gerekli değildir. Bu dosya hata ayıklama ve/veya uygulamaya özgü amaçlar için kullanılabilir.

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

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Cihazın yayınlanması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çevesi arabelleği alın.

OpenThread, bu arabellekte IEEE 802.15.4 çerçevesini oluşturur, ardından iletim istemek için otPlatRadioTransmit() yöntemini çağırır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
İadeler
İletilen çerçeve arabelleğine bir işaretçi.

otPlatRadioIsCoexEtkin

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

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

Bu işlev, OPENCHANGES_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 etkinleştirildiyse TRUE, aksi takdirde FALSE.

otPlatRadioIsEtkin

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Ş.

otPlatRadioAlma

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Radyoyu Uyku'dan Alma'ya geçirin (radyoyu açın).

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

otPlatRadioGetAt

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

Belirli bir zaman ve sürede bir radyo resepsiyonu aralığı planlayın.

Ayrıntılar
Parametreler
[in] aChannel
Alınacağı radyo kanalı.
[in] aStart
Alma aralığı başlangıç zamanı (mikrosaniye cinsinden).
[in] aDuration
Mikrosaniye cinsinden alma aralığı süresi
Döndürülen Değerler
OT_ERROR_NONE
Alma aralığı başarıyla planlandı.
OT_ERROR_FAILED
Alma zaman aralığı planlanamadı.

otPlatRadioGetDone

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

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

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aFrame
Alınan karenin işaretçisi veya alma işlemi başarısız olursa NULL değeri.
[in] aError
Başarılı bir şekilde kare alındığında OT_ERROR_NONE, sinyal iptal edildiğinde ve bir kare alınamadığında OT_ERROR_ABORT, rx arabellek eksikliği nedeniyle bir kare alınamadığında 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ü ayarlayın.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aChannel
Radyo kanalı.
[in] aMaxPower
OT_RADIO_RSSI_INVALID olarak iletilen dBm maksimum güç 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
)

İlgili kanalın hedef gücünü ayarlayın.

Not: Bu API isteğe bağlı bir radyo platformu API'sidir. Değeri uygulamak platform katmanına bağlıdır. Bu API uygulanırsa otPlatRadioSetTransmitPower() işlevi devre dışı bırakılmalıdır. Radyo sürücüsü, gerçek çıkış gücünü hedef güçten az veya buna eşit ve hedef güçe mümkün olduğunca yakın olmalıdır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aChannel
Radyo kanalı.
[in] aTargetPower
0,01 dBm'lik hedef güç. INT16_MAX geçirildiğinde, bu kanalın hedef gücü kullanması devre dışı bırakılı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.

Bu işlev, OPENCHANGES_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
Radyonun coex'ini etkinleştirmek için TRUE, aksi takdirde FALSE değerini alır.
Döndürülen Değerler
OT_ERROR_NONE
Başarıyla etkinleştirildi.
OT_ERROR_FAILED
Radyo coex etkinleştirilemedi.

otPlatRadioSetBölgesi

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 temsilidir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aRegionCode
Radyo bölgesi.
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ı.

otPlatRadioUykusu

otError otPlatRadioSleep(
  otInstance *aInstance
)

Radyoyu, Al'dan Uyku'ya geçirin (radyoyu kapatın).

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

otPlatRadioTransmisyonu

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Radyoda aktarma sırasını başlatın.

Arayan, iletim isteğinde bulunmadan önce otPlatRadioGetTransmitBuffer() tarafından sağlanan arabellekte IEEE 802.15.4 çerçevesini oluşturmalıdır. Kanal ve iletim gücü de otRadioFrame yapısına dahil edilir.

Aktarma sırası şunlardan oluşur:

  1. Radyonun aşağıdaki durumlar arasında geçiş yapma şekline geçişi:
    • Cihaz boştayken veya OT_RADIO_CAPS_SLEEP_TO_TX desteklenmediğinde RX açıksa alın
    • RX kapalıysa ve cihaz OT_RADIO_CAPS_SLEEP_TO_TX destekleniyorsa uyku moduna geçer.
  2. Belirtilen kanaldaki ve belirtilen iletim gücündeki psdu'yu aktarır.

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
Aktarmaya başarıyla geçildi.
OT_ERROR_INVALID_STATE
Radyo, Alma durumunda değildi.

otPlatRadioTxBitti

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

Radyo sürücüsü, aktarılan işlemin çerçevesinin ve varsa alınan kare çerçevesinin sağlanmasıyla birlikte, OpenThread işlevini iletim işleminin tamamlandığını bildirmek için bu işlevi çağırır.

Radyo, OT_RADIO_CAPS_TRANSMIT_SEC özelliği sunduğunda radyo platformu katmanı aFrame, güvenlik çerçevesi sayacı ve radyonun sağladığı anahtar dizini değerleriyle günceller.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aFrame
İletilen kareye işaretçi.
[in] aAckFrame
Herhangi bir ACK alınmazsa ACK çerçevesi için işaretçi.
[in] aError
OTRERROR_NONE, kare iletildiğinde OT_ERROR_NO_ACK, kare iletilirken ACK alınmadı. Kanaldaki etkinlik nedeniyle OT_ERROR_CHANNEL_ACCESS_FAILURE tx gerçekleştirilemedi. Başka nedenlerle iletim iptal edildiğinde OT_ERROR_ABORT.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

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

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

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

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

Örnek süre, CSL IE ile ACK gönderilirken aşamayı hesaplamak için radyo sürücüsünde bir kopya olarak depolanır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aCslSampleTime
En son örnek zamanı.

Kaynaklar

OpenThread API Referans konularının kaynağı, GitHub'daki kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar'a bakın.