การกำหนดค่าวิทยุ
โมดูลนี้ประกอบด้วยแพลตฟอร์ม Abstraction สำหรับการกำหนดค่าวิทยุ
สรุป
ฟังก์ชัน |
|
---|---|
otPlatRadioGetBusSpeed(otInstance *aInstance)
|
uint32_t
รับข้อมูลความเร็วของบัสเป็นบิต/วินาทีระหว่างโฮสต์และชิปวิทยุ
|
otPlatRadioGetCaps(otInstance *aInstance)
|
ใช้ความสามารถของวิทยุ
|
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
|
รับเกณฑ์ CCA ED ของวิทยุในหน่วย dBm ที่วัดที่ขั้วต่อเสาอากาศตาม IEEE 802.15.4 - 2015 ในส่วน 10.1.4
|
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
|
รับ Rx LNA ของ FEM ภายนอกใน dBm
|
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
|
void
รับ IEEE EUI-64 ที่กำหนดให้จากโรงงานสำหรับอินเทอร์เฟซนี้
|
otPlatRadioGetNow(otInstance *aInstance)
|
uint64_t
ดูเวลาปัจจุบันในหน่วยไมโครวินาทีที่อ้างอิงถึงนาฬิกาวิทยุท้องถิ่นแบบโมโนโทนิคแบบต่อเนื่อง (ความกว้าง 64 บิต)
|
otPlatRadioGetPromiscuous(otInstance *aInstance)
|
bool
รับสถานะของโหมด Promiscuous
|
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)
|
int8_t
ให้ค่าความไวการรับสัญญาณวิทยุ
|
otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)
|
รับกำลังส่งของวิทยุในหน่วย dBm
|
otPlatRadioGetVersionString(otInstance *aInstance)
|
const char *
รับสตริงเวอร์ชันวิทยุ
|
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
|
ตั้งค่าเกณฑ์ CCA ED ของวิทยุเป็นหน่วย dBm ที่วัดที่ขั้วต่อเสาอากาศตาม IEEE 802.15.4 - 2015 ในหัวข้อ 10.1.4
|
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
|
void
ตั้งค่าที่อยู่แบบขยายสําหรับการกรองที่อยู่
|
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
|
ตั้งค่า Rx LNA ของ FEM ภายนอกใน dBm
|
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
ตั้งค่าตัวนับเฟรมของ MAC ในปัจจุบัน
|
otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
ตั้งค่าตัวนับเฟรม MAC ปัจจุบันเฉพาะในกรณีที่ค่าใหม่ที่กำหนดมากกว่าค่าปัจจุบัน
|
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)
|
void
อัปเดตคีย์ MAC และดัชนีคีย์
|
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)
|
void
ตั้งค่ารหัส PAN สำหรับการกรองที่อยู่
|
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
|
void
เปิดหรือปิดโหมด Promiscuous
|
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
|
void
ตั้งสถานะ rx-on- when-idle กับแพลตฟอร์มวิทยุ
|
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
|
void
ตั้งค่า Short Address สำหรับการกรองที่อยู่
|
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
|
ตั้งค่ากำลังส่งของวิทยุในหน่วย dBm
|
ฟังก์ชัน
otPlatRadioGetBusSpeed
uint32_t otPlatRadioGetBusSpeed( otInstance *aInstance )
รับข้อมูลความเร็วของบัสเป็นบิต/วินาทีระหว่างโฮสต์และชิปวิทยุ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
ความเร็วของบัสในหน่วยบิต/วินาทีระหว่างโฮสต์และชิปวิทยุ แสดงค่า 0 เมื่อเลเยอร์ MAC และเลเยอร์ที่สูงกว่าและเลเยอร์วิทยุอยู่ในชิปเดียวกัน
|
otPlatRadioGetCaps
otRadioCaps otPlatRadioGetCaps( otInstance *aInstance )
ใช้ความสามารถของวิทยุ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
เวกเตอร์ของความสามารถในการใช้งานวิทยุ (ดูคําจํากัดความของ
OT_RADIO_CAP_* ) |
otPlatRadioGetCcaEnergyDetectThreshold
otError otPlatRadioGetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t *aThreshold )
รับเกณฑ์ CCA ED ของวิทยุในหน่วย dBm ที่วัดที่ขั้วต่อเสาอากาศตาม IEEE 802.15.4 - 2015 ในส่วน 10.1.4
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
otPlatRadioGetFemLnaGain
otError otPlatRadioGetFemLnaGain( otInstance *aInstance, int8_t *aGain )
รับ Rx LNA ของ FEM ภายนอกใน dBm
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
otPlatRadioGetIeeeEui64
void otPlatRadioGetIeeeEui64( otInstance *aInstance, uint8_t *aIeeeEui64 )
รับ IEEE EUI-64 ที่กำหนดให้จากโรงงานสำหรับอินเทอร์เฟซนี้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatRadioGetNow
uint64_t otPlatRadioGetNow( otInstance *aInstance )
ดูเวลาปัจจุบันในหน่วยไมโครวินาทีที่อ้างอิงถึงนาฬิกาวิทยุท้องถิ่นแบบโมโนโทนิคแบบต่อเนื่อง (ความกว้าง 64 บิต)
นาฬิกาวิทยุจะไม่ตัดเสร็จในช่วงระยะเวลาทำงานของอุปกรณ์ การนำไปใช้งานจะมีการระบุและชดเชยสำหรับรายการที่เกินมาภายใน นาฬิกาไม่มี Epoch ที่กำหนดไว้ และจะไม่มีการปรับเปลี่ยนอย่างต่อเนื่องหรือไม่ต่อเนื่อง (เช่น วินาทีอธิกสุรทิน) การใช้งานจะชดเชยเวลาสลีปของอุปกรณ์
การใช้งานอาจเลือกปรับวินัยของนาฬิกาวิทยุและชดเชยเวลานอนด้วยวิธีการต่างๆ (เช่น ด้วยการรวม RTC ที่มีความแม่นยำสูง/กำลังต่ำเข้ากับตัวนับความละเอียดสูง) ตราบใดที่นาฬิการวมที่สัมผัสมีสัญญาณความละเอียดระดับไมโครวินาทีแบบโมโนนิกอย่างต่อเนื่องภายในขีดจำกัดความแม่นยำตามประกาศของ otPlatRadioGetCslAccuracy
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
เวลาปัจจุบันในหน่วยไมโครวินาที UINT64_MAX เมื่อแพลตฟอร์มไม่รองรับหรือเวลาวิทยุไม่พร้อมใช้งาน
|
otPlatRadioGetPromiscuous
bool otPlatRadioGetPromiscuous( otInstance *aInstance )
รับสถานะของโหมด Promiscuous
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
otPlatRadioGetReceiveSensitivity
int8_t otPlatRadioGetReceiveSensitivity( otInstance *aInstance )
ให้ค่าความไวการรับสัญญาณวิทยุ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
วิทยุจะได้รับค่าความไวในหน่วย dBm
|
otPlatRadioGetTransmitPower
otError otPlatRadioGetTransmitPower( otInstance *aInstance, int8_t *aPower )
รับกำลังส่งของวิทยุในหน่วย dBm
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
otPlatRadioGetVersionString
const char * otPlatRadioGetVersionString( otInstance *aInstance )
รับสตริงเวอร์ชันวิทยุ
นี่เป็นฟังก์ชันทางเลือกสำหรับแพลตฟอร์มไดรเวอร์วิทยุ หากไม่ได้ให้บริการโดยไดรเวอร์วิทยุของแพลตฟอร์ม OpenThread จะใช้เวอร์ชัน OpenThread แทน (
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
ตัวชี้ไปยังเวอร์ชันวิทยุ OpenThread
|
otGetVersionString())
otPlatRadioSetCcaEnergyDetectThreshold
otError otPlatRadioSetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t aThreshold )
ตั้งค่าเกณฑ์ CCA ED ของวิทยุเป็นหน่วย dBm ที่วัดที่ขั้วต่อเสาอากาศตาม IEEE 802.15.4 - 2015 ในหัวข้อ 10.1.4
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
แสดงผลค่า |
|
otPlatRadioSetExtendedAddress
void otPlatRadioSetExtendedAddress( otInstance *aInstance, const otExtAddress *aExtAddress )
ตั้งค่าที่อยู่แบบขยายสําหรับการกรองที่อยู่
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatRadioSetFemLnaGain
otError otPlatRadioSetFemLnaGain( otInstance *aInstance, int8_t aGain )
ตั้งค่า Rx LNA ของ FEM ภายนอกใน dBm
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
otPlatRadioSetMacFrameCounter
void otPlatRadioSetMacFrameCounter( otInstance *aInstance, uint32_t aMacFrameCounter )
ตั้งค่าตัวนับเฟรมของ MAC ในปัจจุบัน
ใช้เมื่อวิทยุมีฟังก์ชัน OT_RADIO_CAPS_TRANSMIT_SEC
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatRadioSetMacFrameCounterIfLarger
void otPlatRadioSetMacFrameCounterIfLarger( otInstance *aInstance, uint32_t aMacFrameCounter )
ตั้งค่าตัวนับเฟรม MAC ปัจจุบันเฉพาะในกรณีที่ค่าใหม่ที่กำหนดมากกว่าค่าปัจจุบัน
ใช้เมื่อวิทยุมีฟังก์ชัน OT_RADIO_CAPS_TRANSMIT_SEC
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatRadioSetMacKey
void otPlatRadioSetMacKey( otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType )
อัปเดตคีย์ MAC และดัชนีคีย์
ใช้เมื่อวิทยุมีความสามารถในการ OT_RADIO_CAPS_TRANSMIT_SEC
รายละเอียด | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatRadioSetPanId
void otPlatRadioSetPanId( otInstance *aInstance, otPanId aPanId )
ตั้งค่ารหัส PAN สำหรับการกรองที่อยู่
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatRadioSetPromiscuous
void otPlatRadioSetPromiscuous( otInstance *aInstance, bool aEnable )
เปิดหรือปิดโหมด Promiscuous
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatRadioSetRxOnWhenIdle
void otPlatRadioSetRxOnWhenIdle( otInstance *aInstance, bool aEnable )
ตั้งสถานะ rx-on- when-idle กับแพลตฟอร์มวิทยุ
มีบางสถานการณ์ที่วิทยุสามารถเข้าสู่สถานะสลีปได้หากอุปกรณ์อยู่ในสถานะ rx-off-เมื่อ-ไม่มีการใช้งาน แต่ SubMac จะระบุสถานการณ์เหล่านี้ได้ยากและมีค่าใช้จ่ายสูงและสั่งให้วิทยุเข้าสู่โหมดสลีป
- สรุปงานการรับเฟรมตามปกติโดยมีเงื่อนไขดังนี้
- ได้รับเฟรมโดยไม่มีข้อผิดพลาดและผ่านการกรอง และไม่ใช่ ACK ที่ไม่ถูกต้อง
- ไม่ได้ขอ ACK หรือไม่สามารถส่ง ACK ได้เนื่องด้วยเงื่อนไขภายใน
- ทำให้การส่งเฟรมหรือการส่งเฟรม ACK เสร็จสมบูรณ์ เมื่อไม่มีการขอ ACK ในเฟรมที่ส่ง
- การสรุปการดำเนินการรับของ ACK ที่ขอเนื่องจาก:
- การหมดเวลาของ ACK
- การรับ ACK ที่ไม่ถูกต้องหรือไม่ใช่เฟรม ACK
- การรับ ACK ที่ถูกต้อง เว้นแต่เฟรมที่ส่งเป็นคำสั่ง Data Request และตั้งบิตที่รอดำเนินการบน ACK ที่ได้รับเป็น True ในกรณีนี้ การใช้งานแพลตฟอร์มวิทยุควรเปิดเครื่องรับไว้จนกว่าจะหมดเวลาตามที่กําหนดไว้ ซึ่งจะทําให้เกิดช่วงการไม่มีความเคลื่อนไหว คุณสามารถใช้
OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT
เป็นข้อมูลอ้างอิงสําหรับเรื่องนี้ได้
- สรุปผลงาน CCA แบบแยกเดี่ยว
- สรุปการดำเนินการ CCA ซึ่งมีผลลัพธ์ที่ไม่ว่างในระหว่างกระบวนการ CSMA/CA
- สรุปงานการตรวจจับพลังงาน
- สรุปกรอบเวลาการรับวิทยุที่กำหนดเวลากับ
otPlatRadioReceiveAt
หากแพลตฟอร์มรองรับ OT_RADIO_CAPS_RX_ON_WHEN_IDLE
แพลตฟอร์มนั้นต้องรองรับ OT_RADIO_CAPS_CSMA_BACKOFF
และจัดการระยะเวลาที่ไม่ได้ใช้งานหลังจาก CCA ตามที่อธิบายไว้ข้างต้นด้วย
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatRadioSetShortAddress
void otPlatRadioSetShortAddress( otInstance *aInstance, otShortAddress aShortAddress )
ตั้งค่า Short Address สำหรับการกรองที่อยู่
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
otPlatRadioSetTransmitPower
otError otPlatRadioSetTransmitPower( otInstance *aInstance, int8_t aPower )
ตั้งค่ากำลังส่งของวิทยุในหน่วย dBm
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
แสดงผลค่า |
|
แหล่งข้อมูล
หัวข้ออ้างอิง API ของ OpenThread จะมาจากซอร์สโค้ดซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล