Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

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 dari 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 tambahan 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 diperpanjang / panjang dari tabel pencocokan alamat sumber.
otPlatRadioClearSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
Hapus alamat tambahan dari tabel pencocokan alamat sumber.
otPlatRadioClearSrcMatchShortEntries ( otInstance *aInstance)
void
Hapus semua alamat pendek dari tabel pencocokan 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 Probing 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, 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.
otPlatRadioGetPreferredChannelMask ( otInstance *aInstance)
uint32_t
Dapatkan masker saluran pilihan radio yang lebih disukai perangkat.
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 masker saluran yang didukung radio yang diperbolehkan untuk mengaktifkan perangkat.
otPlatRadioGetTransmitBuffer ( otInstance *aInstance)
Dapatkan penyangga bingkai transmisi radio.
otPlatRadioIsCoexEnabled ( otInstance *aInstance)
bool
Periksa apakah radio coex diaktifkan atau tidak.
otPlatRadioIsEnabled ( otInstance *aInstance)
bool
Periksa apakah radio diaktifkan atau tidak.
otPlatRadioReceive ( otInstance *aInstance, uint8_t aChannel)
Alihkan radio dari Tidur ke Terima (nyalakan radio).
otPlatRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Driver radio memanggil metode ini untuk memberi tahu OpenThread tentang frame yang diterima.
otPlatRadioSetChannelMaxTransmitPower ( otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
Atur daya pancar maks untuk saluran tertentu.
otPlatRadioSetCoexEnabled ( otInstance *aInstance, bool aEnabled)
Aktifkan radio coex.
otPlatRadioSetRegion ( otInstance *aInstance, uint16_t aRegionCode)
Atur kode wilayah.
otPlatRadioSleep ( otInstance *aInstance)
Alihkan radio dari Terima ke Tidur (matikan radio).
otPlatRadioTransmit ( otInstance *aInstance, otRadioFrame *aFrame)
Mulailah urutan pengiriman di radio.
otPlatRadioTxDone ( otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
Driver radio memanggil fungsi ini untuk memberi tahu OpenThread bahwa operasi pengiriman telah selesai, menyediakan frame yang ditransmisikan dan, jika ada, 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 dari bingkai yang diterima.

Fungsi ini digunakan saat diagnostik diaktifkan.

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

otPlatDiagRadioTransmitDone

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.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aFrame
Sebuah penunjuk ke frame yang dikirimkan.
[in] aError
OT_ERROR_NONE saat frame ditransmisikan, OT_ERROR_CHANNEL_ACCESS_FAILURE tx tidak dapat berlangsung karena aktivitas di saluran, OT_ERROR_ABORT saat transmisi dibatalkan karena alasan lain.

otPlatRadioAddSrcMatchExtEntry

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

Tambahkan alamat tambahan ke tabel pencocokan alamat sumber.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aExtAddress
Alamat diperpanjang yang akan ditambahkan disimpan dalam urutan byte little-endian.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil menambahkan alamat tambahan 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.

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

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Hapus semua alamat diperpanjang / panjang dari tabel pencocokan alamat sumber.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.

otPlatRadioClearSrcMatchExtEntry

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

Hapus alamat tambahan dari tabel pencocokan alamat sumber.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aExtAddress
Alamat diperpanjang yang akan dihapus disimpan dalam urutan byte little-endian.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil menghapus alamat tambahan dari tabel kecocokan sumber.
OT_ERROR_NO_ADDRESS
Alamat tambahan tidak ada dalam tabel pencocokan alamat sumber.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Hapus semua alamat pendek dari tabel pencocokan alamat sumber.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Hapus alamat singkat dari tabel pencocokan alamat sumber.

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

otPlatRadioConfigureEnhAckProbing

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

Aktifkan / nonaktifkan atau perbarui Probing 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 memberi tahu radio untuk mulai / berhenti mengumpulkan data Metrik Tautan dan menyertakan IE Khusus Vendor yang berisi data dalam ACK Ditingkatkan yang dikirim ke Probing Initiator tersebut.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aLinkMetrics
Parameter ini menentukan metrik apa yang akan ditanyakan. Per spesifikasi 4.11.3.4.4.6, maksimal 2 metrik yang dapat ditentukan. aLinkMetrics akan dinonaktifkan jika aLinkMetrics adalah bitwise 0.
[in] aShortAddr
Alamat singkat Probing Initiator.
[in] aExtAddr
Alamat sumber tambahan dari Probing Initiator. aExtAddr HARUS TIDAK NULL .
Kembalikan Nilai
OT_ERROR_NONE
Berhasil mengkonfigurasi Probing Berbasis ACK yang Ditingkatkan.
OT_ERROR_INVALID_ARGS
aExtAddress adalah NULL .
OT_ERROR_NOT_FOUND
Inisiator yang ditunjukkan oleh aShortAddress tidak ditemukan saat mencoba menghapus.
OT_ERROR_NO_BUFS
Tidak ada lagi Inisiator yang dapat didukung.

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

Nonaktifkan radio.

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

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Aktifkan radio.

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

otPlatRadioEnableCsl

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

Mengaktifkan atau menonaktifkan penerima CSL.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aCslPeriod
Periode CSL, 0 untuk menonaktifkan CSL.
[in] aExtAddr
Alamat sumber diperpanjang perangkat induk penerima CSL (saat platform menghasilkan ACK yang ditingkatkan, platform mungkin perlu mengetahui tindakan ke alamat mana harus menyertakan CSL IE).
Kembalikan Nilai
OT_ERROR_NOT_SUPPORTED
Sopir radio tidak mendukung CSL.
OT_ERROR_FAILED
Kesalahan khusus platform lainnya.
OT_ERROR_NONE
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 "frame menunggu keputusan" untuk tindakan yang dikirim sebagai tanggapan atas perintah permintaan data dari turunan.

Jika dinonaktifkan, lapisan radio harus menyetel "frame tertunda" di semua tindakan ke perintah permintaan data.

Jika diaktifkan, lapisan radio menggunakan tabel kecocokan alamat sumber untuk menentukan apakah akan menyetel atau menghapus bit "bingkai menunggu keputusan" dalam perintah permintaan data.

Tabel kecocokan alamat sumber memberikan daftar anak-anak yang frame tertunda. Alamat singkat atau alamat diperpanjang / panjang dapat ditambahkan ke tabel pencocokan alamat sumber.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aEnable
Mengaktifkan / menonaktifkan 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.

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

otPlatRadioEnergyScanDone

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.

Detail
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 OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE diaktifkan.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[out] aCoexMetrics
Sebuah penunjuk ke struktur metrik koeksistensi.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil mengambil metrik coex.
OT_ERROR_INVALID_ARGS
aCoexMetrics adalah NULL.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Dapatkan masker saluran pilihan radio yang lebih disukai perangkat.

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

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[out] aRegionCode
Wilayah radio.
Kembalikan 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.

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

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Dapatkan status radio saat ini.

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

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
Kembali
Status radio saat ini.

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Dapatkan masker saluran yang didukung radio yang diperbolehkan untuk mengaktifkan perangkat.

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

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Dapatkan penyangga bingkai transmisi radio.

OpenThread membentuk bingkai IEEE 802.15.4 di buffer ini kemudian memanggil otPlatRadioTransmit() untuk meminta transmisi.

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

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Periksa apakah radio coex diaktifkan atau tidak.

Fungsi ini digunakan ketika fitur OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE diaktifkan.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
Kembali
BENAR jika radio coex diaktifkan, SALAH sebaliknya.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Periksa apakah radio diaktifkan atau tidak.

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

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Alihkan radio dari Tidur ke Terima (nyalakan radio).

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aChannel
Saluran yang digunakan untuk menerima.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil dialihkan ke Terima.
OT_ERROR_INVALID_STATE
Radio dinonaktifkan atau dipancarkan.

otPlatRadioReceiveDone

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

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

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

otPlatRadioSetChannelMaxTransmitPower

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

Atur daya pancar maks untuk saluran tertentu.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aChannel
Saluran radio.
[in] aMaxPower
Daya maksimal dalam dBm, melewati OT_RADIO_RSSI_INVALID akan menonaktifkan saluran ini.
Kembalikan Nilai
OT_ERROR_NOT_IMPLEMENTED
Fitur tersebut tidak diimplementasikan
OT_ERROR_INVALID_ARGS
Saluran yang ditentukan tidak valid.
OT_ERROR_FAILED
Kesalahan khusus platform lainnya.
OT_ERROR_NONE
Berhasil mengatur poewr transmisi maks.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Aktifkan radio coex.

Fungsi ini digunakan ketika fitur OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE diaktifkan.

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

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

Atur kode wilayah.

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

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

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Alihkan radio dari Terima ke Tidur (matikan radio).

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil dialihkan ke Tidur.
OT_ERROR_BUSY
Radio sedang memancar.
OT_ERROR_INVALID_STATE
Radio telah dinonaktifkan.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Mulailah urutan pengiriman di radio.

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

Urutan transmisi terdiri dari:

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

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aFrame
Sebuah penunjuk ke bingkai yang akan dikirim.
Kembalikan Nilai
OT_ERROR_NONE
Berhasil dialihkan ke Kirim.
OT_ERROR_INVALID_STATE
Radio tidak dalam status Terima.

otPlatRadioTxDone

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

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

Ketika radio menyediakan kemampuan OT_RADIO_CAPS_TRANSMIT_SEC , lapisan platform radio memperbarui aFrame dengan penghitung bingkai keamanan dan nilai indeks kunci yang dikelola oleh radio.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aFrame
Penunjuk ke bingkai yang dikirim.
[in] aAckFrame
Sebuah pointer ke frame ACK, NULL jika tidak ada ACK yang diterima.
[in] aError
OT_ERROR_NONE saat frame ditransmisikan, OT_ERROR_NO_ACK saat frame dikirimkan tetapi tidak ada ACK yang diterima, OT_ERROR_CHANNEL_ACCESS_FAILURE tx tidak dapat berlangsung karena aktivitas di saluran, OT_ERROR_ABORT saat transmisi dibatalkan karena alasan lain.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

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

Detail
Parameter
[in] aInstance
Penunjuk ke struktur instance OpenThread.
[in] aFrame
Penunjuk ke bingkai yang sedang dikirim.

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

Perbarui waktu sampel CSL di driver radio.

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

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