ปฏิบัติการวิทยุ
โมดูลนี้มีกระบวนการ Abstraction ของแพลตฟอร์มสำหรับการปฏิบัติงานทางวิทยุ
สรุป
ฟังก์ชัน |
|
|---|---|
otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
ไดรเวอร์วิทยุเรียกใช้วิธีการนี้เพื่อแจ้งโมดูลการวินิจฉัย OpenThread เกี่ยวกับเฟรมที่ได้รับ
|
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
คนขับวิทยุเรียกวิธีการนี้เพื่อแจ้งโมดูลการวินิจฉัย OpenThread ว่าการส่งข้อมูลเสร็จสมบูรณ์แล้ว
|
otPlatRadioAddCalibratedPower(otInstance *aInstance, uint8_t aChannel, int16_t aActualPower, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength)
|
เพิ่มกำลังที่ปรับเทียบของช่องที่ระบุไปยังตารางการปรับเทียบพลังงาน
|
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
|
เพิ่มที่อยู่ที่ขยายลงในตารางการจับคู่ที่อยู่ต้นทาง
|
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
|
เพิ่มที่อยู่แบบสั้นในตารางการจับคู่ที่อยู่ต้นทาง
|
otPlatRadioClearCalibratedPowers(otInstance *aInstance)
|
ล้างค่ากำลังที่ปรับเทียบทั้งหมดออกจากตารางการปรับเทียบพลังงาน
|
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
|
void
ล้างที่อยู่แบบขยาย/ยาวทั้งหมดออกจากตารางการจับคู่ที่อยู่ต้นทาง
|
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
|
นําที่อยู่แบบขยายออกจากตารางการจับคู่ที่อยู่ต้นทาง
|
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
|
void
ล้างที่อยู่แบบย่อทั้งหมดออกจากตารางการจับคู่ที่อยู่ต้นทาง
|
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
|
นำที่อยู่แบบสั้นออกจากตารางการจับคู่ที่อยู่ต้นทาง
|
otPlatRadioConfigureEnhAckProbing(otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
|
เปิด/ปิดใช้งานหรืออัปเดตการตรวจสอบแบบปรับปรุงแล้วในวิทยุสำหรับ Initiator ที่ระบุ
|
otPlatRadioDisable(otInstance *aInstance)
|
ปิดใช้วิทยุ
|
otPlatRadioEnable(otInstance *aInstance)
|
เปิดใช้วิทยุ
|
otPlatRadioEnableCsl(otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
|
เปิดหรือปิดใช้ตัวรับ CSL
|
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
|
void
เปิด/ปิดใช้ฟีเจอร์การจับคู่ที่อยู่ต้นทาง
|
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
|
เริ่มต้นลำดับการสแกนพลังงานทางวิทยุ
|
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
|
void
ไดรเวอร์วิทยุเรียกใช้วิธีการนี้เพื่อแจ้ง OpenThread ว่าการสแกนพลังงานเสร็จสมบูรณ์แล้ว
|
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
|
ดูเมตริกการใช้งานวิทยุร่วมกัน
|
otPlatRadioGetCslAccuracy(otInstance *aInstance)
|
uint8_t
รับความแม่นยำของกล่องที่แย่ที่สุดโดยประมาณในปัจจุบัน (ความเบี่ยงเบนสูงสุด ± ค่าเบี่ยงเบนจากความถี่น้อย) ของนาฬิกาวิทยุท้องถิ่นในหน่วย PPM
|
otPlatRadioGetCslUncertainty(otInstance *aInstance)
|
uint8_t
ความไม่แน่นอนแบบคงที่ (เช่น
|
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
|
uint32_t
รับมาสก์ช่องแบบวิทยุที่อุปกรณ์ต้องการสร้าง
|
otPlatRadioGetRawPowerSetting(otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
|
รับการตั้งค่าพลังงานดิบสำหรับช่องที่ระบุ
|
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
|
รับรหัสภูมิภาค
|
otPlatRadioGetRssi(otInstance *aInstance)
|
int8_t
ดูการวัด RSSI ล่าสุด
|
otPlatRadioGetState(otInstance *aInstance)
|
ดูสถานะปัจจุบันของวิทยุ
|
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
|
uint32_t
รับมาสก์ช่องวิทยุที่รองรับซึ่งอุปกรณ์ดังกล่าวใช้ได้
|
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
|
รับเฟรมบัฟเฟอร์เฟรมสำหรับสัญญาณวิทยุ
|
otPlatRadioIsCoexEnabled(otInstance *aInstance)
|
bool
ตรวจสอบว่ามีการเปิดใช้ Coex ของวิทยุหรือไม่
|
otPlatRadioIsEnabled(otInstance *aInstance)
|
bool
ตรวจสอบว่าได้เปิดใช้งานวิทยุไว้หรือไม่
|
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
|
เปลี่ยนวิทยุจาก "นอนหลับ" เป็น "รับ" (เปิดวิทยุ)
|
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
|
กำหนดเวลาหน้าต่างรับวิทยุตามเวลาและระยะเวลาที่ระบุ
|
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
ไดรเวอร์วิทยุเรียกใช้เมธอดนี้เพื่อแจ้ง OpenThread เกี่ยวกับเฟรมที่ได้รับ
|
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
|
ตั้งค่ากำลังส่งสูงสุดสำหรับช่องใดช่องหนึ่ง
|
otPlatRadioSetChannelTargetPower(otInstance *aInstance, uint8_t aChannel, int16_t aTargetPower)
|
ตั้งค่าพลังงานเป้าหมายสำหรับแชแนลที่ระบุ
|
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
|
เปิดใช้ Coex ของวิทยุ
|
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
|
ตั้งค่ารหัสภูมิภาค
|
otPlatRadioSleep(otInstance *aInstance)
|
เปลี่ยนวิทยุจากโหมดรับเป็นโหมดสลีป (ปิดวิทยุ)
|
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
|
เริ่มลำดับการส่งทางวิทยุ
|
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
|
void
ไดรเวอร์วิทยุเรียกใช้ฟังก์ชันนี้เพื่อแจ้ง OpenThread ว่าการส่งเสร็จสิ้นแล้ว โดยจะให้ทั้งเฟรมที่ส่งและเฟรม Ack ที่ได้รับ (หากมี)
|
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
|
void
คนขับวิทยุเรียกวิธีการนี้เพื่อแจ้ง OpenThread ว่าการส่งข้อมูลเริ่มขึ้นแล้ว
|
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
|
void
อัปเดตเวลาตัวอย่าง CSL ในไดรเวอร์วิทยุ
|
ฟังก์ชัน
otPlatDiagRadioReceiveDone
void otPlatDiagRadioReceiveDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
ไดรเวอร์วิทยุเรียกใช้วิธีการนี้เพื่อแจ้งโมดูลการวินิจฉัย OpenThread เกี่ยวกับเฟรมที่ได้รับ
ใช้เมื่อเปิดใช้การวินิจฉัย
| รายละเอียด | |||||||
|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||
otPlatDiagRadioTransmitDone
void otPlatDiagRadioTransmitDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
คนขับวิทยุเรียกวิธีการนี้เพื่อแจ้งโมดูลการวินิจฉัย OpenThread ว่าการส่งข้อมูลเสร็จสมบูรณ์แล้ว
ใช้เมื่อเปิดใช้การวินิจฉัย
| รายละเอียด | |||||||
|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||
otPlatRadioAddCalibratedPower
otError otPlatRadioAddCalibratedPower( otInstance *aInstance, uint8_t aChannel, int16_t aActualPower, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength )
เพิ่มกำลังที่ปรับเทียบของช่องที่ระบุไปยังตารางการปรับเทียบพลังงาน
aActualPower คือกำลังขาออกจริงที่วัดได้เมื่อพารามิเตอร์ของโมดูลฮาร์ดแวร์วิทยุตั้งค่าเป็น aRawPowerSetting
การตั้งค่าพลังงานดิบคืออาร์เรย์ไบต์แบบทึบแสง OpenThread ไม่ได้กำหนดรูปแบบของการตั้งค่าพลังงานดิบ รูปแบบของอุปกรณ์นี้เกี่ยวข้องกับฮาร์ดแวร์วิทยุและควรกำหนดโดยนักพัฒนาซอฟต์แวร์ในไดรเวอร์วิทยุของแพลตฟอร์ม ตัวอย่างเช่น หากฮาร์ดแวร์ของวิทยุมีทั้งชิปวิทยุและชิป FEM การตั้งค่ากำลังไฟฟ้าดิบอาจเป็นชุดค่าผสมของเครื่องบันทึกพลังงานวิทยุและค่าเกนของ FEM
| รายละเอียด | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||||||
| แสดงผลค่า |
|
||||||||||
otPlatRadioAddSrcMatchExtEntry
otError otPlatRadioAddSrcMatchExtEntry( otInstance *aInstance, const otExtAddress *aExtAddress )
เพิ่มที่อยู่ที่ขยายลงในตารางการจับคู่ที่อยู่ต้นทาง
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioAddSrcMatchShortEntry
otError otPlatRadioAddSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
เพิ่มที่อยู่แบบสั้นในตารางการจับคู่ที่อยู่ต้นทาง
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioClearCalibratedPowers
otError otPlatRadioClearCalibratedPowers( otInstance *aInstance )
ล้างค่ากำลังที่ปรับเทียบทั้งหมดออกจากตารางการปรับเทียบพลังงาน
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioClearSrcMatchExtEntries
void otPlatRadioClearSrcMatchExtEntries( otInstance *aInstance )
ล้างที่อยู่แบบขยาย/ยาวทั้งหมดออกจากตารางการจับคู่ที่อยู่ต้นทาง
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
otPlatRadioClearSrcMatchExtEntry
otError otPlatRadioClearSrcMatchExtEntry( otInstance *aInstance, const otExtAddress *aExtAddress )
นําที่อยู่แบบขยายออกจากตารางการจับคู่ที่อยู่ต้นทาง
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioClearSrcMatchShortEntries
void otPlatRadioClearSrcMatchShortEntries( otInstance *aInstance )
ล้างที่อยู่แบบย่อทั้งหมดออกจากตารางการจับคู่ที่อยู่ต้นทาง
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
otPlatRadioClearSrcMatchShortEntry
otError otPlatRadioClearSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
นำที่อยู่แบบสั้นออกจากตารางการจับคู่ที่อยู่ต้นทาง
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioConfigureEnhAckProbing
otError otPlatRadioConfigureEnhAckProbing( otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress )
เปิด/ปิดใช้งานหรืออัปเดตการตรวจสอบแบบปรับปรุงแล้วในวิทยุสำหรับ Initiator ที่ระบุ
หลังจากการตรวจสอบ ACK ที่ปรับปรุงแล้วได้รับการกำหนดค่าโดยผู้เริ่มใช้การตรวจสอบเฉพาะ ค่า Enhanced-ACK ที่ส่งไปยังโหนดดังกล่าวควรมี IE เฉพาะผู้ให้บริการที่มีข้อมูลเมตริกลิงก์ วิธีนี้แจ้งให้วิทยุเริ่ม/หยุดรวบรวมข้อมูลเมตริกลิงก์และรวม IE เฉพาะผู้ให้บริการที่มีข้อมูลใน Enhanced-ACK ที่ส่งไปยังผู้เริ่มต้นการตรวจสอบ
| รายละเอียด | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||||||
| แสดงผลค่า |
|
||||||||||
otPlatRadioDisable
otError otPlatRadioDisable( otInstance *aInstance )
ปิดใช้วิทยุ
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioEnable
otError otPlatRadioEnable( otInstance *aInstance )
เปิดใช้วิทยุ
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioEnableCsl
otError otPlatRadioEnableCsl( otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr )
เปิดหรือปิดใช้ตัวรับ CSL
| รายละเอียด | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||||
| แสดงผลค่า |
|
||||||||
otPlatRadioEnableSrcMatch
void otPlatRadioEnableSrcMatch( otInstance *aInstance, bool aEnable )
เปิด/ปิดใช้ฟีเจอร์การจับคู่ที่อยู่ต้นทาง
ฟีเจอร์การจับคู่ที่อยู่ต้นทางจะควบคุมวิธีที่เลเยอร์วิทยุกำหนดบิต "เฟรมที่รอดำเนินการ" สำหรับแอคที่ตอบสนองต่อคำสั่งคำขอข้อมูลจากรายการย่อย
หากปิดใช้ เลเยอร์วิทยุต้องตั้งค่า "เฟรมรอดำเนินการ" บนคำสั่งขอข้อมูลทั้งหมด
หากเปิดใช้ เลเยอร์วิทยุจะใช้ตารางการจับคู่ที่อยู่ต้นทางเพื่อระบุว่าจะตั้งค่าหรือล้างบิต "เฟรมที่รออยู่" ในคำสั่งขอข้อมูลหรือไม่
ตารางการจับคู่ที่อยู่ต้นทางจะแสดงรายการย่อยที่มีเฟรมที่รอดำเนินการ สามารถเพิ่มที่อยู่แบบสั้นหรือที่อยู่ที่ขยาย/ยาวลงในตารางการจับคู่ที่อยู่ต้นทางได้
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
otPlatRadioEnergyScan
otError otPlatRadioEnergyScan( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration )
เริ่มต้นลำดับการสแกนพลังงานทางวิทยุ
ใช้เมื่อวิทยุมีความสามารถในการ OT_RADIO_CAPS_ENERGY_SCAN
| รายละเอียด | |||||||
|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||
| แสดงผลค่า |
|
||||||
otPlatRadioEnergyScanDone
void otPlatRadioEnergyScanDone( otInstance *aInstance, int8_t aEnergyScanMaxRssi )
ไดรเวอร์วิทยุเรียกใช้วิธีการนี้เพื่อแจ้ง OpenThread ว่าการสแกนพลังงานเสร็จสมบูรณ์แล้ว
ใช้เมื่อวิทยุมีความสามารถในการ OT_RADIO_CAPS_ENERGY_SCAN
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
otPlatRadioGetCoexMetrics
otError otPlatRadioGetCoexMetrics( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics )
ดูเมตริกการใช้งานวิทยุร่วมกัน
จะใช้เมื่อเปิดใช้งานคุณลักษณะ OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioGetCslAccuracy
uint8_t otPlatRadioGetCslAccuracy( otInstance *aInstance )
รับความแม่นยำของกล่องที่แย่ที่สุดโดยประมาณในปัจจุบัน (ความเบี่ยงเบนสูงสุด ± ค่าเบี่ยงเบนจากความถี่น้อย) ของนาฬิกาวิทยุท้องถิ่นในหน่วย PPM
นี่คือนาฬิกาที่ใช้กำหนดเวลาดำเนินการ CSL
ในกรณีที่การใช้งานไม่ได้ประมาณค่าปัจจุบัน แต่แสดงผลค่าคงที่ ค่านี้จะต้องเป็นค่าความถูกต้องในกรณีที่แย่ที่สุดเมื่อเทียบกับเงื่อนไขการทำงานที่คาดไว้ทั้งหมด (อุณหภูมิ แรงดัน ฯลฯ) ของการติดตั้งใช้งาน
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
การกำหนดเวลา CSL rx/tx ปัจจุบันจะเลื่อนใน PPM
|
||
otPlatRadioGetCslUncertainty
uint8_t otPlatRadioGetCslUncertainty( otInstance *aInstance )
ความไม่แน่นอนแบบคงที่ (เช่น
เสียงรบกวนแบบสุ่ม) ของเวลาถึงของการส่งข้อมูล CSL ที่อุปกรณ์นี้ได้รับในหน่วย 10 ไมโครวินาที
ค่านี้ระบุค่าเบี่ยงเบนเป็นบวกหรือค่าลบคงที่ที่แย่ที่สุดของเวลาถึงจริงๆ ของการส่งจากเวลาในการส่งที่คำนวณเมื่อเทียบกับนาฬิกาวิทยุท้องถิ่นโดยไม่ขึ้นกับเวลาที่ผ่านไป นอกจากความไม่แน่นอนที่เกิดขึ้นเมื่อเวลาผ่านไปแล้ว ตัวอย่างช่อง CSL ("หน้าต่าง RX") ต้องขยายค่าเบี่ยงเบนนี้เพิ่มเป็น 2 เท่าเพื่อให้เครื่องรับสัญญาณท้องถิ่นตรวจพบการรับส่งข้อมูลจริงหากมีเสียงรบกวนเวลาถึงที่สุ่มขึ้น
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
ความไม่แน่นอนของ CSL ในหน่วย 10 คน
|
||
otPlatRadioGetPreferredChannelMask
uint32_t otPlatRadioGetPreferredChannelMask( otInstance *aInstance )
รับมาสก์ช่องแบบวิทยุที่อุปกรณ์ต้องการสร้าง
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
มาสก์ช่องที่สถานีวิทยุที่ต้องการ
|
||
otPlatRadioGetRawPowerSetting
otError otPlatRadioGetRawPowerSetting( otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength )
รับการตั้งค่าพลังงานดิบสำหรับช่องที่ระบุ
เลเยอร์วิทยุของแพลตฟอร์มควรแยกวิเคราะห์การตั้งค่าพลังงานดิบตามรูปแบบที่กำหนดของเลเยอร์วิทยุ และตั้งค่าพารามิเตอร์ของโมดูลฮาร์ดแวร์วิทยุแต่ละโมดูล
| รายละเอียด | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||||
| แสดงผลค่า |
|
||||||||
otPlatRadioGetRegion
otError otPlatRadioGetRegion( otInstance *aInstance, uint16_t *aRegionCode )
รับรหัสภูมิภาค
รูปแบบภูมิภาคของวิทยุคือรูปแบบ 2 ไบต์ ascii ของรหัส ISO 3166 alpha-2
| รายละเอียด | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||||
| แสดงผลค่า |
|
||||||||
otPlatRadioGetRssi
int8_t otPlatRadioGetRssi( otInstance *aInstance )
ดูการวัด RSSI ล่าสุด
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
RSSI ใน dBm เมื่อถูกต้อง 127 เมื่อ RSSI ไม่ถูกต้อง
|
||
otPlatRadioGetState
otRadioState otPlatRadioGetState( otInstance *aInstance )
ดูสถานะปัจจุบันของวิทยุ
OpenThread ไม่ได้กำหนดให้ใช้ ซึ่งอาจใช้เพื่อแก้ไขข้อบกพร่องและ/หรือเพื่อวัตถุประสงค์เฉพาะแอปพลิเคชัน
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
สถานะปัจจุบันของวิทยุ
|
||
otPlatRadioGetSupportedChannelMask
uint32_t otPlatRadioGetSupportedChannelMask( otInstance *aInstance )
รับมาสก์ช่องวิทยุที่รองรับซึ่งอุปกรณ์ดังกล่าวใช้ได้
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
มาสก์ช่องที่วิทยุรองรับ
|
||
otPlatRadioGetTransmitBuffer
otRadioFrame * otPlatRadioGetTransmitBuffer( otInstance *aInstance )
รับเฟรมบัฟเฟอร์เฟรมสำหรับสัญญาณวิทยุ
OpenThread จะสร้างเฟรม IEEE 802.15.4 ในบัฟเฟอร์นี้ จากนั้นจะเรียก otPlatRadioTransmit() เพื่อขอให้ส่ง
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
ตัวชี้ไปยังบัฟเฟอร์เฟรมที่ส่ง
|
||
otPlatRadioIsCoexEnabled
bool otPlatRadioIsCoexEnabled( otInstance *aInstance )
ตรวจสอบว่ามีการเปิดใช้ Coex ของวิทยุหรือไม่
จะใช้เมื่อเปิดใช้งานคุณลักษณะ OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
TRUE ถ้ามีการเปิดใช้ Coex ของวิทยุ มิฉะนั้นเป็น FALSE
|
||
otPlatRadioIsEnabled
bool otPlatRadioIsEnabled( otInstance *aInstance )
ตรวจสอบว่าได้เปิดใช้งานวิทยุไว้หรือไม่
| รายละเอียด | |||
|---|---|---|---|
| พารามิเตอร์ |
|
||
| การส่งคืน |
TRUE ถ้าเปิดใช้งานวิทยุ มิฉะนั้นจะเป็น FALSE
|
||
otPlatRadioReceive
otError otPlatRadioReceive( otInstance *aInstance, uint8_t aChannel )
เปลี่ยนวิทยุจาก "นอนหลับ" เป็น "รับ" (เปิดวิทยุ)
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioReceiveAt
otError otPlatRadioReceiveAt( otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration )
กำหนดเวลาหน้าต่างรับวิทยุตามเวลาและระยะเวลาที่ระบุ
| รายละเอียด | |||||||
|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||
| แสดงผลค่า |
|
||||||
otPlatRadioReceiveDone
void otPlatRadioReceiveDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
ไดรเวอร์วิทยุเรียกใช้เมธอดนี้เพื่อแจ้ง OpenThread เกี่ยวกับเฟรมที่ได้รับ
| รายละเอียด | |||||||
|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||
otPlatRadioSetChannelMaxTransmitPower
otError otPlatRadioSetChannelMaxTransmitPower( otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower )
ตั้งค่ากำลังส่งสูงสุดสำหรับช่องใดช่องหนึ่ง
| รายละเอียด | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||||
| แสดงผลค่า |
|
||||||||
otPlatRadioSetChannelTargetPower
otError otPlatRadioSetChannelTargetPower( otInstance *aInstance, uint8_t aChannel, int16_t aTargetPower )
ตั้งค่าพลังงานเป้าหมายสำหรับแชแนลที่ระบุ
ไดรเวอร์วิทยุควรตั้งค่ากำลังขาออกจริงให้น้อยกว่าหรือเท่ากับกำลังเป้าหมายและใกล้กับกำลังเป้าหมายมากที่สุด
| รายละเอียด | |||||||
|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||
| แสดงผลค่า |
|
||||||
otPlatRadioSetCoexEnabled
otError otPlatRadioSetCoexEnabled( otInstance *aInstance, bool aEnabled )
เปิดใช้ Coex ของวิทยุ
จะใช้เมื่อเปิดใช้งานคุณลักษณะ OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioSetRegion
otError otPlatRadioSetRegion( otInstance *aInstance, uint16_t aRegionCode )
ตั้งค่ารหัสภูมิภาค
รูปแบบภูมิภาคของวิทยุคือรูปแบบ 2 ไบต์ ascii ของรหัส ISO 3166 alpha-2
| รายละเอียด | |||||||
|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||
| แสดงผลค่า |
|
||||||
otPlatRadioSleep
otError otPlatRadioSleep( otInstance *aInstance )
เปลี่ยนวิทยุจากโหมดรับเป็นโหมดสลีป (ปิดวิทยุ)
| รายละเอียด | |||||||
|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||
| แสดงผลค่า |
|
||||||
otPlatRadioTransmit
otError otPlatRadioTransmit( otInstance *aInstance, otRadioFrame *aFrame )
เริ่มลำดับการส่งทางวิทยุ
ผู้โทรจะต้องสร้างเฟรม IEEE 802.15.4 ในบัฟเฟอร์ที่ otPlatRadioGetTransmitBuffer() ระบุไว้ก่อนขอการส่งข้อมูล ช่องสัญญาณและกำลังส่งจะรวมอยู่ในโครงสร้าง otRadioFrame ด้วย
ลำดับการส่งประกอบด้วยข้อมูลต่อไปนี้
- การเปลี่ยนวิทยุเป็นการส่งจากรัฐต่อไปนี้
- รับหาก RX เปิดอยู่เมื่ออุปกรณ์ไม่มีการใช้งาน หรือไม่รองรับ OT_RADIO_CAPS_SLEEP_TO_TX
- เข้าสู่โหมดสลีปหากปิด RX ขณะที่ไม่มีการใช้งานอุปกรณ์และรองรับ OT_RADIO_CAPS_SLEEP_TO_TX
- ส่ง PSD ในช่องและตามกำลังส่งที่กำหนด
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
| แสดงผลค่า |
|
||||
otPlatRadioTxDone
void otPlatRadioTxDone( otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError )
ไดรเวอร์วิทยุเรียกใช้ฟังก์ชันนี้เพื่อแจ้ง OpenThread ว่าการส่งเสร็จสิ้นแล้ว โดยจะให้ทั้งเฟรมที่ส่งและเฟรม Ack ที่ได้รับ (หากมี)
เมื่อวิทยุมีความสามารถในการใช้งาน OT_RADIO_CAPS_TRANSMIT_SEC เลเยอร์แพลตฟอร์มวิทยุจะอัปเดต aFrame ด้วยตัวนับกรอบความปลอดภัยและค่าดัชนีคีย์ที่วิทยุเก็บรักษาไว้
| รายละเอียด | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||||||
otPlatRadioTxStarted
void otPlatRadioTxStarted( otInstance *aInstance, otRadioFrame *aFrame )
คนขับวิทยุเรียกวิธีการนี้เพื่อแจ้ง OpenThread ว่าการส่งข้อมูลเริ่มขึ้นแล้ว
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
otPlatRadioUpdateCslSampleTime
void otPlatRadioUpdateCslSampleTime( otInstance *aInstance, uint32_t aCslSampleTime )
อัปเดตเวลาตัวอย่าง CSL ในไดรเวอร์วิทยุ
เวลาตัวอย่างจะเก็บอยู่ในไดรเวอร์วิทยุเป็นสำเนาเพื่อคำนวณระยะขณะที่ส่ง ACK ด้วย CSL IE ตัวอย่าง CSL (กรอบเวลา) ของเครื่องรับ CSL จะขยายออกก่อนและหลังเวลาตัวอย่าง เวลาตัวอย่าง CSL จะระบุการประทับเวลาในหน้าต่างตัวอย่าง CSL ซึ่งควรได้รับเฟรมใน "เงื่อนไขที่เหมาะสม" หากไม่มีความไม่ถูกต้อง/การดริฟต์นาฬิกา
| รายละเอียด | |||||
|---|---|---|---|---|---|
| พารามิเตอร์ |
|
||||
แหล่งข้อมูล
หัวข้ออ้างอิง API ของ OpenThread จะมาจากซอร์สโค้ดซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล