1. Yes, packet type is fixed as 0x19.
2. Why do you need to distinguish the command and event? Command is sent from the host MCU to the BT device. Event is sent from BT device to the host MCU. They have different directions.
3. No. Group code means group value in table 3-1. Operating code corresponds to the command/event code for each command/event in the head. They are both one byte.
4. The LE Scan command is defined as follows:
19 01 01 02 00 01 01
19: fixed header
01: command code for LE Scan
01: group code for HCI_CONTROL_GROUP_LE
02 00: packet length 2 bytes
01: scan parameter for start device-discovery scanning
01: scan parameter for filter duplicate advertisements
5. Length is just for the content.
6. The WICED HCI Control Protocol document doesn't list all the group code. You may refer to hci_control_api.h for all the group, command and event code.
Understand completely. Thank you for your clear explanations.