Radyo Yapılandırması
Bu modül, radyo yapılandırması için platform soyutlamasını içerir.
Özet
İşlevler |
|
---|---|
otPlatRadioGetBusSpeed(otInstance *aInstance)
|
uint32_t
Veri yolu hızını ana makine ile radyo çipi arasındaki bit/saniye cinsinden alın.
|
otPlatRadioGetCaps(otInstance *aInstance)
|
Radyo özelliklerini edinin.
|
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
|
IEEE 802.15.4 - 2015 bölüm 10.1.4 uyarınca anten konnektöründe ölçülen dBm cinsinden radyonun CCA ED eşiğini öğrenin.
|
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
|
Harici FEM'nin Rx LNA kazancını dBm cinsinden alır.
|
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
|
void
Bu arayüz için fabrika tarafından atanan IEEE EUI-64'ü alır.
|
otPlatRadioGetNow(otInstance *aInstance)
|
uint64_t
Sürekli monotonik yerel radyo saatine (64 bit genişlik) başvurulan zamanı mikrosaniye cinsinden alın.
|
otPlatRadioGetPromiscuous(otInstance *aInstance)
|
bool
rastgele modun durumunu al.
|
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)
|
int8_t
Radyo alma hassasiyet değerini alın.
|
otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)
|
Radyonun iletim gücünü dBm cinsinden alın.
|
otPlatRadioGetVersionString(otInstance *aInstance)
|
const char *
Radyo sürümü dizesini alın.
|
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
|
Radyonun CCA ED eşiğini, IEEE 802.15.4 - 2015 bölüm 10.1.4 uyarınca anten konnektöründe ölçülen dBm cinsinden ayarlayın.
|
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
|
void
Adres filtreleme için Genişletilmiş Adres'i ayarlayın.
|
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
|
Harici FEM'nin Rx LNA kazancını dBm olarak ayarlar.
|
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
Geçerli MAC çerçeve sayacı değerini ayarlar.
|
otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
Geçerli MAC çerçeve sayacı değerini yalnızca verilen yeni değer geçerli değerden büyükse ayarlar.
|
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)
|
void
MAC anahtarlarını ve anahtar dizinini güncelleyin.
|
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)
|
void
Adres filtreleme için PAN kimliğini ayarlayın.
|
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
|
void
rastgele modu etkinleştirin veya devre dışı bırakın.
|
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
|
void
Boştayken rx-on-takma durumunu radyo platformuna ayarlar.
|
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
|
void
Adres filtreleme için Kısa Adres'i ayarlayın.
|
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
|
Radyonun iletim gücünü dBm olarak ayarlayın.
|
İşlevler
otPlatRadioGetBusSpeed
uint32_t otPlatRadioGetBusSpeed( otInstance *aInstance )
Veri yolu hızını ana makine ile radyo çipi arasındaki bit/saniye cinsinden alın.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Ana makine ile radyo çipi arasındaki bit/saniye cinsinden veri yolu hızı. MAC ve üst katman ile Radyo katmanı aynı çipte olduğunda, 0 değerini döndürür.
|
otPlatRadioGetCaps
otRadioCaps otPlatRadioGetCaps( otInstance *aInstance )
Radyo özelliklerini edinin.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Radyo özelliği bit vektörü (
OT_RADIO_CAP_* tanımlarına bakın). |
otPlatRadioGetCcaEnergyDetectThreshold
otError otPlatRadioGetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t *aThreshold )
IEEE 802.15.4 - 2015 bölüm 10.1.4 uyarınca anten konnektöründe ölçülen dBm cinsinden radyonun CCA ED eşiğini öğrenin.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
otPlatRadioGetFemLnaGain
otError otPlatRadioGetFemLnaGain( otInstance *aInstance, int8_t *aGain )
Harici FEM'nin Rx LNA kazancını dBm cinsinden alır.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
otPlatRadioGetIeeeEui64
void otPlatRadioGetIeeeEui64( otInstance *aInstance, uint8_t *aIeeeEui64 )
Bu arayüz için fabrika tarafından atanan IEEE EUI-64'ü alır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
otPlatRadioGetNow
uint64_t otPlatRadioGetNow( otInstance *aInstance )
Sürekli monotonik yerel radyo saatine (64 bit genişlik) başvurulan zamanı mikrosaniye cinsinden alın.
Cihazın çalışma süresi boyunca radyo saati SALINMAZ. Bu nedenle uygulamalar, dahili sayaç taşmalarını tespit edip telafi eder. Saatte tanımlanmış bir dönem yoktur ve sürekli veya devamlı herhangi bir ayarlama (ör. artık saniye) İÇERMEZ. UYGULAMALAR, cihazın uyku sürelerini telafi eder.
Açığa çıkan birleşik saat, otPlatRadioGetCslAccuracy tarafından bildirilen doğruluk sınırları dahilinde sürekli monotonik mikrosaniye çözünürlük tıkırtıları sağladığı sürece, uygulamalar radyo saatini disiplin etmeyi ve herhangi bir şekilde (ör. yüksek hassasiyet/düşük güçlü RTC'yi yüksek çözünürlüklü bir sayaçla birleştirerek) uyku süresini dengelemeyi seçebilir.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Mikrosaniye cinsinden geçerli zaman. Platform desteklemediği veya radyo saati hazır olmadığında UINT64_MAX.
|
otPlatRadioGetPromiscuous
bool otPlatRadioGetPromiscuous( otInstance *aInstance )
rastgele modun durumunu al.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
otPlatRadioGetReceiveSensitivity
int8_t otPlatRadioGetReceiveSensitivity( otInstance *aInstance )
Radyo alma hassasiyet değerini alın.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
Radyo, hassasiyet değerini dBm cinsinden alır.
|
otPlatRadioGetTransmitPower
otError otPlatRadioGetTransmitPower( otInstance *aInstance, int8_t *aPower )
Radyonun iletim gücünü dBm cinsinden alın.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
otPlatRadioGetVersionString
const char * otPlatRadioGetVersionString( otInstance *aInstance )
Radyo sürümü dizesini alın.
Bu, isteğe bağlı bir radyo sürücüsü platform işlevidir. Platform radyo sürücüsü tarafından sağlanmazsa OpenThread, bunun yerine OpenThread sürümünü kullanır (
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
OpenThread radyo sürümüne işaretçi.
|
otGetVersionString()).
otPlatRadioSetCcaEnergyDetectThreshold
otError otPlatRadioSetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t aThreshold )
Radyonun CCA ED eşiğini, IEEE 802.15.4 - 2015 bölüm 10.1.4 uyarınca anten konnektöründe ölçülen dBm cinsinden ayarlayın.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
otPlatRadioSetExtendedAddress
void otPlatRadioSetExtendedAddress( otInstance *aInstance, const otExtAddress *aExtAddress )
Adres filtreleme için Genişletilmiş Adres'i ayarlayın.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
otPlatRadioSetFemLnaGain
otError otPlatRadioSetFemLnaGain( otInstance *aInstance, int8_t aGain )
Harici FEM'nin Rx LNA kazancını dBm olarak ayarlar.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
otPlatRadioSetMacFrameCounter
void otPlatRadioSetMacFrameCounter( otInstance *aInstance, uint32_t aMacFrameCounter )
Geçerli MAC çerçeve sayacı değerini ayarlar.
Radyo, OT_RADIO_CAPS_TRANSMIT_SEC
özelliği sağladığında kullanılır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
otPlatRadioSetMacFrameCounterIfLarger
void otPlatRadioSetMacFrameCounterIfLarger( otInstance *aInstance, uint32_t aMacFrameCounter )
Geçerli MAC çerçeve sayacı değerini yalnızca verilen yeni değer geçerli değerden büyükse ayarlar.
Radyo, OT_RADIO_CAPS_TRANSMIT_SEC
özelliği sağladığında kullanılır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
otPlatRadioSetMacKey
void otPlatRadioSetMacKey( otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType )
MAC anahtarlarını ve anahtar dizinini güncelleyin.
Radyo, OT_RADIO_CAPS_TRANSMIT_SEC özelliği sağladığında kullanılır.
Ayrıntılar | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
otPlatRadioSetPanId
void otPlatRadioSetPanId( otInstance *aInstance, otPanId aPanId )
Adres filtreleme için PAN kimliğini ayarlayın.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
otPlatRadioSetPromiscuous
void otPlatRadioSetPromiscuous( otInstance *aInstance, bool aEnable )
rastgele modu etkinleştirin veya devre dışı bırakın.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
otPlatRadioSetRxOnWhenIdle
void otPlatRadioSetRxOnWhenIdle( otInstance *aInstance, bool aEnable )
Boştayken rx-on-takma durumunu radyo platformuna ayarlar.
Cihaz boştayken iptal modundaysa radyonun uyku durumuna girebileceği birkaç durum vardır, ancak SubMac'in bu durumları tespit edip radyoya uyku moduna girme talimatı vermesi zor ve maliyetli olur:
- Aşağıdaki koşullar sağlandığında normal bir kare alma görevinin tamamlanması:
- Çerçeve hatasız alınır, filtrelemeden geçer ve sahte bir ACK değildir.
- ACK istenmez veya dahili koşullar nedeniyle ACK'nin iletilmesi mümkün değildir.
- İletilen çerçevede ACK istenmediğinde, çerçeve iletiminin veya ACK çerçevesinin iletimini tamamlama.
- Aşağıdaki nedenlerle istenilen ACK'nin alım işlemi tamamlanır:
- ACK zaman aşımı süresi doldu.
- Geçersiz bir ACK alınır veya ACK karesi alınmaz.
- İletilen çerçeve bir Veri İsteği Komutu olmadığı ve alınan ACK'deki çerçeve bekleme biti doğru değerine ayarlanmadıkça uygun ACK'nın alınması. Bu durumda, radyo platformu uygulaması, boşta kalma süresini başlatan belirli bir zaman aşımına kadar alıcıyı açık tutmalıdır.
OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT
, bunun için referans olarak kullanılabilir.
- Bağımsız bir CCA görevinin tamamlanması.
- CSMA/CA prosedürü sırasında meşgul sonuç içeren bir CCA işleminin tamamlanması.
- Enerji Algılama görevinin tamamlanması.
otPlatRadioReceiveAt
ile programlanan radyo sinyal alma aralığı tamamlanıyor.
Bir platform OT_RADIO_CAPS_RX_ON_WHEN_IDLE
'i destekliyorsa OT_RADIO_CAPS_CSMA_BACKOFF
öğesini de desteklemeli ve CCA'dan sonraki boşta kalma sürelerini yukarıda açıklandığı gibi işlemelidir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
otPlatRadioSetShortAddress
void otPlatRadioSetShortAddress( otInstance *aInstance, otShortAddress aShortAddress )
Adres filtreleme için Kısa Adres'i ayarlayın.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
otPlatRadioSetTransmitPower
otError otPlatRadioSetTransmitPower( otInstance *aInstance, int8_t aPower )
Radyonun iletim gücünü dBm olarak ayarlayın.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
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.