HCI 共四種Packet Type(參考圖一),HCI Command和Event Packet只有單向功能,Command Packet只能從Host到Control,而Event只能從Control到Host,其餘兩型態軍是雙向。
圖一: HCI packet indicators |
- HCI Command Packet 由一個OpCode、一個Parameter Total Length以及數個Parameter 所組成,最大封包是255 bytes。OpCode再分成OpCode Group Filed(OGF)和OpCode Command File(OCF)兩欄位,OGF是長度為6 bit,OCF則是剩餘的10bit的組成。其中,0x3F(00111111b)是OGF保留給廠商來執行Debug使用(vendor-specific debug commands),有些產商也會拿來當Firmware Upgrade使用。
圖二: HCI Command Packet 圖片來源 : Bluetooth 4.0 Spec |
- HCI Event Packet 由一個EventCode、一個Parameter Total Length以及數個Parameter 所組成,最大封包是255 bytes。 EventCode 範圍從0x00-0xFF,其中,0xFF(11111111b)是OGF保留給廠商來執行Debug使用(vendor-specific debug events)。
圖三: HCI Event Packet
圖片來源 : Bluetooth 4.0 Spec
Reference:
[1] bluetooth org
[2] BlueZ
[3] Bluetooth HCI Data format
沒有留言:
張貼留言