Community Translation -Sending AIROC™ HCI UART and RAW HCI UART commands from host - KBA236831

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Koki
Level 4
Level 4
Distributor - TED (Japan)
50 sign-ins First like given 10 questions asked

Hi Infineon Team,

I want to translate KBA236831 into Japanese,please confirm to my work.

Best regads,

Koki

0 Likes
1 Solution
Koki
Level 4
Level 4
Distributor - TED (Japan)
50 sign-ins First like given 10 questions asked

Hi Bindu-san,

Sorry for missing the title. I will post again with the title, so please check it.

-------------------------------------------

Title:ホストからの AIROC™ HCI UART、 および RAW HCI へUART コマンドの送信

Version: **

回答: AIROC™ HCI UART コマンドは、ヘッダー「0x19」で始まり、コマンド オペコードを示すバイト、コマンド グループを示すバイト、送信されるパケットを含むバイト、データの長さを示す 2 バイト (下位バイトの後に上位バイト) が続きます。 

コマンドフォーマット:

CYWxxxxx は、ホスト MCU とのコマンド/イベント交換に次の 5 バイトのパケット ヘッダーを使用します。

パケットタイプ

コマンド/イベントコード

グループコード

パケットレングス

HCI_WICED_PKT(0x19)

HCI_CONTROL_COMMAND_...

HCI_CONTROL_GROUP_...

Low byte

High byte

 

受信した HCI イベントの形式は同じで、パケット バイトに受信データが含まれています。

コマンド オペコードとコマンド グループ バイトについては、 https://github.com/Infineon/btsdk-docs/blob/master/docs/BT-SDK/AIROC-HCI-Control-Protocol.pdfをご覧ください。

例 1: リセット コマンドの送信:

・リセットのオペコードは「01」で、そのグループ番号は「00」です。
・送信するパケットがないため、パケット長は「00」(下位バイト)と「00」(上位バイト)になります。
・リセット用の AIROC™ HCI UART コマンドは、「0x19 0x01 0x00 0x00 0x00」(パケットのバイトなし) です。
・コマンドが正常に実行されると、「デバイス起動」イベントが次のように受信されます: ‘0x19 0x05 0x00 0x00 0x00’.

例 2: ローカル BD_address を読み取る:

・AIROC™ HCI UART コマンドは「0x10 0x0F 0x00 0x00 0x00」になります。
・受信した対応するイベントには 6 バイトの BDA があるため、パケット長は「0000 0110」または「0x06 0x00」になります。
・したがって、イベントは「0x19 0x0D 0x00 0x06 0x00 XX XX XX XX XX XX」になります。

例 3: トレースを有効にする:

・パケットの長さは「0000 0010」の 2 バイトなので、長さは「0x02 0x00」と表示されます。
・最初のバイトは「0x01」(トレースを有効にするため)で、2 番目のバイトは「0x10」(HCI トレースを RAW テキストとして HCI UART に転送するため)です。
・コマンドは「0x19 0x02 0x00 0x02 0x00 0x01 0x10」です。

質問 2: RAW HCI UART コマンドの送信。

回答: RAW HCI UART コマンドにはプレフィックスとして「01」があり、対応するイベントにはプレフィックスとして「04」があります。 プレフィックスの後には、以下の例に示すように「OGF」と「OCF」を含むオペコードが続きます。

コマンド : Set_Transmit_Power (VS コマンド)
OGF : 0x3F (0011 1111)
OCF : 0x026 (0000 0010 0110)
オペコード : 0xFC26 (0-9 ビット OCF & 10-15 ビット OGF)

オペコードの形成:

[15OGF10、9OCF0]
11 1111、00 0010 0110
1111 1100 0010 0110

F C 2 6

=0xFC26

オペコードの後には、パラメーターの長さとパラメーターが続きます。

コマンドフォーマット:

Koki_0-1679563305213.png

 

逆のプロセス:

オペコード: FC26

1111 1100 0010 0110
[15OGF10、9OCF0]
111111、0000100110
11 1111、00 0010 0110

3 F 0 2 6

=0x3F = 0x026

OGF OCF

例 1 Read_BD_ADDR

コマンド: 01 09 10 00 (オペコード:0x1009、OGF:0x04、OCF:0x009)

Cybluetool : [09 10 00 ]
イベント : 04 0E 0A 01 09 10 00 95 60 1A 9A 81 20
Cybluetool の場合: [0E 0A]: 01 09 10 00 95 60 1A 9A 81 20)

イベントの詳細:

04 - プレフィックス (1 オクテット)
0E - イベント コード (1 オクテット) (「0x0E」はコマンド完了イベント用)
0A - パラメータの長さ (1 オクテット)
01 - Num_HCI_Command_Packets (1 オクテット)
09 10 - コマンド オペコード (2 オクテット)
00 - 戻りパラメータ (Read_BD_ADDR コマンドのステータス)
95 60 1A 9A 81 20 - 戻り値 (デバイスの BD アドレス)

例 2: リセット

コマンド: 01 03 0C 00 (オペコード = 0x0C03、OGF:0x03、OCF:0x003)

Cybluetool の場合: [03 0C 00 ]
イベント : 04 0E 04 01 03 0C 00
Cybluetool で :[0E 04 ]: 01 03 0C 00

イベントの詳細:

04 - プレフィックス (1 オクテット)
0E - イベント コード (1 オクテット) (「0x0E」はコマンド完了イベント用)
04 - パラメータの長さ (1 オクテット)
01 - Num_HCI_Command_Packets (1 オクテット)
03 0C - コマンド オペコード (2 オクテット)
00 - Return_Parameters (コマンドごとに固有)

イベントフォーマット:

Koki_1-1679563305160.png

 

------

Best regards,

Koki

View solution in original post

0 Likes
5 Replies
IFX_Publisher2
Community Manager
Community Manager
Community Manager
1000 replies posted First like given 750 replies posted

Hi, Koki san,

Confirm to work on this KBA

Thanks,
Bindu

0 Likes
Koki
Level 4
Level 4
Distributor - TED (Japan)
50 sign-ins First like given 10 questions asked

Hi Support,

Could you please refer to the following translation?

-------------------------------------------

Version: **

回答: AIROC™ HCI UART コマンドは、ヘッダー「0x19」で始まり、コマンド オペコードを示すバイト、コマンド グループを示すバイト、送信されるパケットを含むバイト、データの長さを示す 2 バイト (下位バイトの後に上位バイト) が続きます。 

コマンドフォーマット:

CYWxxxxx は、ホスト MCU とのコマンド/イベント交換に次の 5 バイトのパケット ヘッダーを使用します。

パケットタイプ

コマンド/イベントコード

グループコード

パケットレングス

HCI_WICED_PKT(0x19)

HCI_CONTROL_COMMAND_...

HCI_CONTROL_GROUP_...

Low byte

High byte

 

受信した HCI イベントの形式は同じで、パケット バイトに受信データが含まれています。

コマンド オペコードとコマンド グループ バイトについては、 https://github.com/Infineon/btsdk-docs/blob/master/docs/BT-SDK/AIROC-HCI-Control-Protocol.pdfをご覧ください。

例 1: リセット コマンドの送信:

・リセットのオペコードは「01」で、そのグループ番号は「00」です。
・送信するパケットがないため、パケット長は「00」(下位バイト)と「00」(上位バイト)になります。
・リセット用の AIROC™ HCI UART コマンドは、「0x19 0x01 0x00 0x00 0x00」(パケットのバイトなし) です。
・コマンドが正常に実行されると、「デバイス起動」イベントが次のように受信されます: ‘0x19 0x05 0x00 0x00 0x00’.

例 2: ローカル BD_address を読み取る:

・AIROC™ HCI UART コマンドは「0x10 0x0F 0x00 0x00 0x00」になります。
・受信した対応するイベントには 6 バイトの BDA があるため、パケット長は「0000 0110」または「0x06 0x00」になります。
・したがって、イベントは「0x19 0x0D 0x00 0x06 0x00 XX XX XX XX XX XX」になります。

例 3: トレースを有効にする:

・パケットの長さは「0000 0010」の 2 バイトなので、長さは「0x02 0x00」と表示されます。
・最初のバイトは「0x01」(トレースを有効にするため)で、2 番目のバイトは「0x10」(HCI トレースを RAW テキストとして HCI UART に転送するため)です。
・コマンドは「0x19 0x02 0x00 0x02 0x00 0x01 0x10」です。

質問 2: RAW HCI UART コマンドの送信。

回答: RAW HCI UART コマンドにはプレフィックスとして「01」があり、対応するイベントにはプレフィックスとして「04」があります。 プレフィックスの後には、以下の例に示すように「OGF」と「OCF」を含むオペコードが続きます。

コマンド : Set_Transmit_Power (VS コマンド)
OGF : 0x3F (0011 1111)
OCF : 0x026 (0000 0010 0110)
オペコード : 0xFC26 (0-9 ビット OCF & 10-15 ビット OGF)

オペコードの形成:

[15OGF10、9OCF0]
11 1111、00 0010 0110
1111 1100 0010 0110

F C 2 6

=0xFC26

オペコードの後には、パラメーターの長さとパラメーターが続きます。

コマンドフォーマット:

Koki_0-1679558781699.png

逆のプロセス:

オペコード: FC26

1111 1100 0010 0110
[15OGF10、9OCF0]
111111、0000100110
11 1111、00 0010 0110

3 F 0 2 6

=0x3F = 0x026

OGF OCF

例 1 Read_BD_ADDR

コマンド: 01 09 10 00 (オペコード:0x1009、OGF:0x04、OCF:0x009)

Cybluetool : [09 10 00 ]
イベント : 04 0E 0A 01 09 10 00 95 60 1A 9A 81 20
Cybluetool の場合: [0E 0A]: 01 09 10 00 95 60 1A 9A 81 20)

イベントの詳細:

04 - プレフィックス (1 オクテット)
0E - イベント コード (1 オクテット) (「0x0E」はコマンド完了イベント用)
0A - パラメータの長さ (1 オクテット)
01 - Num_HCI_Command_Packets (1 オクテット)
09 10 - コマンド オペコード (2 オクテット)
00 - 戻りパラメータ (Read_BD_ADDR コマンドのステータス)
95 60 1A 9A 81 20 - 戻り値 (デバイスの BD アドレス)

例 2: リセット

コマンド: 01 03 0C 00 (オペコード = 0x0C03、OGF:0x03、OCF:0x003)

Cybluetool の場合: [03 0C 00 ]
イベント : 04 0E 04 01 03 0C 00
Cybluetool で :[0E 04 ]: 01 03 0C 00

イベントの詳細:

04 - プレフィックス (1 オクテット)
0E - イベント コード (1 オクテット) (「0x0E」はコマンド完了イベント用)
04 - パラメータの長さ (1 オクテット)
01 - Num_HCI_Command_Packets (1 オクテット)
03 0C - コマンド オペコード (2 オクテット)
00 - Return_Parameters (コマンドごとに固有)

イベントフォーマット:

Koki_1-1679558844112.png

------

Best regards,

Koki

IFX_Publisher2
Community Manager
Community Manager
Community Manager
1000 replies posted First like given 750 replies posted

Hi koki san,

Could you please translate the title of the article also?

Thanks,
Bindu

0 Likes
Koki
Level 4
Level 4
Distributor - TED (Japan)
50 sign-ins First like given 10 questions asked

Hi Bindu-san,

Sorry for missing the title. I will post again with the title, so please check it.

-------------------------------------------

Title:ホストからの AIROC™ HCI UART、 および RAW HCI へUART コマンドの送信

Version: **

回答: AIROC™ HCI UART コマンドは、ヘッダー「0x19」で始まり、コマンド オペコードを示すバイト、コマンド グループを示すバイト、送信されるパケットを含むバイト、データの長さを示す 2 バイト (下位バイトの後に上位バイト) が続きます。 

コマンドフォーマット:

CYWxxxxx は、ホスト MCU とのコマンド/イベント交換に次の 5 バイトのパケット ヘッダーを使用します。

パケットタイプ

コマンド/イベントコード

グループコード

パケットレングス

HCI_WICED_PKT(0x19)

HCI_CONTROL_COMMAND_...

HCI_CONTROL_GROUP_...

Low byte

High byte

 

受信した HCI イベントの形式は同じで、パケット バイトに受信データが含まれています。

コマンド オペコードとコマンド グループ バイトについては、 https://github.com/Infineon/btsdk-docs/blob/master/docs/BT-SDK/AIROC-HCI-Control-Protocol.pdfをご覧ください。

例 1: リセット コマンドの送信:

・リセットのオペコードは「01」で、そのグループ番号は「00」です。
・送信するパケットがないため、パケット長は「00」(下位バイト)と「00」(上位バイト)になります。
・リセット用の AIROC™ HCI UART コマンドは、「0x19 0x01 0x00 0x00 0x00」(パケットのバイトなし) です。
・コマンドが正常に実行されると、「デバイス起動」イベントが次のように受信されます: ‘0x19 0x05 0x00 0x00 0x00’.

例 2: ローカル BD_address を読み取る:

・AIROC™ HCI UART コマンドは「0x10 0x0F 0x00 0x00 0x00」になります。
・受信した対応するイベントには 6 バイトの BDA があるため、パケット長は「0000 0110」または「0x06 0x00」になります。
・したがって、イベントは「0x19 0x0D 0x00 0x06 0x00 XX XX XX XX XX XX」になります。

例 3: トレースを有効にする:

・パケットの長さは「0000 0010」の 2 バイトなので、長さは「0x02 0x00」と表示されます。
・最初のバイトは「0x01」(トレースを有効にするため)で、2 番目のバイトは「0x10」(HCI トレースを RAW テキストとして HCI UART に転送するため)です。
・コマンドは「0x19 0x02 0x00 0x02 0x00 0x01 0x10」です。

質問 2: RAW HCI UART コマンドの送信。

回答: RAW HCI UART コマンドにはプレフィックスとして「01」があり、対応するイベントにはプレフィックスとして「04」があります。 プレフィックスの後には、以下の例に示すように「OGF」と「OCF」を含むオペコードが続きます。

コマンド : Set_Transmit_Power (VS コマンド)
OGF : 0x3F (0011 1111)
OCF : 0x026 (0000 0010 0110)
オペコード : 0xFC26 (0-9 ビット OCF & 10-15 ビット OGF)

オペコードの形成:

[15OGF10、9OCF0]
11 1111、00 0010 0110
1111 1100 0010 0110

F C 2 6

=0xFC26

オペコードの後には、パラメーターの長さとパラメーターが続きます。

コマンドフォーマット:

Koki_0-1679563305213.png

 

逆のプロセス:

オペコード: FC26

1111 1100 0010 0110
[15OGF10、9OCF0]
111111、0000100110
11 1111、00 0010 0110

3 F 0 2 6

=0x3F = 0x026

OGF OCF

例 1 Read_BD_ADDR

コマンド: 01 09 10 00 (オペコード:0x1009、OGF:0x04、OCF:0x009)

Cybluetool : [09 10 00 ]
イベント : 04 0E 0A 01 09 10 00 95 60 1A 9A 81 20
Cybluetool の場合: [0E 0A]: 01 09 10 00 95 60 1A 9A 81 20)

イベントの詳細:

04 - プレフィックス (1 オクテット)
0E - イベント コード (1 オクテット) (「0x0E」はコマンド完了イベント用)
0A - パラメータの長さ (1 オクテット)
01 - Num_HCI_Command_Packets (1 オクテット)
09 10 - コマンド オペコード (2 オクテット)
00 - 戻りパラメータ (Read_BD_ADDR コマンドのステータス)
95 60 1A 9A 81 20 - 戻り値 (デバイスの BD アドレス)

例 2: リセット

コマンド: 01 03 0C 00 (オペコード = 0x0C03、OGF:0x03、OCF:0x003)

Cybluetool の場合: [03 0C 00 ]
イベント : 04 0E 04 01 03 0C 00
Cybluetool で :[0E 04 ]: 01 03 0C 00

イベントの詳細:

04 - プレフィックス (1 オクテット)
0E - イベント コード (1 オクテット) (「0x0E」はコマンド完了イベント用)
04 - パラメータの長さ (1 オクテット)
01 - Num_HCI_Command_Packets (1 オクテット)
03 0C - コマンド オペコード (2 オクテット)
00 - Return_Parameters (コマンドごとに固有)

イベントフォーマット:

Koki_1-1679563305160.png

 

------

Best regards,

Koki

0 Likes
IFX_Publisher2
Community Manager
Community Manager
Community Manager
1000 replies posted First like given 750 replies posted

Hi  Koki san,

Confirmed to receive this KBA.

Thank you for your contribution.

Thanks,
Bindu

0 Likes