Konfigurasi Radio
Modul ini mencakup abstraksi platform untuk konfigurasi radio.
Ringkasan
Fungsi |
|
---|---|
otPlatRadioGetBusSpeed(otInstance *aInstance)
|
uint32_t
Mendapatkan kecepatan bus dalam bit/detik antara host dan chip radio.
|
otPlatRadioGetCaps(otInstance *aInstance)
|
Mendapatkan kemampuan radio.
|
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
|
Dapatkan ambang batas CCA ED radio dalam dBm yang diukur pada konektor antena sesuai bagian 10.1.4 IEEE 802.15.4 - 2015.
|
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
|
Mendapatkan penguatan LNA Rx FEM eksternal dalam dBm.
|
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
|
void
Mendapatkan IEEE EUI-64 yang ditetapkan pabrik untuk antarmuka ini.
|
otPlatRadioGetNow(otInstance *aInstance)
|
uint64_t
Dapatkan waktu saat ini dalam mikrodetik yang direferensikan ke jam radio lokal monotonik berkelanjutan (lebar 64 bit).
|
otPlatRadioGetPromiscuous(otInstance *aInstance)
|
bool
Mendapatkan status mode {i>promiscuous<i}.
|
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)
|
int8_t
Mendapatkan nilai sensitivitas penerimaan radio.
|
otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)
|
Mendapatkan daya pancar radio dalam dBm.
|
otPlatRadioGetVersionString(otInstance *aInstance)
|
const char *
Mendapatkan string versi radio.
|
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
|
Atur ambang batas CCA ED radio dalam dBm yang diukur pada konektor antena sesuai dengan pasal 10.1.4 IEEE 802.15.4 - 2015.
|
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
|
void
Tetapkan Alamat Tambahan untuk pemfilteran alamat.
|
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
|
Menetapkan perolehan LNA Rx FEM eksternal dalam dBm.
|
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
Menetapkan nilai penghitung frame MAC saat ini.
|
otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
Menetapkan nilai penghitung frame MAC saat ini hanya jika nilai yang diberikan baru lebih besar dari nilai saat ini.
|
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)
|
void
Perbarui kunci MAC dan indeks kunci.
|
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)
|
void
Setel ID PAN untuk pemfilteran alamat.
|
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
|
void
Mengaktifkan atau menonaktifkan mode {i>promiscuous<i}.
|
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
|
void
Menetapkan status rx-on-when-idle ke platform radio.
|
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
|
void
Setel Alamat Singkat untuk pemfilteran alamat.
|
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
|
Menyetel daya pancar radio dalam dBm.
|
Fungsi
otPlatRadioGetBusSpeed
uint32_t otPlatRadioGetBusSpeed( otInstance *aInstance )
Mendapatkan kecepatan bus dalam bit/detik antara host dan chip radio.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
Kecepatan bus dalam bit/detik antara host dan chip radio. Mengembalikan 0 ketika MAC dan lapisan di atas dan lapisan Radio berada pada chip yang sama.
|
otPlatRadioGetCaps
otRadioCaps otPlatRadioGetCaps( otInstance *aInstance )
Mendapatkan kemampuan radio.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
Vektor bit kemampuan radio (lihat definisi
OT_RADIO_CAP_* ). |
otPlatRadioGetCcaEnergyDetectThreshold
otError otPlatRadioGetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t *aThreshold )
Dapatkan ambang batas CCA ED radio dalam dBm yang diukur pada konektor antena sesuai bagian 10.1.4 IEEE 802.15.4 - 2015.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Nilai Pengembalian |
|
otPlatRadioGetFemLnaGain
otError otPlatRadioGetFemLnaGain( otInstance *aInstance, int8_t *aGain )
Mendapatkan penguatan LNA Rx FEM eksternal dalam dBm.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Nilai Pengembalian |
|
otPlatRadioGetIeeeEui64
void otPlatRadioGetIeeeEui64( otInstance *aInstance, uint8_t *aIeeeEui64 )
Mendapatkan IEEE EUI-64 yang ditetapkan pabrik untuk antarmuka ini.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatRadioGetNow
uint64_t otPlatRadioGetNow( otInstance *aInstance )
Dapatkan waktu saat ini dalam mikrodetik yang direferensikan ke jam radio lokal monotonik berkelanjutan (lebar 64 bit).
Jam radio TIDAK BOLEH dibungkus selama waktu beroperasi perangkat. Oleh karena itu, implementasi AKAN mengidentifikasi dan mengompensasi overflow penghitung internal. Jam tidak memiliki epoch yang ditentukan dan TIDAK AKAN menerapkan penyesuaian yang berkelanjutan atau terputus-putus (mis. detik kabisat). Implementasi akan mengompensasi waktu tidur perangkat.
Penerapan MUNGKIN memilih untuk mendisiplin jam radio dan mengompensasi waktu tidur dengan cara apa pun (misalnya dengan menggabungkan RTC presisi tinggi/berdaya rendah dengan penghitung resolusi tinggi) selama jam gabungan yang terekspos memberikan tick resolusi mikrodetik monoton berkelanjutan dalam batas akurasi yang diumumkan oleh otPlatRadioGetCslAccuracy.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
Waktu saat ini dalam mikrodetik. UINT64_MAX jika platform tidak mendukung atau waktu radio belum siap.
|
otPlatRadioGetPromiscuous
bool otPlatRadioGetPromiscuous( otInstance *aInstance )
Mendapatkan status mode {i>promiscuous<i}.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai Pengembalian |
|
otPlatRadioGetReceiveSensitivity
int8_t otPlatRadioGetReceiveSensitivity( otInstance *aInstance )
Mendapatkan nilai sensitivitas penerimaan radio.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
Radio menerima nilai sensitivitas dalam dBm.
|
otPlatRadioGetTransmitPower
otError otPlatRadioGetTransmitPower( otInstance *aInstance, int8_t *aPower )
Mendapatkan daya pancar radio dalam dBm.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Nilai Pengembalian |
|
otPlatRadioGetVersionString
const char * otPlatRadioGetVersionString( otInstance *aInstance )
Mendapatkan string versi radio.
Ini adalah fungsi platform driver radio opsional. Jika tidak disediakan oleh driver radio platform, OpenThread akan menggunakan versi OpenThread (
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
Pointer ke versi radio OpenThread.
|
otGetVersionString()).
otPlatRadioSetCcaEnergyDetectThreshold
otError otPlatRadioSetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t aThreshold )
Atur ambang batas CCA ED radio dalam dBm yang diukur pada konektor antena sesuai dengan pasal 10.1.4 IEEE 802.15.4 - 2015.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Nilai Pengembalian |
|
otPlatRadioSetExtendedAddress
void otPlatRadioSetExtendedAddress( otInstance *aInstance, const otExtAddress *aExtAddress )
Tetapkan Alamat Tambahan untuk pemfilteran alamat.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatRadioSetFemLnaGain
otError otPlatRadioSetFemLnaGain( otInstance *aInstance, int8_t aGain )
Menetapkan perolehan LNA Rx FEM eksternal dalam dBm.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai Pengembalian |
|
otPlatRadioSetMacFrameCounter
void otPlatRadioSetMacFrameCounter( otInstance *aInstance, uint32_t aMacFrameCounter )
Menetapkan nilai penghitung frame MAC saat ini.
Digunakan saat radio menyediakan kemampuan OT_RADIO_CAPS_TRANSMIT_SEC
.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatRadioSetMacFrameCounterIfLarger
void otPlatRadioSetMacFrameCounterIfLarger( otInstance *aInstance, uint32_t aMacFrameCounter )
Menetapkan nilai penghitung frame MAC saat ini hanya jika nilai yang diberikan baru lebih besar dari nilai saat ini.
Digunakan saat radio menyediakan kemampuan OT_RADIO_CAPS_TRANSMIT_SEC
.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatRadioSetMacKey
void otPlatRadioSetMacKey( otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType )
Perbarui kunci MAC dan indeks kunci.
Digunakan ketika radio menyediakan kemampuan OT_Radio_CAPS_TRANSMIT_SEC.
Detail | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
otPlatRadioSetPanId
void otPlatRadioSetPanId( otInstance *aInstance, otPanId aPanId )
Setel ID PAN untuk pemfilteran alamat.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatRadioSetPromiscuous
void otPlatRadioSetPromiscuous( otInstance *aInstance, bool aEnable )
Mengaktifkan atau menonaktifkan mode {i>promiscuous<i}.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatRadioSetRxOnWhenIdle
void otPlatRadioSetRxOnWhenIdle( otInstance *aInstance, bool aEnable )
Menetapkan status rx-on-when-idle ke platform radio.
Ada beberapa situasi yang membuat radio dapat memasuki status tidur jika perangkat dalam keadaan rx-off-when-idle, tetapi sulit dan mahal bagi SubMac untuk mengidentifikasi situasi ini dan memerintahkan radio untuk masuk ke mode tidur:
- Finalisasi tugas penerimaan bingkai reguler, dengan ketentuan bahwa:
- Frame diterima tanpa error dan lolos penyaringan. Selain itu, frame tersebut bukan ACK palsu.
- ACK tidak diminta atau transmisi ACK tidak mungkin dilakukan karena kondisi internal.
- Finalisasi transmisi atau transmisi frame ACK, ketika ACK tidak diminta dalam frame yang ditransmisikan.
- Penyelesaian operasi penerimaan ACK yang diminta karena:
- Akhir masa berlaku waktu tunggu ACK.
- Penerimaan ACK yang tidak valid atau bukan frame ACK.
- Penerimaan ACK yang tepat, kecuali jika frame yang ditransmisikan adalah Perintah Permintaan Data dan frame yang tertunda pada ACK yang diterima disetel ke true. Dalam hal ini, implementasi platform radio HARUS mengaktifkan penerima hingga waktu tunggu yang ditentukan yang memicu dimulainya periode tidak ada aktivitas.
OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT
dapat dijadikan referensi untuk hal ini.
- Penyelesaian tugas CCA yang berdiri sendiri.
- Penyelesaian operasi CCA dengan hasil sibuk selama prosedur CSMA/CA.
- Finalisasi tugas Deteksi Energi.
- Penyelesaian jendela penerimaan radio dijadwalkan dengan
otPlatRadioReceiveAt
.
Jika platform mendukung OT_RADIO_CAPS_RX_ON_WHEN_IDLE
, platform juga harus mendukung OT_RADIO_CAPS_CSMA_BACKOFF
dan menangani periode tidak ada aktivitas setelah CCA seperti yang dijelaskan di atas.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatRadioSetShortAddress
void otPlatRadioSetShortAddress( otInstance *aInstance, otShortAddress aShortAddress )
Setel Alamat Singkat untuk pemfilteran alamat.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
otPlatRadioSetTransmitPower
otError otPlatRadioSetTransmitPower( otInstance *aInstance, int8_t aPower )
Menyetel daya pancar radio dalam dBm.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Nilai Pengembalian |
|
Referensi
Topik Referensi OpenThread API berasal dari kode sumber yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.