ประเภทวิทยุ

โมดูลนี้ประกอบด้วยแพลตฟอร์ม Abstraction สำหรับเฟรมวิทยุ

สรุป

การแจกแจง

anonymous enum{
  OT_RADIO_FRAME_MAX_SIZE = 127,
  OT_RADIO_FRAME_MIN_SIZE = 3,
  OT_RADIO_SYMBOLS_PER_OCTET = 2,
  OT_RADIO_BIT_RATE = 250000,
  OT_RADIO_BITS_PER_OCTET = 8,
  OT_RADIO_SYMBOL_RATE = 62500,
  OT_RADIO_SYMBOL_TIME = 1000000 * 1 / OT_RADIO_SYMBOL_RATE,
  OT_RADIO_TEN_SYMBOLS_TIME = 10 * OT_RADIO_SYMBOL_TIME,
  OT_RADIO_LQI_NONE = 0,
  OT_RADIO_RSSI_INVALID = 127,
  OT_RADIO_POWER_INVALID = 127
}
enum
anonymous enum{
  OT_RADIO_CHANNEL_PAGE_0 = 0,
  OT_RADIO_CHANNEL_PAGE_0_MASK = (1U << OT_RADIO_CHANNEL_PAGE_0),
  OT_RADIO_CHANNEL_PAGE_2 = 2,
  OT_RADIO_CHANNEL_PAGE_2_MASK = (1U << OT_RADIO_CHANNEL_PAGE_2)
}
enum
กำหนดหน้าแชแนล
anonymous enum{
  OT_RADIO_915MHZ_OQPSK_CHANNEL_MIN = 1,
  OT_RADIO_915MHZ_OQPSK_CHANNEL_MAX = 10,
  OT_RADIO_915MHZ_OQPSK_CHANNEL_MASK = 0x3ff << OT_RADIO_915MHZ_OQPSK_CHANNEL_MIN,
  OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MIN = 11,
  OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MAX = 26,
  OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MASK = 0xffff << OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MIN
}
enum
กำหนดช่วงแชแนลของย่านความถี่
anonymous enum{
  OT_RADIO_CAPS_NONE = 0,
  OT_RADIO_CAPS_ACK_TIMEOUT = 1 << 0,
  OT_RADIO_CAPS_ENERGY_SCAN = 1 << 1,
  OT_RADIO_CAPS_TRANSMIT_RETRIES = 1 << 2,
  OT_RADIO_CAPS_CSMA_BACKOFF = 1 << 3,
  OT_RADIO_CAPS_SLEEP_TO_TX = 1 << 4,
  OT_RADIO_CAPS_TRANSMIT_SEC = 1 << 5,
  OT_RADIO_CAPS_TRANSMIT_TIMING = 1 << 6,
  OT_RADIO_CAPS_RECEIVE_TIMING = 1 << 7,
  OT_RADIO_CAPS_RX_ON_WHEN_IDLE = 1 << 8
}
enum
นิยามค่าคงที่ที่ใช้เพื่อระบุความสามารถต่างๆ ของวิทยุ
anonymous enum{
  OT_IE_HEADER_SIZE = 2,
  OT_CSL_IE_SIZE = 4,
  OT_ACK_IE_MAX_SIZE = 16,
  OT_ENH_PROBING_IE_DATA_MAX_SIZE = 2
}
enum
ระบุค่าคงที่เกี่ยวกับขนาดของส่วนหัว IE ใน ACK
otRadioKeyType{
  OT_KEY_TYPE_LITERAL_KEY = 0,
  OT_KEY_TYPE_KEY_REF = 1
}
enum
ระบุค่าคงที่เกี่ยวกับประเภทคีย์
otRadioState enum
แสดงสถานะของวิทยุ

Typedef

otExtAddress typedef
struct otExtAddress
แสดงที่อยู่ขยายของ IEEE 802.15.4
otLinkMetrics typedef
struct otLinkMetrics
แสดงเมตริกที่ระบุไว้เพื่อค้นหา
otMacKey typedef
struct otMacKey
แสดงคีย์ MAC
otMacKeyMaterial typedef
otMacKeyRef typedef
แสดงการอ้างอิงคีย์ MAC ที่ PSA ใช้
otPanId typedef
uint16_t
แสดงรหัส PAN ของ IEEE 802.15.4
otRadioCaps typedef
uint16_t
แสดงความสามารถของวิทยุ
otRadioCoexMetrics typedef
ต่อไปนี้เป็นการเปลี่ยนสถานะวิทยุที่ถูกต้อง:
otRadioFrame typedef
struct otRadioFrame
แสดงเฟรมวิทยุ IEEE 802.15.4
otRadioIeInfo typedef
struct otRadioIeInfo
แสดงข้อมูลที่เกี่ยวข้องกับ IEEE 802.15.4 Header IE (Information Element) ของเฟรมวิทยุ
otRadioState typedef
แสดงสถานะของวิทยุ
otShortAddress typedef
uint16_t
แสดงที่อยู่แบบสั้น IEEE 802.15.4

ตัวแปร

OT_TOOL_PACKED_END

โครงสร้าง

otExtAddress

แสดงที่อยู่ขยายของ IEEE 802.15.4

otLinkMetrics

แสดงเมตริกที่ระบุไว้เพื่อค้นหา

otMacKey

แสดงคีย์ MAC

otMacKeyMaterial

แสดงคีย์ MAC

otRadioCoexMetrics

ต่อไปนี้เป็นการเปลี่ยนสถานะวิทยุที่ถูกต้อง:

otRadioFrame

แสดงเฟรมวิทยุ IEEE 802.15.4

otRadioIeInfo

แสดงข้อมูลที่เกี่ยวข้องกับ IEEE 802.15.4 Header IE (Information Element) ของเฟรมวิทยุ

การแจกแจง

enum ที่ไม่ระบุตัวตน

 anonymous enum
พร็อพเพอร์ตี้
OT_RADIO_BITS_PER_OCTET

จำนวนบิตต่ออ็อกเท็ต

OT_RADIO_BIT_RATE

2.4 GHz IEEE 802.15.4 (บิตต่อวินาที)

OT_RADIO_FRAME_MAX_SIZE

aMaxPHYPacketSize (IEEE 802.15.4-2006)

OT_RADIO_FRAME_MIN_SIZE

ขนาดขั้นต่ำของเฟรม FCS + การควบคุม

OT_RADIO_LQI_NONE

ไม่รองรับการวัด LQI

OT_RADIO_POWER_INVALID

ค่าพลังงานไม่ถูกต้องหรือไม่รู้จัก

OT_RADIO_RSSI_INVALID

ค่า RSSI ไม่ถูกต้องหรือไม่รู้จัก

OT_RADIO_SYMBOLS_PER_OCTET

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_SYMBOL_RATE

อัตราสัญลักษณ์ PHY ของ O-QPSK เมื่อทำงานในย่านความถี่ 780MHz, 915MHz, 2380MHz, 2450MHz

OT_RADIO_SYMBOL_TIME

ระยะเวลาของสัญลักษณ์เป็นหน่วยไมโครวินาที

OT_RADIO_TEN_SYMBOLS_TIME

เวลาสำหรับสัญลักษณ์ 10 ตัวในหน่วยไมโครวินาที

enum ที่ไม่ระบุตัวตน

 anonymous enum

กำหนดหน้าแชแนล

พร็อพเพอร์ตี้
OT_RADIO_CHANNEL_PAGE_0

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_CHANNEL_PAGE_0_MASK

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_CHANNEL_PAGE_2

915 MHz IEEE 802.15.4-2006

OT_RADIO_CHANNEL_PAGE_2_MASK

915 MHz IEEE 802.15.4-2006

enum ที่ไม่ระบุตัวตน

 anonymous enum

กำหนดช่วงแชแนลของย่านความถี่

พร็อพเพอร์ตี้
OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MASK

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MAX

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MIN

2.4 GHz IEEE 802.15.4-2006

OT_RADIO_915MHZ_OQPSK_CHANNEL_MASK

915 MHz IEEE 802.15.4-2006

OT_RADIO_915MHZ_OQPSK_CHANNEL_MAX

915 MHz IEEE 802.15.4-2006

OT_RADIO_915MHZ_OQPSK_CHANNEL_MIN

915 MHz IEEE 802.15.4-2006

enum ที่ไม่ระบุตัวตน

 anonymous enum

นิยามค่าคงที่ที่ใช้เพื่อระบุความสามารถต่างๆ ของวิทยุ

ดูotRadioCaps

พร็อพเพอร์ตี้
OT_RADIO_CAPS_ACK_TIMEOUT

วิทยุรองรับเหตุการณ์ AckTime

OT_RADIO_CAPS_CSMA_BACKOFF

วิทยุรองรับ CSMA Backoff สำหรับการส่งเฟรม (แต่ไม่ต้องลองใหม่)

OT_RADIO_CAPS_ENERGY_SCAN

วิทยุรองรับการสแกนพลังงาน

OT_RADIO_CAPS_NONE

วิทยุไม่รองรับความสามารถนี้

OT_RADIO_CAPS_RECEIVE_TIMING

วิทยุรองรับ RX ในเวลาที่เฉพาะเจาะจง

OT_RADIO_CAPS_RX_ON_WHEN_IDLE

วิทยุรองรับการจัดการ RxOnWhenIdle

OT_RADIO_CAPS_SLEEP_TO_TX

วิทยุรองรับการเปลี่ยนจากการนอนหลับเป็น TX โดยตรงด้วย CSMA

OT_RADIO_CAPS_TRANSMIT_RETRIES

วิทยุรองรับตรรกะ tx อีกครั้งด้วยการหลีกเลี่ยงการชน (CSMA)

OT_RADIO_CAPS_TRANSMIT_SEC

วิทยุรองรับการรักษาความปลอดภัย tx

OT_RADIO_CAPS_TRANSMIT_TIMING

วิทยุรองรับ tx ในเวลาที่เฉพาะเจาะจง

enum ที่ไม่ระบุตัวตน

 anonymous enum

ระบุค่าคงที่เกี่ยวกับขนาดของส่วนหัว IE ใน ACK

พร็อพเพอร์ตี้
OT_ACK_IE_MAX_SIZE

ความยาวสูงสุดสำหรับส่วนหัว IE ใน ACK

OT_CSL_IE_SIZE

ขนาดของเนื้อหา CSL IE ในหน่วยไบต์

OT_ENH_PROBING_IE_DATA_MAX_SIZE

ความยาวสูงสุดของข้อมูลเมตริกลิงก์ใน IE ที่เจาะจงผู้ให้บริการ

OT_IE_HEADER_SIZE

ขนาดของส่วนหัว IE ในหน่วยไบต์

otRadioKeyType

 otRadioKeyType

ระบุค่าคงที่เกี่ยวกับประเภทคีย์

พร็อพเพอร์ตี้
OT_KEY_TYPE_KEY_REF

ใช้การอ้างอิงไปยังคีย์

OT_KEY_TYPE_LITERAL_KEY

ใช้คีย์ลิเทอรัล

otRadioState

 otRadioState

แสดงสถานะของวิทยุ

โดยในเบื้องต้น วิทยุจะอยู่ในสถานะ "ปิดใช้"

Typedef

otExtAddress

struct otExtAddress otExtAddress

แสดงที่อยู่ขยายของ IEEE 802.15.4

otLinkMetrics

struct otLinkMetrics otLinkMetrics

แสดงเมตริกที่ระบุไว้เพื่อค้นหา

otMacKey

struct otMacKey otMacKey

แสดงคีย์ MAC

otMacKeyMaterial

struct otMacKeyMaterial otMacKeyMaterial

otMacKeyRef

otCryptoKeyRef otMacKeyRef

แสดงการอ้างอิงคีย์ MAC ที่ PSA ใช้

otPanId

uint16_t otPanId

แสดงรหัส PAN ของ IEEE 802.15.4

otRadioCaps

uint16_t otRadioCaps

แสดงความสามารถของวิทยุ

ค่าจะเป็นฟิลด์บิตบ่งบอกความสามารถที่วิทยุรองรับ ดูคำจำกัดความ OT_RADIO_CAPS_*

otRadioCoexMetrics

struct otRadioCoexMetrics otRadioCoexMetrics

ต่อไปนี้เป็นการเปลี่ยนสถานะวิทยุที่ถูกต้อง:

(วิทยุเปิดอยู่) +----+ Enable() +-+ Receive() +---+ Transmit() +----+ | |----->| |----->| |-------->| | | ปิดใช้งาน | | สลีป | | รับ | | ส่ง | |<-----| |<-----| |<--------| | +----+ +-----+ (สัญญาณ) +---->

ในระหว่างคำสั่งขอข้อมูล IEEE 802.15.4 การเปลี่ยน Sleep->Receive->Transmit อาจถูกตัดให้สั้นลงจากสลีปเป็น Transmit โดยตรงถ้าแพลตฟอร์มสนับสนุนความสามารถ OT_RADIO_CAPS_SLEEP_TO_TX ได้ แสดงเมตริกการใช้งานวิทยุร่วมกัน

otRadioFrame

struct otRadioFrame otRadioFrame

แสดงเฟรมวิทยุ IEEE 802.15.4

otRadioIeInfo

struct otRadioIeInfo otRadioIeInfo

แสดงข้อมูลที่เกี่ยวข้องกับ IEEE 802.15.4 Header IE (Information Element) ของเฟรมวิทยุ

otRadioState

enum otRadioState otRadioState

แสดงสถานะของวิทยุ

โดยในเบื้องต้น วิทยุจะอยู่ในสถานะ "ปิดใช้"

otShortAddress

uint16_t otShortAddress

แสดงที่อยู่แบบสั้น IEEE 802.15.4

ตัวแปร

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otExtAddress OT_TOOL_PACKED_END

มาโคร

CSL_IE_HEADER_BYTES_HI

 CSL_IE_HEADER_BYTES_HI 0x0d

แก้ไขไบต์ที่สองของส่วนหัว CSL IE

CSL_IE_HEADER_BYTES_LO

 CSL_IE_HEADER_BYTES_LO 0x04

แก้ไขไบต์แรกสำหรับส่วนหัว CSL IE

OT_EXT_ADDRESS_SIZE

 OT_EXT_ADDRESS_SIZE 8

ขนาดของที่อยู่ขยาย IEEE 802.15.4 (ไบต์)

OT_MAC_KEY_SIZE

 OT_MAC_KEY_SIZE 16

ขนาดของคีย์ MAC ในหน่วยไบต์

OT_PANID_BROADCAST

 OT_PANID_BROADCAST 0xffff

รหัส PAN ที่ออกอากาศ IEEE 802.15.4

OT_TOOL_PACKED_END

 OT_TOOL_PACKED_END

มีตัวบ่งชี้เฉพาะของคอมไพเลอร์ที่ส่วนท้ายของคลาสหรือโครงสร้างการแพ็คไบต์

แหล่งข้อมูล

หัวข้ออ้างอิง API ของ OpenThread จะมาจากซอร์สโค้ดซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล