Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Operasi

Modul ini mencakup abstraksi platform untuk operasi radio.

Ringkasan

Fungsi

otPlatDiagRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Driver radio memanggil metode ini untuk memberi tahu modul diagnostik OpenThread tentang bingkai yang diterima.
otPlatDiagRadioTransmitDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Driver radio memanggil metode ini untuk memberi tahu modul diagnostik OpenThread bahwa transmisi telah selesai.
otPlatRadioAddSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
Tambahkan alamat yang diperluas ke tabel pencocokan alamat sumber.
otPlatRadioAddSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
Tambahkan alamat singkat ke tabel pencocokan alamat sumber.
otPlatRadioClearSrcMatchExtEntries ( otInstance *aInstance)
void
Hapus semua alamat yang diperpanjang/panjang dari tabel kecocokan alamat sumber.
otPlatRadioClearSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
Hapus alamat yang diperluas dari tabel kecocokan alamat sumber.
otPlatRadioClearSrcMatchShortEntries ( otInstance *aInstance)
void
Hapus semua alamat pendek dari tabel kecocokan alamat sumber.
otPlatRadioClearSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
Hapus alamat singkat dari tabel pencocokan alamat sumber.
otPlatRadioConfigureEnhAckProbing ( otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
Aktifkan/nonaktifkan atau perbarui Penyelidikan Berbasis ACK yang Ditingkatkan di radio untuk Inisiator tertentu.
otPlatRadioDisable ( otInstance *aInstance)
Nonaktifkan radio.
otPlatRadioEnable ( otInstance *aInstance)
Aktifkan radio.
otPlatRadioEnableCsl ( otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
Mengaktifkan atau menonaktifkan penerima CSL.
otPlatRadioEnableSrcMatch ( otInstance *aInstance, bool aEnable)
void
Aktifkan/Nonaktifkan fitur pencocokan alamat sumber.
otPlatRadioEnergyScan ( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Mulailah urutan pemindaian energi di radio.
otPlatRadioEnergyScanDone ( otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
Driver radio memanggil metode ini untuk memberi tahu OpenThread bahwa pemindaian energi telah selesai.
otPlatRadioGetCoexMetrics ( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Dapatkan metrik koeksistensi radio.
otPlatRadioGetCslAccuracy ( otInstance *aInstance)
uint8_t
Dapatkan akurasi saat ini, dalam satuan ± ppm, dari jam yang digunakan untuk menjadwalkan operasi CSL.
otPlatRadioGetCslClockUncertainty ( otInstance *aInstance)
uint8_t
Dapatkan ketidakpastian saat ini, dalam satuan 10 us, dari jam yang digunakan untuk menjadwalkan operasi CSL.
otPlatRadioGetPreferredChannelMask ( otInstance *aInstance)
uint32_t
Dapatkan topeng saluran pilihan radio yang lebih disukai perangkat untuk dibentuk.
otPlatRadioGetRegion ( otInstance *aInstance, uint16_t *aRegionCode)
Dapatkan kode wilayah.
otPlatRadioGetRssi ( otInstance *aInstance)
int8_t
Dapatkan pengukuran RSSI terbaru.
otPlatRadioGetState ( otInstance *aInstance)
Dapatkan status radio saat ini.
otPlatRadioGetSupportedChannelMask ( otInstance *aInstance)
uint32_t
Dapatkan topeng saluran yang didukung radio yang diizinkan untuk digunakan oleh perangkat.
otPlatRadioGetTransmitBuffer ( otInstance *aInstance)
Dapatkan buffer frame transmisi radio.
otPlatRadioIsCoexEnabled ( otInstance *aInstance)
bool
Periksa apakah coex radio diaktifkan atau tidak.
otPlatRadioIsEnabled ( otInstance *aInstance)
bool
Periksa apakah radio diaktifkan atau tidak.
otPlatRadioReceive ( otInstance *aInstance, uint8_t aChannel)
Transisi radio dari Tidur ke Terima (nyalakan radio).
otPlatRadioReceiveAt ( otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
Jadwalkan jendela penerimaan radio pada waktu dan durasi tertentu.
otPlatRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Driver radio memanggil metode ini untuk memberi tahu OpenThread tentang bingkai yang diterima.
otPlatRadioSetChannelMaxTransmitPower ( otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
Atur daya pancar maksimal untuk saluran tertentu.
otPlatRadioSetCoexEnabled ( otInstance *aInstance, bool aEnabled)
Aktifkan coex radio.
otPlatRadioSetRegion ( otInstance *aInstance, uint16_t aRegionCode)
Tetapkan kode wilayah.
otPlatRadioSleep ( otInstance *aInstance)
Transisi radio dari Terima ke Tidur (matikan radio).
otPlatRadioTransmit ( otInstance *aInstance, otRadioFrame *aFrame)
Mulailah urutan transmisi di radio.
otPlatRadioTxDone ( otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
Driver radio memanggil fungsi ini untuk memberi tahu OpenThread bahwa operasi transmisi telah selesai, menyediakan frame yang ditransmisikan dan, jika berlaku, frame ack yang diterima.
otPlatRadioTxStarted ( otInstance *aInstance, otRadioFrame *aFrame)
void
Driver radio memanggil metode ini untuk memberi tahu OpenThread bahwa transmisi telah dimulai.
otPlatRadioUpdateCslSampleTime ( otInstance *aInstance, uint32_t aCslSampleTime)
void
Perbarui waktu sampel CSL di driver radio.

Fungsi

otPlatDiagRadioReceiveDone

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

Driver radio memanggil metode ini untuk memberi tahu modul diagnostik OpenThread tentang bingkai yang diterima.

Fungsi ini digunakan saat diagnostik diaktifkan.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aFrame
Pointer ke frame yang diterima atau NULL jika operasi penerimaan gagal.
[in] aError
OT_ERROR_NONE saat berhasil menerima bingkai, OT_ERROR_ABORT saat penerimaan dibatalkan dan bingkai tidak diterima, OT_ERROR_NO_BUFS saat bingkai tidak dapat diterima karena kurangnya ruang buffer rx.

otPlatDiagRadioTransmitSelesai

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

Driver radio memanggil metode ini untuk memberi tahu modul diagnostik OpenThread bahwa transmisi telah selesai.

Fungsi ini digunakan saat diagnostik diaktifkan.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aFrame
Sebuah pointer ke frame yang ditransmisikan.
[in] aError
OT_ERROR_NONE ketika bingkai ditransmisikan, OT_ERROR_CHANNEL_ACCESS_FAILURE tx tidak dapat terjadi karena aktivitas di saluran, OT_ERROR_ABORT ketika transmisi dibatalkan karena alasan lain.

otPlatRadioAddSrcMatchExtEntry

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

Tambahkan alamat yang diperluas ke tabel kecocokan alamat sumber.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aExtAddress
Alamat yang diperluas untuk ditambahkan disimpan dalam urutan byte little-endian.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil menambahkan alamat yang diperluas ke tabel kecocokan sumber.
OT_ERROR_NO_BUFS
Tidak ada entri yang tersedia di tabel kecocokan sumber.

otPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Tambahkan alamat singkat ke tabel pencocokan alamat sumber.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aShortAddress
Alamat singkat yang akan ditambahkan.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil menambahkan alamat singkat ke tabel pencocokan sumber.
OT_ERROR_NO_BUFS
Tidak ada entri yang tersedia di tabel kecocokan sumber.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Hapus semua alamat yang diperpanjang/panjang dari tabel kecocokan alamat sumber.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.

otPlatRadioClearSrcMatchExtEntry

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

Hapus alamat yang diperluas dari tabel kecocokan alamat sumber.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aExtAddress
Alamat yang diperluas untuk dihapus disimpan dalam urutan byte little-endian.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil menghapus alamat yang diperluas dari tabel kecocokan sumber.
OT_ERROR_NO_ADDRESS
Alamat yang diperluas tidak ada dalam tabel kecocokan alamat sumber.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Hapus semua alamat pendek dari tabel kecocokan alamat sumber.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Hapus alamat singkat dari tabel pencocokan alamat sumber.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aShortAddress
Alamat singkat yang akan dihapus.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil menghapus alamat singkat dari tabel kecocokan sumber.
OT_ERROR_NO_ADDRESS
Alamat singkat tidak ada dalam tabel pencocokan alamat sumber.

otPlatRadioConfigureEnhAckProbing

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

Aktifkan/nonaktifkan atau perbarui Penyelidikan Berbasis ACK yang Ditingkatkan di radio untuk Inisiator tertentu.

Setelah Enhanced-ACK Based Probing dikonfigurasi oleh Probing Initiator tertentu, Enhanced-ACK yang dikirim ke node tersebut harus menyertakan IE Khusus Vendor yang berisi data Link Metrics. Metode ini menginformasikan radio untuk memulai/berhenti mengumpulkan data Metrik Tautan dan menyertakan IE Khusus Vendor yang berisi data di Enhanced-ACK yang dikirim ke Inisiator Penyelidikan.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aLinkMetrics
Parameter ini menentukan metrik yang akan dikueri. Per spesifikasi 4.11.3.4.4.6, paling banyak 2 metrik dapat ditentukan. Menyelidik akan dinonaktifkan jika aLinkMetrics adalah bitwise 0.
[in] aShortAddr
Alamat singkat Pemrakarsa Penyelidikan.
[in] aExtAddr
Alamat sumber yang diperluas dari Inisiator Penyelidikan. aExtAddr TIDAK HARUS NULL .
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil mengonfigurasi Penyelidikan Berbasis ACK yang Ditingkatkan.
OT_ERROR_INVALID_ARGS
aExtAddress adalah NULL .
OT_ERROR_NOT_FOUND
The Inisiator ditunjukkan oleh aShortAddress tidak ditemukan ketika mencoba untuk membersihkan.
OT_ERROR_NO_BUFS
Tidak ada lagi Inisiator yang dapat didukung.

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

Nonaktifkan radio.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil dialihkan ke Dinonaktifkan.
OT_ERROR_INVALID_STATE
Radio tidak dalam kondisi tidur.

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Aktifkan radio.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil diaktifkan.
OT_ERROR_FAILED
Radio tidak dapat diaktifkan.

otPlatRadioEnableCsl

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

Mengaktifkan atau menonaktifkan penerima CSL.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aCslPeriod
Periode CSL, 0 untuk menonaktifkan CSL.
[in] aShortAddr
Alamat sumber pendek dari rekan penerima CSL.
[in] aExtAddr
Alamat sumber yang diperluas dari rekan penerima CSL.
Mengembalikan Nilai
kErrorNotImplemented
Driver radio tidak mendukung CSL.
kErrorFailed
Kesalahan khusus platform lainnya.
kErrorNone
Berhasil mengaktifkan atau menonaktifkan CSL.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

Aktifkan/Nonaktifkan fitur pencocokan alamat sumber.

Fitur pencocokan alamat sumber mengontrol bagaimana lapisan radio memutuskan bit "bingkai tertunda" untuk acks yang dikirim sebagai respons terhadap perintah permintaan data dari anak-anak.

Jika dinonaktifkan, lapisan radio harus menyetel "bingkai tertunda" pada semua serangan ke perintah permintaan data.

Jika diaktifkan, lapisan radio menggunakan tabel pencocokan alamat sumber untuk menentukan apakah akan menyetel atau menghapus bit "bingkai tertunda" di ack ke perintah permintaan data.

Tabel pencocokan alamat sumber menyediakan daftar anak-anak yang memiliki bingkai tertunda. Alamat pendek atau alamat panjang/panjang dapat ditambahkan ke tabel pencocokan alamat sumber.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aEnable
Aktifkan/nonaktifkan fitur pencocokan alamat sumber.

otPlatRadioEnergyScan

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

Mulailah urutan pemindaian energi di radio.

Fungsi ini digunakan ketika radio menyediakan kemampuan OT_RADIO_CAPS_ENERGY_SCAN.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aScanChannel
Saluran untuk melakukan pemindaian energi aktif.
[in] aScanDuration
Durasi, dalam milidetik, saluran yang akan dipindai.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil mulai memindai saluran.
OT_ERROR_NOT_IMPLEMENTED
Radio tidak mendukung pemindaian energi.

otPlatRadioEnergyScanSelesai

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

Driver radio memanggil metode ini untuk memberi tahu OpenThread bahwa pemindaian energi telah selesai.

Fungsi ini digunakan ketika radio menyediakan kemampuan OT_RADIO_CAPS_ENERGY_SCAN.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aEnergyScanMaxRssi
RSSI maksimum yang ditemukan pada saluran yang dipindai.

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Dapatkan metrik koeksistensi radio.

Fungsi ini digunakan ketika fitur OVENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE diaktifkan.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[out] aCoexMetrics
Pointer ke struktur metrik koeksistensi.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil mengambil metrik coex.
OT_ERROR_INVALID_ARGS
aCoexMetrics adalah NULL.

otPlatRadioGetCslAccuracy

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

Dapatkan akurasi saat ini, dalam satuan ± ppm, dari jam yang digunakan untuk menjadwalkan operasi CSL.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Kembali
Penyimpangan penjadwalan CSL rx/tx saat ini, dalam satuan ± ppm.

otPlatRadioGetCslClockUncertainty

uint8_t otPlatRadioGetCslClockUncertainty(
  otInstance *aInstance
)

Dapatkan ketidakpastian saat ini, dalam satuan 10 us, dari jam yang digunakan untuk menjadwalkan operasi CSL.

rincian
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Kembali
Ketidakpastian Jam CSL saat ini dalam satuan 10 kita.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Dapatkan topeng saluran pilihan radio yang lebih disukai perangkat untuk dibentuk.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
Kembali
Masker saluran yang disukai radio.

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

Dapatkan kode wilayah.

Format wilayah radio adalah representasi ascii 2-byte dari kode ISO 3166 alpha-2.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[out] aRegionCode
Wilayah radio.
Mengembalikan Nilai
OT_ERROR_INVALID_ARGS
aRegionCode adalah nullptr.
OT_ERROR_FAILED
Kesalahan khusus platform lainnya.
OT_ERROR_NONE
Berhasil mendapatkan kode wilayah.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Dapatkan pengukuran RSSI terbaru.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
Kembali
RSSI dalam dBm saat valid. 127 ketika RSSI tidak valid.

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Dapatkan status radio saat ini.

Fungsi ini tidak diperlukan oleh OpenThread. Ini dapat digunakan untuk debugging dan/atau tujuan khusus aplikasi.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
Kembali
Kondisi radio saat ini.

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Dapatkan topeng saluran yang didukung radio yang diizinkan untuk digunakan oleh perangkat.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
Kembali
Masker saluran yang didukung radio.

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Dapatkan buffer frame transmisi radio.

OpenThread membentuk IEEE 802.15.4 frame buffer ini kemudian memanggil otPlatRadioTransmit() untuk transmisi permintaan.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
Kembali
Sebuah pointer ke buffer frame transmisi.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Periksa apakah coex radio diaktifkan atau tidak.

Fungsi ini digunakan ketika fitur OVENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE diaktifkan.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
Kembali
TRUE jika coex radio diaktifkan, FALSE jika tidak.

otPlatRadioDiaktifkan

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Periksa apakah radio diaktifkan atau tidak.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
Kembali
TRUE jika radio diaktifkan, FALSE jika tidak.

otPlatRadioTerima

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Transisi radio dari Tidur ke Terima (nyalakan radio).

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aChannel
Saluran yang digunakan untuk menerima.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil ditransisikan ke Terima.
OT_ERROR_INVALID_STATE
Radio dinonaktifkan atau transmisi.

otPlatRadioReceiveAt

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

Jadwalkan jendela penerimaan radio pada waktu dan durasi tertentu.

rincian
Parameter
[in] aChannel
Saluran radio yang akan menerima.
[in] aStart
Waktu mulai jendela penerimaan, dalam mikrodetik.
[in] aDuration
Durasi jendela penerimaan, dalam mikrodetik
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil menjadwalkan jendela terima.
OT_ERROR_FAILED
Jendela penerimaan tidak dapat dijadwalkan.

otPlatRadioTerimaSelesai

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

Driver radio memanggil metode ini untuk memberi tahu OpenThread tentang bingkai yang diterima.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aFrame
Pointer ke frame yang diterima atau NULL jika operasi penerimaan gagal.
[in] aError
OT_ERROR_NONE saat berhasil menerima bingkai, OT_ERROR_ABORT saat penerimaan dibatalkan dan bingkai tidak diterima, OT_ERROR_NO_BUFS saat bingkai tidak dapat diterima karena kurangnya ruang buffer rx.

otPlatRadioSetChannelMaxTransmitPower

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

Atur daya pancar maksimal untuk saluran tertentu.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aChannel
Saluran radio.
[in] aMaxPower
Daya maksimum dalam dBm, melewati OT_RADIO_RSSI_INVALID akan menonaktifkan saluran ini.
Mengembalikan Nilai
OT_ERROR_NOT_IMPLEMENTED
Fitur ini tidak diterapkan
OT_ERROR_INVALID_ARGS
Saluran yang ditentukan tidak valid.
OT_ERROR_FAILED
Kesalahan khusus platform lainnya.
OT_ERROR_NONE
Berhasil mengatur daya pancar maks.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Aktifkan coex radio.

Fungsi ini digunakan ketika fitur OVENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE diaktifkan.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aEnabled
TRUE untuk mengaktifkan coex radio, FALSE jika tidak.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil diaktifkan.
OT_ERROR_FAILED
Radio coex tidak dapat diaktifkan.

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

Tetapkan kode wilayah.

Format wilayah radio adalah representasi ascii 2-byte dari kode ISO 3166 alpha-2.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aRegionCode
Wilayah radio.
Mengembalikan Nilai
OT_ERROR_FAILED
Kesalahan khusus platform lainnya.
OT_ERROR_NONE
Berhasil menyetel kode wilayah.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Transisi radio dari Terima ke Tidur (matikan radio).

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil dialihkan ke Tidur.
OT_ERROR_BUSY
Radio sedang memancarkan.
OT_ERROR_INVALID_STATE
Radio dinonaktifkan.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Mulailah urutan transmisi di radio.

Pemanggil harus membentuk frame IEEE 802.15.4 dalam buffer yang disediakan oleh otPlatRadioGetTransmitBuffer() sebelum meminta transmisi. Saluran dan daya pancar juga termasuk dalam otRadioFrame struktur.

Urutan transmisi terdiri dari:

  1. Transisi radio ke Transmit dari salah satu status berikut:
    • Terima jika RX aktif saat perangkat tidak digunakan atau OT_RADIO_CAPS_SLEEP_TO_TX tidak didukung
    • Tidur jika RX mati saat perangkat dalam keadaan idle dan OT_RADIO_CAPS_SLEEP_TO_TX didukung.
  2. Mengirimkan psdu pada saluran yang diberikan dan pada daya pancar yang diberikan.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aFrame
Sebuah pointer ke frame yang akan ditransmisikan.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil ditransisikan ke Kirim.
OT_ERROR_INVALID_STATE
Radio tidak dalam status Terima.

otPlatRadioTxSelesai

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

Driver radio memanggil fungsi ini untuk memberi tahu OpenThread bahwa operasi transmisi telah selesai, menyediakan frame yang ditransmisikan dan, jika berlaku, frame ack yang diterima.

Ketika radio menyediakan OT_RADIO_CAPS_TRANSMIT_SEC kemampuan, platform lapisan radio update aFrame dengan frame counter keamanan dan nilai-nilai indeks kunci dikelola oleh radio.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aFrame
Sebuah pointer ke frame yang ditransmisikan.
[in] aAckFrame
Pointer ke frame ACK, NULL jika tidak ada ACK yang diterima.
[in] aError
OT_ERROR_NONE ketika frame ditransmisikan, OT_ERROR_NO_ACK ketika frame ditransmisikan tetapi tidak ada ACK yang diterima, OT_ERROR_CHANNEL_ACCESS_FAILURE tx tidak dapat dilakukan karena aktivitas pada saluran, OT_ERROR_ABORT ketika transmisi dibatalkan karena alasan lain.

otPlatRadioTxDimulai

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Driver radio memanggil metode ini untuk memberi tahu OpenThread bahwa transmisi telah dimulai.

rincian
Parameter
[in] aInstance
Pointer ke struktur instance OpenThread.
[in] aFrame
Sebuah pointer ke frame yang sedang ditransmisikan.

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

Perbarui waktu sampel CSL di driver radio.

Waktu sampel disimpan dalam driver radio sebagai salinan untuk menghitung fase saat mengirim ACK dengan CSL IE.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aCslSampleTime
Waktu sampel terbaru.