Application Note
Bluetooth Audio Transceiver is an application developed based on Common SDK. It has the capability of Bluetooth, Bluetooth Low Energy, and audio. The host (External MCU) can communicate with Bluetooth Audio Transceiver through the UART interface. Before introducing the functions of the application, a few terms will first be defined:
ACI: Application Controller Interface, the communication interface between the ACI Host and Device.
ACI Device: Application Controller Interface Device, the chip that runs the Bluetooth Audio Transceiver application.
ACI Host: Application Controller Interface Host, the host can be an external MCU chip or PC, which must support the UART interface.

Bluetooth Audio Transceiver ACI
The objective of this ACI UART Transport Layer is to enable the use of the RTK Vendor Command set over a serial interface between two UARTs. The ACI Device provides common functions, such as power on, power off, factory reset, recording from the local MIC, local playback audio from ACI Host, HFP AG/HF, A2DP Source/Sink, etc.
These features are demonstrated in four different types of demo applications: Bluetooth Audio Transmitter, Bluetooth Audio Receiver, Bluetooth Audio Transceiver, Bluetooth Audio Transmitter MP3, and Bluetooth Audio Integrated Transceiver. Later sections will detail the features supported by each scenario type and the flowcharts for implementing these features.
Bluetooth Audio Transmitter
The system block diagram shown below consists of 4 parts: Phone, ACI Host, ACI Device, Headset. Different modules use various interfaces to communicate with each other:
Phone <-> ACI Device: Communication with Bluetooth/Bluetooth Low Energy.
ACI Host <-> ACI Device: Communication with UART.
ACI Device <-> Headset: Communication with Bluetooth/Bluetooth Low Energy.
MIC is connected to the internal codec.

Bluetooth Audio Transmitter
The ACI Host connects with the ACI Device via the UART interface. Through the RTK Command set, the ACI Host controls the ACI Device into pairing mode, as well as active scanning and pairing with the Headset. In this application, the ACI Device acts as a Bluetooth Low Energy Peripheral. It will advertise and accept Bluetooth Low Energy connect requests from the mobile phone, and the phone can control the ACI Device through the Bluetooth Low Energy connection. The audio data flow is identified by the blue line with arrows.
For the Bluetooth link with the Headset, the ACI Device acts as the Source of A2DP or AG of HFP and can play the audio data from MIC, Line-in, or I2S to the Headset through the A2DP or SCO link.
Bluetooth Audio Receiver
The system block diagram is shown as follows, consisting of 3 parts: Phone, ACI Host, ACI Device, different modules use various interfaces to communicate with each other:
Phone <-> ACI Device: Communication with Bluetooth/Bluetooth Low Energy.
ACI Host <-> ACI Device: Communication with UART.
ACI Device <-> Headset: Communication with Bluetooth.
MIC and SPK are connected to the internal codec.

Bluetooth Audio Receiver
In this application, ACI Device acts as Bluetooth Low Energy Peripheral, it will advertise and accept Bluetooth Low Energy connect requests from the mobile phone, and the phone can control ACI Device through Bluetooth Low Energy connection. The audio data flow is identified by the blue line with arrows.
For the Bluetooth link with the cell phone, ACI Device acts as the HF role of HFP and A2DP Sink role of A2DP, which can play music and handle phone calls.
Bluetooth Audio Transceiver
The system block diagram is shown as follows, which consists of 5 parts: Phone, ACI Host, ACI Device 1, ACI Device 2, Headset, different modules use various interfaces to communicate with each other:
Phone <-> ACI Device 1: Communication with Bluetooth/Bluetooth Low Energy.
ACI Host <-> ACI Device 1: Communication with UART.
ACI Host <-> ACI Device 2: Communication with UART.
ACI Device 1 <-> ACI Device 2: Communication with SPI and GPIO.
ACI Device 2 <-> Headset: Communication with Bluetooth/Bluetooth Low Energy.

Bluetooth Audio Transceiver
ACI Device 1 supports A2DP Sink and HFP HF; ACI Device 2 supports A2DP Source and HFP AG. The audio data flow is identified by the blue line with arrows:
-
In A2DP scenario:
Audio data are routed as follows: Phone -> ACI Device 1 -> ACI Device 2 -> Headset.
-
In SCO scenario:
Downstream voice data are routed as follows: Phone -> ACI Device 1 -> ACI Device 2 -> Headset SPK.
Upstream voice data are routed as follows: Headset MIC -> ACI Device 2 -> ACI Device 1 -> Phone.
Bluetooth Audio Transmitter MP3
The system block diagram is shown as follows in the figure below:

Bluetooth Audio Transmitter MP3
The system block diagram is the same as bt_audio_transmitter
. The only difference is that the audio data is from ACI Host CLI Tool. The audio data flow is identified by the blue line with arrows:
For the ACI Device itself, the audio data received from the ACI Host can not only be played out through the A2DP Source to the Headset but also through the local SPK, similarly, audio data sampled through the ACI Device’s MIC can also be sent to the ACI Host through the ACI.
For the Bluetooth link with the Headset, the ACI Device acts as the Source of A2DP and can play the audio data from ACI Host to the Headset through the A2DP link.
Bluetooth Audio Integrated Transceiver
The system block diagram is shown as follows, which consists of 4 parts: Phone, ACI Host, ACI Device, Headset. Different modules use various interfaces to communicate with each other:
Phone <-> ACI Device: Communication with Bluetooth.
ACI Host <-> ACI Device: Communication with UART.
ACI Device <-> Headset: Communication with Bluetooth.

Bluetooth Audio Integrated Transceiver
ACI Device supports both A2DP Sink/Source role and HFP HF/AG role. As a feature of this application, ACI Device needs to be connected to Phone and Headset at the same time. The audio data flow is identified by the blue line with arrows.
Requirements
The sample supports the following development kits.
Hardware Platforms |
Board Name |
Build Target |
---|---|---|
RTL87x3E EVB |
|
|
RTL87x3EP HDK |
RTL87x3EP EVB |
|
RTL87x3D HDK |
RTL87x3D EVB |
|
Note
To purchase EVB, please visit https://www.realmcu.com/en/Home/Shop.
When built for an xxx_4M_xxx
or xxx_16M_xxx
build target, the sample is configured to build and run with a 4M or 16M flash map.
To quickly set up the development environment, please refer to the detailed instructions provided in Quick Start.
DSP
There are 3 types of images for Common SDK, which are shown below. We just take RTL87x3E as an example:
cs: Common SDK.
pipe: Audio Pipe.
lea: LE Audio.
ull: Ultra Low Latency.
DSP Image Type |
Directory |
---|---|
|
|
|
|
|
|
The supported function list of each image is listed in the table below.
Function |
cs_pipe_stereo |
cs_lea_pipe_stereo |
cs_leaaudio_pipe_stereo_ull |
---|---|---|---|
DSP Share 80K to MCU |
Y |
N |
Y |
DSP Voice SPK Algorithm |
N |
Y |
N |
LE Audio |
N |
Y |
Y |
N |
N |
Y |
|
CIS TX ULL |
N |
N |
Y |
Notification(VP, Ringtone) |
Y |
Y |
N |
Playback |
Y |
Y |
N |
Record Gain Control |
Y |
Y |
N |
Record |
Y |
Y |
Y |
Audio (A2DP) |
Y |
Y |
N |
Voice (HFP, 1 MIC) |
Y |
Y |
N |
Line-in |
Y |
Y |
Y |
Audio Pipe |
Y |
Y |
Y |
Local Playback |
Y |
Y |
N |
MP3 Decode |
Y |
Y |
Y |
Configurations
To understand the main function of Bluetooth Audio Transceiver, the application can be categorized into 5 scenarios, which are bt_audio_transmitter
, bt_audio_receiver
, bt_audio_transceiver
, bt_audio_transmitter_mp3
, and bt_audio_intergrated_transceiver
.
As in the table below, the SDK has demo bins for providing these application scenarios and how to compile to generate these demo bins in the directory:
release\board\evb\bt_audio_trx\mdk\rtl87x3e_bt_audio_trx.uvprojx
.
Application Scenarios |
Demo Bins |
Macro Define in |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The directory paths of the above source codes are as follows:
bt_audio_transmitter
:sample\bt_audio_trx\source_play
.bt_audio_receiver
:sample\bt_audio_trx\bredr
.bt_audio_transceiver
:sample\bt_audio_trx\transfer_path
.bt_audio_transmitter_mp3
:sample\bt_audio_trx\music_playback
.bt_audio_intergrated_transceiver
:sample\bt_audio_trx\source_play
.
DSP Configuration
The supported function list of each image in DSPConfig Tool are listed in the table below.
DSPConfig Tool |
Tab |
Function Block |
cs_pipe_stereo |
cs_lea_pipe_stereo |
cs_lea_pipe_stereo_ull |
---|---|---|---|---|---|
Voice |
Decode |
N |
Y |
N |
|
HPF |
N |
Y |
N |
||
MB-DRC |
N |
Y |
N |
||
32KHz Process |
N |
Y |
N |
||
N |
Y |
N |
|||
Fade In/Out |
N |
Y |
N |
||
Comfort Noise |
N |
Y |
N |
||
Digital Gain |
Y |
Y |
N |
||
N |
N |
N |
|||
Encode |
N |
N |
N |
||
DC Remover |
Y |
Y |
N |
||
DSP Gain |
Y |
Y |
N |
||
Y |
Y |
N |
|||
Multi MIC |
Y |
Y |
N |
||
NR/AES |
Y |
Y |
N |
||
HPF |
Y |
Y |
N |
||
MB-DRC |
Y |
Y |
N |
||
EQ |
Y |
Y |
N |
||
32KHz Process |
Y |
Y |
N |
||
Fade In/Out |
Y |
Y |
N |
||
Post Gain |
Y |
Y |
N |
||
HW Sidetone |
Y |
Y |
N |
||
Sidetone |
Y |
Y |
N |
||
Record |
ADC |
N |
N |
N |
|
DC Remover |
N |
N |
N |
||
DSP Gain |
N |
N |
N |
||
AEC |
N |
N |
N |
||
Multi MIC |
N |
N |
N |
||
NR/AES |
N |
N |
N |
||
HPF |
N |
N |
N |
||
MB-DRC |
N |
N |
N |
||
EQ |
N |
N |
N |
||
32KHz Process |
N |
N |
N |
||
Fade In/Out |
N |
N |
N |
||
Post Gain |
Y |
Y |
N |
||
Audio |
MB-AGC |
Y |
Y |
N |
|
Parameter EQ |
Y |
Y |
N |
||
Audio Widening |
Y |
Y |
N |
||
Digital Gain |
Y |
Y |
N |
||
Transducer EQ |
Y |
Y |
Y |
||
DAC |
N |
N |
N |
||
Line-in |
ADC |
N |
N |
N |
|
MB-AGC |
N |
N |
N |
||
Parameter EQ |
N |
N |
N |
||
Audio Widening |
N |
N |
N |
||
Transducer EQ |
N |
N |
N |
||
DAC |
N |
N |
N |
||
Notification |
Default SPK Gain for Ringtone |
Y |
Y |
N |
|
Default SPK Gain for VP |
Y |
Y |
N |
||
If NR Support |
1MIC NR |
Y |
Y |
N |
|
2MIC NR |
N |
N |
N |
||
Encode/Decode |
MP3 Decode |
Y |
Y |
Y |
|
OPUS Encode |
Y |
Y |
N |
DSPConfig Tool |
Tab |
Function Block |
Common SDK |
---|---|---|---|
Voice |
Decode |
NR |
Y |
HPF |
Y |
||
MB-DRC |
Y |
||
32KHz Process |
Y |
||
EQ |
Y |
||
Fade In/Out |
Y |
||
Comfort Noise |
N |
||
Digital Gain |
Y |
||
DAC |
N |
||
Encode |
ADC |
N |
|
DC Remover |
Y |
||
DSP Gain |
Y |
||
AEC |
Y |
||
Multi MIC |
Y |
||
NR/AES |
Y |
||
HPF |
Y |
||
MB-DRC |
Y |
||
EQ |
Y |
||
32KHz Process |
Y |
||
Fade In/Out |
Y |
||
Post Gain |
Y |
||
HW Sidetone |
Y |
||
Sidetone |
Y |
||
Record |
ADC |
N |
|
Pre Gain |
Y |
||
DC Remover |
N |
||
DSP Gain |
N |
||
AEC |
N |
||
Multi MIC |
N |
||
NR/AES |
N |
||
HPF |
N |
||
MB-DRC |
N |
||
EQ |
N |
||
32KHz Process |
N |
||
Fade In/Out |
N |
||
Comfort Noise |
N |
||
Post Gain |
Y |
||
Audio |
MB-AGC |
Y |
|
Parameter EQ |
Y |
||
Audio Widening |
Y |
||
WDRC |
Y |
||
Digital Gain |
Y |
||
Transducer EQ |
Y |
||
DAC |
N |
||
Line-in |
ADC |
N |
|
MB-AGC |
N |
||
Parameter EQ |
N |
||
Audio Widening |
N |
||
WDRC |
N |
||
Transducer EQ |
N |
||
DAC |
N |
||
Notification |
Default SPK Gain for Ringtone |
Y |
|
Default SPK Gain for VP |
Y |
||
If NR Support |
1MIC NR |
Y |
|
2MIC NR |
N |
||
Encode/Decode |
MP3 Decode |
N |
|
OPUS Encode |
Y |
DSPConfig Tool |
Tab |
Function Block |
DSP1 Only |
DSP1 + DSP2 |
---|---|---|---|---|
Voice |
Decode |
NR |
Y |
Y |
HPF |
Y |
Y |
||
MB-DRC |
Y |
Y |
||
32KHz Process |
Y |
Y |
||
EQ |
Y |
Y |
||
Fade In/Out |
Y |
Y |
||
Comfort Noise |
N |
N |
||
Digital Gain |
Y |
Y |
||
DAC |
N |
N |
||
Encode |
ADC |
Y |
Y |
|
DC Remover |
Y |
Y |
||
DSP Gain |
Y |
Y |
||
AEC |
Y |
Y |
||
Multi MIC |
Y |
Y |
||
NR/AES |
Y |
Y |
||
HPF |
Y |
Y |
||
MB-DRC |
Y |
Y |
||
EQ |
Y |
Y |
||
32KHz Process |
Y |
Y |
||
Fade In/Out |
Y |
Y |
||
Comfort Noise |
N |
N |
||
Post Gain |
Y |
Y |
||
HW Sidetone |
Y |
Y |
||
Sidetone |
Y |
Y |
||
Record |
ADC |
Y (16k/32k) |
Y (16k/32k) |
|
DC Remover |
Y (16k/32k) |
Y (16k/32k) |
||
DSP Gain |
Y (16k/32k) |
Y (16k/32k) |
||
AEC |
Y (16k/32k) |
Y (16k/32k) |
||
Multi MIC |
Y (16k/32k) |
Y (16k/32k) |
||
NR/AES |
Y (16k/32k) |
Y (16k/32k) |
||
HPF |
Y (16k/32k) |
Y (16k/32k) |
||
MB-DRC |
Y (16k/32k) |
Y (16k/32k) |
||
EQ |
Y (16k/32k) |
Y (16k/32k) |
||
32KHz Process |
Y (32k) |
Y (32k) |
||
Fade In/Out |
Y (16k/32k) |
Y (16k/32k) |
||
Comfort Noise |
N |
N |
||
Post Gain |
Y |
Y |
||
Audio |
MB-AGC |
Y |
Y |
|
Parameter EQ |
Y |
Y |
||
Audio Widening |
Y |
Y |
||
WDRC |
Y |
Y |
||
Digital Gain |
Y |
Y |
||
Transducer EQ |
Y |
Y |
||
DAC |
N |
N |
||
Line-in |
ADC |
Y |
Y |
|
MB-AGC |
N |
N |
||
Parameter EQ |
N |
N |
||
Audio Widening |
N |
N |
||
WDRC |
N |
N |
||
Transducer EQ |
N |
N |
||
DAC |
Y |
Y |
||
Notification |
Default SPK Gain for Ringtone |
Y |
Y |
|
Default SPK Gain for VP |
Y |
Y |
||
If NR Support |
1MIC NR |
Y |
Y |
|
2MIC NR |
N |
N |
||
Encode/Decode |
MP3 Decode |
Y |
Y |
|
OPUS Encode |
Y |
Y |
Note
When using DSP1 Only, you need to set F_APP_HIFI4_SUPPORT
to 0 in app_flags.h
.
Building and Downloading
This sample can be found under sdk\board\evb\bt_audio_trx
in the SDK folder structure.
Take the project rtl87x3e_bt_audio_trx.uvprojx
and demo bin bt_audio_transmitter
as an example. To build and run the sample with the Keil development environment, follow the steps listed below:
Open the project
rtl87x3e_bt_audio_trx.uvprojx
.-
Set
F_APP_BT_AUDIO_TRANSMITTER_DEMO_SUPPORT
inapp_flags.h
to 1, and other macros below shall be set to 0./** * NOTE: Only one demo support flag shall be set to 1. */ #define F_APP_BT_AUDIO_TRANSMITTER_DEMO_SUPPORT 1 #define F_APP_BT_AUDIO_RECEIVER_DEMO_SUPPORT 0 #define F_APP_BT_AUDIO_TRANSCEIVER_DEMO_SUPPORT 0 #define F_APP_BT_AUDIO_TRANSMITTER_MP3_DEMO_SUPPORT 0 #define F_APP_CHARGE_CASE_DEMO_SUPPORT 0 #define F_APP_DASHBOARD_DEMO_SUPPORT 0
-
Choose the build target
bt_audio_trx_4M_lea_dual_bank0
.Choose Build Target
-
Build the target.
Target Building
After a successful build, the APP bin file
bt_audio_trx_bank0_MP-v0.0.0.0-xxx.bin
will be generated in the directorybin\rtl87x3e\flash_4M_dualbank\bank0
. -
Download the generated APP bin
bt_audio_trx_bank0_MP-v0.0.0.0-xxx.bin
into the EVB board.Download Image
Press the reset button on the EVB board.
Experimental Verification
After programming the application bin to the EVB board, testing can be done with a Bluetooth headset or a mobile phone, depending on the specific application type of the bin. The following sections introduce the message sequence charts and implementation steps of each application demo bin, which are divided into:
Message Sequence Charts
This chapter shows typical interactions between Application Controller Interface (ACI) commands and events. It focuses on the message sequence charts (MSCs) for the procedures specified in Design Specification. This chapter illustrates only the most useful scenarios; it does not cover all possible alternatives. In all message sequence charts, it is assumed that all events are not masked, so the Controller will not filter out any events.
The sequence of messages in these message sequence charts is for illustrative purposes. The messages may be sent in a different order where allowed by the ACI. If any of these charts differ from the text in the ACI Parts, the text in those Parts overrides these charts.
Notation
The notation used in the message sequence charts consists of ovals, elongated hexagons, boxes, lines, and arrows. The vertical lines terminated on the top by a shadow box and at the bottom by a solid oval indicate a protocol entity that resides in a device. MSCs describe interactions between these entities and the states those entities may be in.
The following notations represent interactions and states.
Notation |
Description |
---|---|
Oval |
Defines the context for the message sequence chart. |
Hexagon |
Indicates a condition needed to start the transaction below this hexagon. The location and width of the Hexagon indicate which entity or entities make this decision. |
Box |
Replaces a group of transactions. May indicate a user action, or a procedure in the link layer. |
Note |
Gives an explanation of an element. |
Alt/Else |
Performs the appropriate action based on the alternative condition. |
Loop |
Repeats the loop to perform some behavior. |
Control Flow
Some message sequences are split into several charts. In these charts, numbers indicate normal or required ordering, and letters represent alternative paths. For example, Step 4 is after Step 3, and Step 5a could be executed instead of Step 5b.
Example MSC
The protocol entities represented in the example illustrate the interactions of two devices named A and B, each device includes a Host and a link layer entity in this example. Other MSCs in this chapter may show the interactions of more than two devices.
Forward Compatibility
Many of the message sequences in this part use ACI Commands or events that have enhanced or extended variants that were added to the specification later than the relevant sequence. Such variants can be related commands or events with different names or commands or events with multiple versions. In some instances, a Host is required to use the new variant rather than the one shown in the MSC. Even when this is not a requirement, Host implementers may prefer to use the newer variants.
In these circumstances, the MSCs have not been rewritten to use newer features but have been left unchanged. In general, the new commands and events will directly replace the old ones, but this is not always the case and readers should not assume it.
Basic Functions
This chapter introduces some basic features, which are supported in various application scenarios. This chapter describes how to use these functions and the flow for testing them, including the MSCs of the ACI Device and ACI Host interaction, and the commands used.
Power On/Off and Factory Reset
Power on, power off, and factory reset functions are introduced in this chapter:
Power on state: The execution of any function must ensure that the system is in the power on state.
Power off state: The APP layer will do the corresponding processing to make DSP enter a power off state. Since the power on state will enter DLPS mode automatically, the power off state cannot be set.
Factory reset: This function can clear Bluetooth pairing information and reset FTL information. This command needs to be executed once after downloading.
Power On
The chip needs to execute the power on command after downloading.
Note
Using ACI Host CLI test may require sending the mmi pwron command multiple times to wake up the chip. This problem will not exist when the ACI Host wakes up the chip through GPIO. When there is no task, the chip in power on state will enter DLPS mode automatically.
The ACI Host CLI CMD for power on is mmi pwron, the corresponding UART CMD packet and tool log are as follows.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_MMI = 0x0004 |
action = MMI_DEV_POWER_ON(0x54) |
mmi pwron |
2023-01-05 17:40:36,041 INFO: input command: mmi pwron
2023-01-05 17:40:36,041 INFO: Parser cmdParser: cmd opcode: 0004 param: [00 54] name: CMD_MMI
2023-01-05 17:40:36,042 INFO: Packet sendPacket: <<<send packet: AA 0F 04 00 04 00 00 54 95
2023-01-05 17:40:36,046 INFO: AciHostCLI continuously_read: >>>receive packet: AA 02 05 00 00 00 04 00 00 F5
2023-01-05 17:40:36,046 INFO: Parser eventParser: syncWord: AA,seqn: 02,len: 5,opcode: 0000,params: [04 00 00], check_sum: F5
2023-01-05 17:40:36,046 INFO: Parser eventParser: event name: APP_APP_EVENT_ACK
2023-01-05 17:40:36,047 INFO: Parser eventParser: event_id: [04 00]
2023-01-05 17:40:36,047 INFO: Parser eventParser: status: [00]
The chip that has executed the power on command will actively report APP_EVENT_DEVICE_STATE
is powered on after reset. The corresponding event packet and tool log are as follows.
Event |
Parameters |
---|---|
APP_EVENT_DEVICE_STATE = 0x0007 |
state = APP_DEVICE_STATE_ON(1) |
2023-01-05 17:40:36,078 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 03 00 07 00 01 F2
2023-01-05 17:40:36,078 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 3,opcode: 0007,params: [01], check_sum: F2
2023-01-05 17:40:36,079 INFO: Parser eventParser: event name: APP_EVENT_DEVICE_STATE
2023-01-05 17:40:36,079 INFO: Parser eventParser: device_state: [01]
2023-01-05 17:40:36,080 INFO: Packet sendPacket: <<<send packet: AA 10 05 00 00 00 07 00 00 E4
The corresponding flow chart is as follows.

Power On
Power Off
After executing the power off command, the APP layer will do the corresponding processing to make the chip enter the power down state. The ACI Host CLI CMD for power off is mmi pwroff, the corresponding UART CMD packet and tool log are as follows.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_MMI = 0x0004 |
action = MMI_DEV_POWER_OFF(0x56) |
mmi pwroff |
2023-01-05 17:42:08,000 INFO: input command: mmi pwroff
2023-01-05 17:42:08,000 INFO: Parser cmdParser: cmd opcode: 0004 param: [00 56] name: CMD_MMI
2023-01-05 17:42:08,001 INFO: Packet sendPacket: <<<send packet: AA 11 04 00 04 00 00 56 91
2023-01-05 17:42:08,013 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 04 00 00 F3
2023-01-05 17:42:08,014 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [04 00 00], check_sum: F3
2023-01-05 17:42:08,014 INFO: Parser eventParser: event name: APP_EVENT_ACK
2023-01-05 17:42:08,014 INFO: Parser eventParser: event_id: [04 00]
2023-01-05 17:42:08,014 INFO: Parser eventParser: status: [00]
The chip will return APP_EVENT_DEVICE_STATE
with APP_DEVICE_STATE_OFF_ING
to indicate the start of the power off preparation procedure. When the power off preparation procedure is completed, it will report the event of APP_EVENT_DEVICE_STATE
with APP_DEVICE_STATE_OFF
. The corresponding UART event packet and tool log are as follows.
Event |
Parameters |
---|---|
APP_EVENT_DEVICE_STATE = 0x0007 |
state = APP_DEVICE_STATE_OFF_ING(2) |
APP_EVENT_DEVICE_STATE = 0x0007 |
state = APP_DEVICE_STATE_OFF(0) |
2023-01-05 17:42:08,014 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 03 00 07 00 02 EF
2023-01-05 17:42:08,015 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 3,opcode: 0007,params: [02], check_sum: EF
2023-01-05 17:42:08,015 INFO: Parser eventParser: event name: APP_EVENT_DEVICE_STATE
2023-01-05 17:42:08,015 INFO: Parser eventParser: device_state: [02]
2023-01-05 17:42:08,016 INFO: Packet sendPacket: <<<send packet: AA 12 05 00 00 00 07 00 00 E2
2023-01-05 17:42:09,500 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 03 00 07 00 00 F0
2023-01-05 17:42:09,500 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 3,opcode: 0007,params: [00], check_sum: F0
2023-01-05 17:42:09,501 INFO: Parser eventParser: event name: APP_EVENT_DEVICE_STATE
2023-01-05 17:42:09,501 INFO: Parser eventParser: device_state: [00]
2023-01-05 17:42:09,501 INFO: Packet sendPacket: <<<send packet: AA 13 05 00 00 00 07 00 00 E1
2023-01-05 17:42:10,395 ERROR: gap in packets, between 6 and 1 packet before: [170, 6, 3, 0, 7, 0, 0, 240] packet after: [170, 1, 2, 0, 32, 9, 212]
2023-01-05 17:42:10,396 INFO: AciHostCLI continuously_read: >>>receive packet: AA 01 02 00 20 09 D4
2023-01-05 17:42:10,396 INFO: Parser eventParser: syncWord: AA,seqn: 01,len: 2,opcode: 0920,params: [], check_sum: D4
2023-01-05 17:42:10,396 INFO: Parser eventParser: event name: EVENT_BT_READY
2023-01-05 17:42:10,397 INFO: Packet sendPacket: <<<send packet: AA 14 05 00 00 00 20 09 00 BE

Power Off
Factory Reset
Note
Before executing the factory reset command, it is necessary to ensure that the device is in a power on state. Only after the factory reset is executed, the device can enter DLPS mode. As a result, it needs to be executed once after downloading.
After executing the factory reset command, the device will enter the power off state first, and then enter the power on state automatically.
The ACI Host CLI CMD for factory reset is mmi freset, the corresponding UART CMD packet and tool log are as follows.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_MMI = 0x0004 |
action = MMI_DEV_FACTORY_RESET(0x58) |
mmi freset |
After the factory reset, the chip will restore from the device state before the factory reset executes.
2023-01-05 17:50:34,629 INFO: input command: mmi freset
2023-01-05 17:50:34,630 INFO: Parser cmdParser: cmd opcode: 0004 param: [00 58] name: CMD_MMI
2023-01-05 17:50:34,631 INFO: Packet sendPacket: <<<send packet: AA 1E 04 00 04 00 00 58 82
2023-01-05 17:50:34,641 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 04 00 00 F3
2023-01-05 17:50:34,642 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [04 00 00], check_sum: F3
2023-01-05 17:50:34,642 INFO: Parser eventParser: event name: APP_EVENT_ACK
2023-01-05 17:50:34,642 INFO: Parser eventParser: event_id: [04 00]
2023-01-05 17:50:34,643 INFO: Parser eventParser: status: [00]
2023-01-05 17:50:34,643 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 03 00 07 00 02 EF
2023-01-05 17:50:34,643 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 3,opcode: 0007,params: [02], check_sum: EF
2023-01-05 17:50:34,644 INFO: Parser eventParser: event name: APP_EVENT_DEVICE_STATE
2023-01-05 17:50:34,644 INFO: Parser eventParser: device_state: [02]
2023-01-05 17:50:34,645 INFO: Packet sendPacket: <<<send packet: AA 1F 05 00 00 00 07 00 00 D5
2023-01-05 17:50:35,153 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 03 00 07 00 00 F0
2023-01-05 17:50:35,154 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 3,opcode: 0007,params: [00], check_sum: F0
2023-01-05 17:50:35,154 INFO: Parser eventParser: event name: APP_EVENT_DEVICE_STATE
2023-01-05 17:50:35,155 INFO: Parser eventParser: device_state: [00]
2023-01-05 17:50:35,155 INFO: Packet sendPacket: <<<send packet: AA 20 05 00 00 00 07 00 00 D4
2023-01-05 17:50:35,675 INFO: AciHostCLI continuously_read: >>>receive packet: AA 01 02 00 20 09 D4
2023-01-05 17:50:35,675 INFO: Parser eventParser: syncWord: AA,seqn: 01,len: 2,opcode: 0920,params: [], check_sum: D4
2023-01-05 17:50:35,675 INFO: Parser eventParser: event name: EVENT_BT_READY
2023-01-05 17:50:35,676 INFO: Packet sendPacket: <<<send packet: AA 07 05 00 00 00 20 09 00 CB
The corresponding flow chart is as follows.

Factory Reset
Connection and Linkback Function
This chapter introduces the functions of connecting to phone and connecting to BUD.
Connect to Phone
The function of connecting to the phone is implemented by sending ACI Host CLI CMD.

Connect to Phone
ACI Host CLI Test: Connect to Phone
Command |
Parameters |
ACI Host CLI CMD |
Description |
---|---|---|---|
CMD_XM_SET_MODE = 0x0030 |
device_mode = BT_DEVICE_MODE_IDLE(0) |
mode idle |
BR/EDR radio in undiscoverable and unconnectable mode. |
CMD_XM_SET_MODE = 0x0030 |
device_mode = BT_DEVICE_MODE_DISCOVERABLE(1) |
mode inq_scan |
BR/EDR radio in discoverable mode. |
CMD_XM_SET_MODE = 0x0030 |
device_mode = BT_DEVICE_MODE_CONNECTABLE(2) |
mode page_scan |
BR/EDR radio in connectable mode. |
CMD_XM_SET_MODE = 0x0030 |
device_mode = BT_DEVICE_MODE_DISCOVERABLE_CONNECTABLE(3) |
mode all_enable |
BR/EDR radio in discoverable and connectable mode. |
CMD_BT_CREATE_CONNECTION = 0x0002 |
profile_mask, bd_addr |
connect phone_sample |
It chooses device to connect by inquiry scan result by index, no UART packet. |
CMD_XM_USER_CFM_REQ = 0x8013 |
true = 0x01 |
btcfm t |
Confirm connect request. |
When using the connect phone_sample
, the bd_addr
parameter needs to be changed to the address of the phone.
-
ACI Host CLI test: Device enters discoverable and connectable mode.
2023-04-21 17:17:51,030 INFO: input command: mode all_enable 2023-04-21 17:17:51,031 INFO: Parser cmdParser: cmd opcode: 0030 param: [03] name: CMD_XM_SET_MODE 2023-04-21 17:17:51,031 INFO: Packet sendPacket: <<<send packet: AA 09 03 00 30 00 03 C1 2023-04-21 17:17:51,037 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 30 00 00 C7 2023-04-21 17:17:51,039 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [30 00 00], check_sum: C7 2023-04-21 17:17:51,044 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-21 17:17:51,045 INFO: Parser eventParser: event_id: [30 00] 2023-04-21 17:17:51,047 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Pair/connect with
phone_sample
.2023-04-21 17:20:32,106 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 08 00 25 09 41 AF 7B 6C 32 20 9C 2023-04-21 17:20:32,108 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 8,opcode: 0925,params: [41 AF 7B 6C 32 20], check_sum: 9C 2023-04-21 17:20:32,108 INFO: Parser eventParser: event name: APP_EVENT_BR_PAIRING_REQ 2023-04-21 17:20:32,109 INFO: Parser eventParser: bd_addr: [41 AF 7B 6C 32 20] 2023-04-21 17:20:32,111 INFO: Packet sendPacket: <<<send packet: AA 08 05 00 00 00 25 09 00 C5 2023-04-21 17:20:32,155 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 0C 00 14 00 01 00 AF 7B 6C 32 20 00 00 00 F1 2023-04-21 17:20:32,156 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 12,opcode: 0014,params: [01 00 AF 7B 6C 32 20 00 00 00], check_sum: F1 2023-04-21 17:20:32,158 INFO: Parser eventParser: event name: APP_EVENT_BR_LINK_STATUS 2023-04-21 17:20:32,165 INFO: Parser eventParser: link_status: [01] 2023-04-21 17:20:32,166 INFO: Parser eventParser: bd_addr: [00 AF 7B 6C 32 20] 2023-04-21 17:20:32,167 INFO: Packet sendPacket: <<<send packet: AA 09 05 00 00 00 14 00 00 DE 2023-04-21 17:20:32,170 INFO: AciHostCLI continuously_read: >>>receive packet: AA 07 31 00 09 00 00 41 AF 7B 6C 32 20 47 61 6C 61 78 79 20 41 34 30 73 00 00 00 00 00 00 00 00 2023-04-21 17:20:32,171 INFO: Parser eventParser: syncWord: AA,seqn: 07,len: 49,opcode: 0009,params: [00 41 AF 7B 6C 32 20 47 61 6C 61 78 79 20 41 34 30 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00], check_sum: F8 2023-04-21 17:20:32,172 INFO: Parser eventParser: event name: APP_EVENT_BR_REMOTE_NAME 2023-04-21 17:20:32,172 INFO: Parser eventParser: cause: [00] 2023-04-21 17:20:32,173 INFO: Parser eventParser: bd_addr: [41 AF 7B 6C 32 20] 2023-04-21 17:20:32,174 INFO: Parser eventParser: name: [47 61 6C 61 78 79 20 41 34 30 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 2023-04-21 17:20:32,177 INFO: Parser eventParser: remote_name: Galaxy A40s 2023-04-21 17:20:32,181 INFO: Packet sendPacket: <<<send packet: AA 0A 05 00 00 00 09 00 00 E8 2023-04-21 17:20:32,378 INFO: AciHostCLI continuously_read: >>>receive packet: AA 08 0C 00 26 09 AC C9 07 00 41 AF 7B 6C 32 20 18 2023-04-21 17:20:32,379 INFO: Parser eventParser: syncWord: AA,seqn: 08,len: 12,opcode: 0926,params: [AC C9 07 00 41 AF 7B 6C 32 20], check_sum: 18 2023-04-21 17:20:32,381 INFO: Parser eventParser: event name: APP_EVENT_BR_SSP_NUMERIC_VALUE 2023-04-21 17:20:32,382 INFO: Parser eventParser: display_val: [AC C9 07 00] 2023-04-21 17:20:32,383 INFO: Parser eventParser: bd_addr: [41 AF 7B 6C 32 20] 2023-04-21 17:20:32,384 INFO: Packet sendPacket: <<<send packet: AA 0B 05 00 00 00 26 09 00 C1 2023-04-21 17:20:32,394 INFO: AciHostCLI continuously_read: >>>receive packet: AA 09 0D 00 00 88 41 AF 7B 6C 32 20 AC C9 07 00 00 BD 2023-04-21 17:20:32,395 INFO: Parser eventParser: syncWord: AA,seqn: 09,len: 13,opcode: 8800,params: [41 AF 7B 6C 32 20 AC C9 07 00 00], check_sum: BD 2023-04-21 17:20:32,397 INFO: Parser eventParser: event name: EVENT_XM_USER_CONFIRMATION_REQ 2023-04-21 17:20:32,401 INFO: Parser eventParser: bd_addr: [41 AF 7B 6C 32 20] 2023-04-21 17:20:32,402 INFO: Parser eventParser: display_val: [AC C9 07 00] 2023-04-21 17:20:32,403 INFO: Packet sendPacket: <<<send packet: AA 0C 05 00 00 00 00 88 00 67
-
ACI Host CLI test: Confirm connection request.
2023-04-21 17:20:38,347 INFO: input command: btcfm t 2023-04-21 17:20:38,348 INFO: Parser cmdParser: cmd opcode: 8013 param: [00 01] name: CMD_XM_USER_CFM_REQ 2023-04-21 17:20:38,348 INFO: Packet sendPacket: <<<send packet: AA 0D 04 00 13 80 00 01 5B 2023-04-21 17:20:38,366 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0A 05 00 00 00 13 80 00 5E 2023-04-21 17:20:38,369 INFO: Parser eventParser: syncWord: AA,seqn: 0A,len: 5,opcode: 0000,params: [13 80 00], check_sum: 5E 2023-04-21 17:20:38,371 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-21 17:20:38,374 INFO: Parser eventParser: event_id: [13 80] 2023-04-21 17:20:38,378 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Connection successful.
2023-04-21 17:20:39,741 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0B 0A 00 03 00 04 41 AF 7B 6C 32 20 01 BA 2023-04-21 17:20:39,742 INFO: Parser eventParser: syncWord: AA,seqn: 0B,len: 10,opcode: 0003,params: [04 41 AF 7B 6C 32 20 01], check_sum: BA 2023-04-21 17:20:39,743 INFO: Parser eventParser: event name: APP_EVENT_PROFILE_CONN_STATUS 2023-04-21 17:20:39,743 INFO: Parser eventParser: profile: [04] 2023-04-21 17:20:39,743 INFO: Parser eventParser: bd_addr: [41 AF 7B 6C 32 20] 2023-04-21 17:20:39,744 INFO: Parser eventParser: others: [01] 2023-04-21 17:20:39,744 INFO: Packet sendPacket: <<<send packet: AA 0E 05 00 00 00 03 00 00 EA 2023-04-21 17:20:39,949 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0C 09 00 03 00 01 41 AF 7B 6C 32 20 BE 2023-04-21 17:20:39,950 INFO: Parser eventParser: syncWord: AA,seqn: 0C,len: 9,opcode: 0003,params: [01 41 AF 7B 6C 32 20], check_sum: BE 2023-04-21 17:20:39,953 INFO: Parser eventParser: event name: APP_EVENT_PROFILE_CONN_STATUS 2023-04-21 17:20:39,954 INFO: Parser eventParser: profile: [01] 2023-04-21 17:20:39,966 INFO: Parser eventParser: bd_addr: [41 AF 7B 6C 32 20] 2023-04-21 17:20:39,968 INFO: Parser eventParser: others: [] 2023-04-21 17:20:39,970 INFO: Packet sendPacket: <<<send packet: AA 0F 05 00 00 00 03 00 00 E9 2023-04-21 17:20:44,039 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0D 09 00 03 00 02 41 AF 7B 6C 32 20 BC 2023-04-21 17:20:44,040 INFO: Parser eventParser: syncWord: AA,seqn: 0D,len: 9,opcode: 0003,params: [02 41 AF 7B 6C 32 20], check_sum: BC 2023-04-21 17:20:44,041 INFO: Parser eventParser: event name: APP_EVENT_PROFILE_CONN_STATUS 2023-04-21 17:20:44,042 INFO: Parser eventParser: profile: [02] 2023-04-21 17:20:44,043 INFO: Parser eventParser: bd_addr: [41 AF 7B 6C 32 20] 2023-04-21 17:20:44,044 INFO: Parser eventParser: others: [] 2023-04-21 17:20:44,045 INFO: Packet sendPacket: <<<send packet: AA 10 05 00 00 00 03 00 00 E8
Connect to BUD
The function of connecting to BUD is implemented by sending ACI Host CLI CMD.

Connect to BUD
ACI Host CLI test: Connect to BUD
Command |
Parameters |
ACI Host CLI CMD |
Description |
---|---|---|---|
CMD_BT_CREATE_CONNECTION = 0x0002 |
profile_mask, bd_addr |
connect device |
It chooses a device to connect by the inquiry scan result by an index, no UART packet. |
CMD_INQUIRY = 0x0321 |
0x00 |
inquiry start |
Start inquiry. |
CMD_BT_CREATE_CONNECTION = 0x0002 |
None |
connect idx |
Show devices that can be connected. |
CMD_XM_USER_CFM_REQ = 0x8013 |
true = 0x01 |
btcfm t |
Confirm connect request. |
When using the connect headset_sample, the parameter of bd_addr
needs to be changed to the address of the BUD.
-
ACI Host CLI test: Connect to BUD with specific address directly.
2023-04-23 19:07:07,166 INFO: input command: connect headset_sample 2023-04-23 19:07:07,170 INFO: Parser cmdParser: cmd opcode: 0002 param: [07 01 00 00 DD CC BB AA 22 12] name: CMD_BT_CREATE_CONNECTION 2023-04-23 19:07:07,171 INFO: Packet sendPacket: <<<send packet: AA 09 0C 00 02 00 07 01 00 00 DD CC BB AA 22 12 9F 2023-04-23 19:07:07,183 INFO: AciHostCLI continuously_read: >>>receive packet: AA 07 05 00 00 00 02 00 00 F2 2023-04-23 19:07:07,186 INFO: Parser eventParser: syncWord: AA,seqn: 07,len: 5,opcode: 0000,params: [02 00 00], check_sum: F2 2023-04-23 19:07:07,192 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-23 19:07:07,197 INFO: Parser eventParser: event_id: [02 00] 2023-04-23 19:07:07,206 INFO: Parser eventParser: status: [00]
In addition to direct connection, BUD can also be connected through the inquiry process.
-
ACI Host CLI test: BUDs inquiry start.
2023-04-21 17:26:01,020 INFO: input command: inquiry start 2023-04-21 17:26:01,021 INFO: Parser cmdParser: cmd opcode: 0321 param: [00 08] name: CMD_INQUIRY 2023-04-21 17:26:01,021 INFO: Packet sendPacket: <<<send packet: AA 2C 04 00 21 03 00 08 A4 2023-04-21 17:26:01,027 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 21 03 00 D2 2023-04-21 17:26:01,028 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [21 03 00], check_sum: D2 2023-04-21 17:26:01,031 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-21 17:26:01,032 INFO: Parser eventParser: event_id: [21 03] 2023-04-21 17:26:01,036 INFO: Parser eventParser: status: [00] 2023-04-21 17:26:01,037 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 03 00 23 09 01 CA 2023-04-21 17:26:01,037 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 3,opcode: 0923,params: [01], check_sum: CA 2023-04-21 17:26:01,037 INFO: Parser eventParser: event name: APP_EVENT_BR_INQUIRY_STATE 2023-04-21 17:26:01,038 INFO: Parser eventParser: inquiry_state: [01] 2023-04-21 17:26:01,038 INFO: Packet sendPacket: <<<send packet: AA 2D 05 00 00 00 23 09 00 A2
-
ACI Host CLI test: BUDs inquired.
2023-04-21 17:26:25,514 INFO: AciHostCLI continuously_read: >>>receive packet: AA 09 35 00 29 09 B0 EC 33 E7 50 70 04 84 24 00 0D 4A 42 4C 20 57 41 56 45 20 46 4C 45 58 00 00 2023-04-21 17:26:25,515 INFO: Parser eventParser: syncWord: AA,seqn: 09,len: 53,opcode: 0929,params: [B0 EC 33 E7 50 70 04 84 24 00 0D 4A 42 4C 20 57 41 56 45 20 46 4C 45 58 00 00 00 00 00 00 00 00], check_sum: E7 2023-04-21 17:26:25,518 INFO: Parser eventParser: event name: APP_EVENT_BR_INQUIRY_RESULT 2023-04-21 17:26:25,519 INFO: Parser eventParser: bd_addr: [B0 EC 33 E7 50 70] 2023-04-21 17:26:25,520 INFO: Parser eventParser: cod: [04 84 24 00] 2023-04-21 17:26:25,520 INFO: Parser eventParser: name_len: [0D] 2023-04-21 17:26:25,521 INFO: Parser eventParser: name: [4A 42 4C 20 57 41 56 45 20 46 4C 45 58 00 00 00 00 00 00 00] 2023-04-21 17:26:25,521 INFO: Parser eventParser: name: JBL WAVE FLEX 2023-04-21 17:26:25,521 INFO: Packet sendPacket: <<<send packet: AA 30 05 00 00 00 29 09 00 99
-
ACI Host CLI test: Show the device index of BUDs, and enter the index of the device to be connected.
For example, in the following log, input 1 then enter.
connect idx 2023-04-21 17:33:24,158 INFO: Parser cmdParser: device index: 1 bd_addr: B0 EC 33 E7 50 70 cod: 04 84 24 00, name: JBL WAVE FLEX 1
-
ACI Host CLI test: Confirm connection request.
Input btcfm t after the event
EVENT_XM_USER_CONFIRMATION_REQ
.2023-04-21 17:33:39,021 INFO: Parser eventParser: event name: EVENT_XM_USER_CONFIRMATION_REQ 2023-04-21 17:33:39,021 INFO: Parser eventParser: bd_addr: [B0 EC 33 E7 50 70] 2023-04-21 17:33:39,021 INFO: Parser eventParser: display_val: [31 E2 01 00] 2023-04-21 17:33:39,021 INFO: Packet sendPacket: <<<send packet: AA 35 05 00 00 00 00 88 00 3E btcfm t 2023-04-21 17:33:41,984 INFO: input command: btcfm t 2023-04-21 17:33:41,985 INFO: Parser cmdParser: cmd opcode: 8013 param: [00 01] name: CMD_XM_USER_CFM_REQ 2023-04-21 17:33:41,985 INFO: Packet sendPacket: <<<send packet: AA 36 04 00 13 80 00 01 32 2023-04-21 17:33:41,991 INFO: AciHostCLI continuously_read: >>>receive packet: AA 33 05 00 00 00 13 80 00 35 2023-04-21 17:33:41,993 INFO: Parser eventParser: syncWord: AA,seqn: 33,len: 5,opcode: 0000,params: [13 80 00], check_sum: 35 2023-04-21 17:33:41,996 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-21 17:33:42,000 INFO: Parser eventParser: event_id: [13 80] 2023-04-21 17:33:42,001 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Connect success and linkback.
The following protocols are established by default: A2DP (0x01), AVRCP (0x02), and HFP (0x04).
2023-04-21 17:55:49,697 INFO: AciHostCLI continuously_read: >>>receive packet: AA 11 09 00 03 00 01 B0 EC 33 E7 50 70 6C 2023-04-21 17:55:49,699 INFO: Parser eventParser: syncWord: AA,seqn: 11,len: 9,opcode: 0003,params: [01 B0 EC 33 E7 50 70], check_sum: 6C 2023-04-21 17:55:49,699 INFO: Parser eventParser: event name: APP_EVENT_PROFILE_CONN_STATUS 2023-04-21 17:55:49,700 INFO: Parser eventParser: profile: [01] 2023-04-21 17:55:49,701 INFO: Parser eventParser: bd_addr: [B0 EC 33 E7 50 70] 2023-04-21 17:55:49,702 INFO: Parser eventParser: others: [] 2023-04-21 17:55:49,703 INFO: Packet sendPacket: <<<send packet: AA 29 05 00 00 00 03 00 00 CF 2023-04-21 17:55:49,921 INFO: AciHostCLI continuously_read: >>>receive packet: AA 12 09 00 24 09 00 B0 EC 33 E7 50 70 42 2023-04-21 17:55:49,921 INFO: Parser eventParser: syncWord: AA,seqn: 12,len: 9,opcode: 0924,params: [00 B0 EC 33 E7 50 70], check_sum: 42 2023-04-21 17:55:49,923 INFO: Parser eventParser: event name: EVENT_SERVICES_SEARCH_STATE 2023-04-21 17:55:49,924 INFO: Packet sendPacket: <<<send packet: AA 2A 05 00 00 00 24 09 00 A4 2023-04-21 17:55:50,033 INFO: AciHostCLI continuously_read: >>>receive packet: AA 13 09 00 03 00 02 B0 EC 33 E7 50 70 69 2023-04-21 17:55:50,035 INFO: Parser eventParser: syncWord: AA,seqn: 13,len: 9,opcode: 0003,params: [02 B0 EC 33 E7 50 70], check_sum: 69 2023-04-21 17:55:50,040 INFO: Parser eventParser: event name: APP_EVENT_PROFILE_CONN_STATUS 2023-04-21 17:55:50,042 INFO: Parser eventParser: profile: [02] 2023-04-21 17:55:50,042 INFO: Parser eventParser: bd_addr: [B0 EC 33 E7 50 70] 2023-04-21 17:55:50,043 INFO: Parser eventParser: others: [] 2023-04-21 17:55:50,043 INFO: Packet sendPacket: <<<send packet: AA 2B 05 00 00 00 03 00 00 CD 2023-04-21 17:55:50,256 INFO: AciHostCLI continuously_read: >>>receive packet: AA 14 09 00 24 09 00 B0 EC 33 E7 50 70 40 2023-04-21 17:55:50,260 INFO: Parser eventParser: syncWord: AA,seqn: 14,len: 9,opcode: 0924,params: [00 B0 EC 33 E7 50 70], check_sum: 40 2023-04-21 17:55:50,262 INFO: Parser eventParser: event name: EVENT_SERVICES_SEARCH_STATE 2023-04-21 17:55:50,268 INFO: Packet sendPacket: <<<send packet: AA 2C 05 00 00 00 24 09 00 A2 2023-04-21 17:55:50,527 INFO: AciHostCLI continuously_read: >>>receive packet: AA 15 03 00 36 03 00 AF 2023-04-21 17:55:50,528 INFO: Parser eventParser: syncWord: AA,seqn: 15,len: 3,opcode: 0336,params: [00], check_sum: AF 2023-04-21 17:55:50,530 INFO: Packet sendPacket: <<<send packet: AA 2D 05 00 00 00 36 03 00 95 2023-04-21 17:55:50,560 INFO: AciHostCLI continuously_read: >>>receive packet: AA 16 0A 00 03 00 04 B0 EC 33 E7 50 70 01 62 2023-04-21 17:55:50,561 INFO: Parser eventParser: syncWord: AA,seqn: 16,len: 10,opcode: 0003,params: [04 B0 EC 33 E7 50 70 01], check_sum: 62 2023-04-21 17:55:50,565 INFO: Parser eventParser: event name: APP_EVENT_PROFILE_CONN_STATUS 2023-04-21 17:55:50,572 INFO: Parser eventParser: profile: [04] 2023-04-21 17:55:50,574 INFO: Parser eventParser: bd_addr: [B0 EC 33 E7 50 70] 2023-04-21 17:55:50,574 INFO: Parser eventParser: others: [01] 2023-04-21 17:55:50,574 INFO: Packet sendPacket: <<<send packet: AA 2E 05 00 00 00 03 00 00 CA
-
ACI Host CLI test: Linkback to ACI Device.
Input mode page_scan to enter connectable mode. In the scenario that needs BUD linkback, please make BUD enters pairing mode, ACI Device will be connected with BUD automatically.
2023-04-23 19:24:06,535 INFO: input command: mode page_scan 2023-04-23 19:24:06,538 INFO: Parser cmdParser: cmd opcode: 0030 param: [02] name: CMD_XM_SET_MODE 2023-04-23 19:24:06,544 INFO: Packet sendPacket: <<<send packet: AA 0C 03 00 30 00 02 BF 2023-04-23 19:24:06,553 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0A 05 00 00 00 30 00 00 C1 2023-04-23 19:24:06,565 INFO: Parser eventParser: syncWord: AA,seqn: 0A,len: 5,opcode: 0000,params: [30 00 00], check_sum: C1 2023-04-23 19:24:06,576 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-23 19:24:06,585 INFO: Parser eventParser: event_id: [30 00] 2023-04-23 19:24:06,589 INFO: Parser eventParser: status: [00]
Bluetooth Low Energy Function
The ACI Device can act as a Central, scanning surrounding advertisements and initiating connections, and can also operate as a Peripheral, broadcasting and accepting connections.
For the Central role, it typically uses the following commands.
Command |
Parameters |
ACI Host CLI CMD |
Description |
---|---|---|---|
CMD_LE_START_SCAN = 0x0103 |
local_addr_type, phys, filter_policy, filter_duplicates, scan_type_1M, scan_interval_1M, scan_window_1M, scan_type_Coded, scan_interval_Coded, scan_window_Coded |
le start_scan |
Start scanning. |
CMD_LE_STOP_SCAN = 0x0104 |
None |
le stop_scan |
Stop scanning. |
CMD_LE_CREATE_CONN = 0x010E |
None |
le conn_idx |
Show scan list and enter device index to initiate a connection. |
CMD_LE_CREATE_CONN = 0x010E |
init_phys, remote_bd_type, remote_bd[6], local_bd_type, scan_timeout |
connect_sample |
Initiate a connection to the specific device. |
CMD_LE_START_PAIR = 0x0109 |
link_id |
le start_pair_dev1 |
Pair with the specific device. |
For the Peripheral role, these commands are commonly required.
Command |
Parameters |
ACI Host CLI CMD |
Description |
---|---|---|---|
CMD_XM_LE_ADV_CREATE = 0x804B |
adv_data(Arbitrary value), adv_prop, interval_min, interval_max, owner_addr_type, owner_addr, peer_addr_type, peer_addr, adv_data_len, adv_data, scan_rsp_len, scan_rsp |
le adv_create |
Create LE ADV with params. |
CMD_XM_LE_START_ADVERTISING = 0x8040 |
adv_interval |
le advstart |
Start LE ADV with a handle. |
CMD_XM_LE_STOP_ADVERTISING = 0x8041 |
adv_interval |
le advstop |
Stop LE ADV with a handle. |
CMD_XM_LE_ADV_DATA_UPDATE = 0x8044 |
adv_handle, adv_len, adv_data |
le adv_data |
Update ADV data for preset LE ADV. |
CMD_XM_LE_SCAN_RSP_DATA_UPDATE = 0x8045 |
adv_handle, scan_rsp_len = 0x001F, scan_rsp |
le scan_rsp_data |
Update scan rsp for preset LE ADV. |
CMD_XM_LE_ADV_INTVAL_UPDATE = 0x8046 |
adv_handle, adv_interval = 0x0320 |
le adv500ms |
Update advertising interval for preset LE ADV. |
CMD_XM_LE_USER_CFM_REQ = 0x8049 |
link_id, action = true |
lecfm t |
Accept pairing request. |
CMD_XM_LE_USER_CFM_REQ = 0x8049 |
link_id, action = false |
lecfm f |
Reject pairing request. |
Once a connection is established, connection parameters can be updated, data can be transferred, and the connection can be disconnected among other operations.
Command |
Parameters |
ACI Host CLI CMD |
Description |
---|---|---|---|
CMD_XM_LE_DISC = 0x8042 |
app_link_id |
le disconn |
Disconnect device on a specific link. |
CMD_XM_LE_CONN_PARAM_UPDATE = 0x8043 |
app_link_id, conn_interval = 0x0050, latency = 0x0000, supervision_tout = 0x01F4 |
le conn_param |
ConnInterval is 0x50 * 1.25 = 100ms, latency = 0, supTimeout = 0x1F4 * 10ms = 5s. |
CMD_XM_LE_ATT_GET_MTU = 0x8047 |
app_link_id |
le mtu |
Get the MTU for the LE link with app_link_id. |
CMD_LE_DATA_TRANSFER = 0x0102 |
app_link_id, pkt_type=PKT_TYPE_SINGLE(0x00), total_len, pkt_len, payload |
le send1 |
An example for GATT service data transfer. |
Additionally, the ACI Device supports features such as the use of a white list, a resolving list, and resolution capabilities.
Command |
Parameters |
ACI Host CLI CMD |
Description |
---|---|---|---|
CMD_LE_MODIFY_WHITELIST = 0x0161 |
opcode = GAP_WHITE_LIST_OP_CLEAR |
whitelist clr_sample |
Clear the white list. |
CMD_LE_MODIFY_WHITELIST = 0x0161 |
opcode = GAP_WHITE_LIST_OP_ADD, bd_addr |
whitelist add_sample |
Add a device to white list. |
CMD_LE_MODIFY_WHITELIST = 0x0161 |
opcode = GAP_WHITE_LIST_OP_REMOVE, bd_addr |
whitelist rmv_sample |
Remove a device from white list. |
CMD_LE_MODIFY_WHITELIST_BY_IDX = 0x0162 |
opcode, device_idx |
whitelist_id add_idx0 |
Add the first device stored in the bond list to the white list. |
CMD_LE_MODIFY_WHITELIST_BY_IDX = 0x0162 |
opcode, device_idx |
whitelist_id rmv_idx0 |
Remove the first device stored in the bond list from the white list. |
CMD_LE_MODIFY_RESOLVELIST_BY_IDX = 0x0163 |
opcode, device_idx |
resolvlist_id add_idx0 |
Add the first device stored in the bond list to the resolving list. |
CMD_LE_MODIFY_RESOLVELIST_BY_IDX = 0x0163 |
opcode, device_idx |
resolvlist_id rmv_idx0 |
Remove the first device stored in the bond list from the resolving list. |
CMD_LE_SET_RESOLUTION = 0x0164 |
operation |
le_resolution enable/disable |
Enable/disable resolution. |
ACI Host CLI Test: Advertising

BLE Advertising
Start advertising with le adv_create and le advstart. Meanwhile, be sure that EVB is in power on mode.
le adv_create
2023-04-25 15:13:40,814 INFO: input command: le adv_create
2023-04-25 15:13:40,816 INFO: Parser cmdParser: cmd opcode: 804B param: [00 13 20 00 20 00 01 59 27 EF 53 9D FC 01 11 33 11 66 55 66 0A 00 03 16 95 FE 05 09 41 41 41 41] name: CMD_XM_LE_ADV_CREATE
2023-04-25 15:13:40,818 INFO: Packet sendPacket: <<<send packet: AA 01 2A 00 4B 80 00 13 20 00 20 00 01 59 27 EF 53 9D FC 01 11 33 11 66 55 66 0A 00 03 16 95 FE
2023-04-25 15:13:40,831 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 4B 80 00 6C
2023-04-25 15:13:40,838 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [4B 80 00], check_sum: 6C
2023-04-25 15:13:40,840 INFO: Parser eventParser: event name: APP_EVENT_ACK
2023-04-25 15:13:40,841 INFO: Parser eventParser: event_id: [4B 80]
2023-04-25 15:13:40,843 INFO: Parser eventParser: status: [00]
2023-04-25 15:13:40,844 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 03 00 08 81 00 70
2023-04-25 15:13:40,845 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 3,opcode: 8108,params: [00], check_sum: 70
2023-04-25 15:13:40,846 INFO: Parser eventParser: event name: EVENT_XM_LE_ADV_CREATED
2023-04-25 15:13:40,847 INFO: Parser eventParser: handle: [00]
2023-04-25 15:13:40,853 INFO: Packet sendPacket: <<<send packet: AA 02 05 00 00 00 08 81 00 70
le advstart
2023-04-25 16:57:57,670 INFO: input command: le advstart
2023-04-25 16:57:57,671 INFO: Parser cmdParser: cmd opcode: 8040 param: [00 78 00] name: CMD_XM_LE_START_ADVERTISING
2023-04-25 16:57:57,672 INFO: Packet sendPacket: <<<send packet: AA 1B 05 00 40 80 00 78 00 E7
2023-04-25 16:57:57,684 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0E 05 00 40 80 00 01 00 6B
2023-04-25 16:57:57,685 INFO: Parser eventParser: syncWord: AA,seqn: 0E,len: 5,opcode: 8040,params: [00 01 00], check_sum: 6B
2023-04-25 16:57:57,686 INFO: Parser eventParser: event name: EVENT_XM_LE_ADV_STATE
2023-04-25 16:57:57,686 INFO: Parser eventParser: adv_state: [00]
2023-04-25 16:57:57,687 INFO: Parser eventParser: stop_cause: [01]
2023-04-25 16:57:57,687 INFO: Packet sendPacket: <<<send packet: AA 1C 05 00 00 00 40 80 00 5E
2023-04-25 16:57:57,700 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0F 05 00 00 00 40 80 00 6B
2023-04-25 16:57:57,701 INFO: Parser eventParser: syncWord: AA,seqn: 0F,len: 5,opcode: 0000,params: [40 80 00], check_sum: 6B
2023-04-25 16:57:57,702 INFO: Parser eventParser: event name: APP_EVENT_ACK
2023-04-25 16:57:57,703 INFO: Parser eventParser: event_id: [40 80]
2023-04-25 16:57:57,703 INFO: Parser eventParser: status: [00]
ACI Host CLI Test: Connection Establishment
If a Central device (Such as a mobile phone) establishes a connection with the ACI Device (Operating as a Peripheral), or if the ACI Device (Operating as a Central) establishes a connection with a Peripheral device (Such as a headphone), the ACI Device will report the APP_EVENT_LE_CONNECTED
.

BLE Connection Establishment
2023-04-25 16:58:35,969 INFO: AciHostCLI continuously_read: >>>receive packet: AA 10 05 00 40 80 00 00 02 68
2023-04-25 16:58:35,969 INFO: Parser eventParser: syncWord: AA,seqn: 10,len: 5,opcode: 8100,params: [00 00 02], check_sum: 68
2023-04-25 16:58:35,970 INFO: Parser eventParser: event name: EVENT_XM_LE_ADV_STATE
2023-04-25 16:58:35,970 INFO: Parser eventParser: adv_state: [00]
2023-04-25 16:58:35,971 INFO: Parser eventParser: stop_cause: [00]
2023-04-25 16:58:35,971 INFO: Packet sendPacket: <<<send packet: AA 1D 05 00 00 00 00 81 00 5D
2023-04-25 16:58:35,985 INFO: AciHostCLI continuously_read: >>>receive packet: AA 11 03 00 00 01 00 EB
2023-04-25 16:58:35,985 INFO: Parser eventParser: syncWord: AA,seqn: 11,len: 3,opcode: 0100,params: [00], check_sum: EB
2023-04-25 16:58:35,986 INFO: Parser eventParser: event name: APP_EVENT_LE_CONNECTED
2023-04-25 16:58:35,986 INFO: Parser eventParser: link_id: [00]
2023-04-25 16:58:35,987 INFO: Packet sendPacket: <<<send packet: AA 1E 05 00 00 00 00 01 00 DC
2023-04-25 16:58:36,001 INFO: AciHostCLI continuously_read: >>>receive packet: AA 12 14 00 03 81 02 00 0D 00 02 01 D3 27 0A 2B 27 53 24 00 00 00 F4 01 82
2023-04-25 16:58:36,002 INFO: Parser eventParser: syncWord: AA,seqn: 12,len: 20,opcode: 8103,params: [02 00 0D 00 02 01 D3 27 0A 2B 27 53 24 00 00 00 F4 01], check_sum: 82
2023-04-25 16:58:36,002 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_STATE
2023-04-25 16:58:36,002 INFO: Parser eventParser: link_state: [02]
2023-04-25 16:58:36,003 INFO: Parser eventParser: app_link_id: [00]
2023-04-25 16:58:36,003 INFO: Parser eventParser: conn_handle: [0D 00]
2023-04-25 16:58:36,004 INFO: Parser eventParser: role: [02]
2023-04-25 16:58:36,577 INFO: AciHostCLI continuously_read: >>>receive packet: AA 14 0A 00 04 81 00 00 06 00 00 00 F4 01 62
2023-04-25 16:58:36,578 INFO: Parser eventParser: syncWord: AA,seqn: 14,len: 10,opcode: 8104,params: [00 00 06 00 00 00 F4 01], check_sum: 62
2023-04-25 16:58:36,579 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM
2023-04-25 16:58:36,579 INFO: Parser eventParser: app_link_id: [00]
2023-04-25 16:58:36,580 INFO: Parser eventParser: res: [00]
2023-04-25 16:58:36,580 INFO: Parser eventParser: connInterval: [06 00]
2023-04-25 16:58:36,581 INFO: Parser eventParser: connLatency: [00 00]
2023-04-25 16:58:36,581 INFO: Parser eventParser: supTimeout: [F4 01]
2023-04-25 16:58:36,581 INFO: Packet sendPacket: <<<send packet: AA 21 05 00 00 00 04 81 00 55
2023-04-25 16:58:36,880 INFO: AciHostCLI continuously_read: >>>receive packet: AA 15 0A 00 04 81 00 00 24 00 00 00 F4 01 43
2023-04-25 16:58:36,881 INFO: Parser eventParser: syncWord: AA,seqn: 15,len: 10,opcode: 8104,params: [00 00 24 00 00 00 F4 01], check_sum: 43
2023-04-25 16:58:36,882 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM
2023-04-25 16:58:36,882 INFO: Parser eventParser: app_link_id: [00]
2023-04-25 16:58:36,883 INFO: Parser eventParser: res: [00]
2023-04-25 16:58:36,883 INFO: Parser eventParser: connInterval: [24 00]
2023-04-25 16:58:36,883 INFO: Parser eventParser: connLatency: [00 00]
2023-04-25 16:58:36,884 INFO: Parser eventParser: supTimeout: [F4 01]
2023-04-25 16:58:36,885 INFO: Packet sendPacket: <<<send packet: AA 22 05 00 00 00 04 81 00 54
ACI Host CLI Test: Data Transfer
Phone should subscript notification with UUID 0xFD04. If pairing needed (EVENT_XM_LE_USER_CONFIRMATION_REQ
), input lecfm t to confirm the pairing authorization.

BLE Data Transfer
lecfm t
2023-04-25 17:15:25,084 INFO: input command: lecfm t
2023-04-25 17:15:25,085 INFO: Parser cmdParser: cmd opcode: 8049 param: [00 01] name: CMD_XM_LE_USER_CFM_REQ
2023-04-25 17:15:25,086 INFO: Packet sendPacket: <<<send packet: AA 13 04 00 49 80 00 01 5E
2023-04-25 17:15:25,091 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0F 05 00 00 00 49 80 00 62
2023-04-25 17:15:25,093 INFO: Parser eventParser: syncWord: AA,seqn: 0F,len: 5,opcode: 0000,params: [49 80 00], check_sum: 62
2023-04-25 17:15:25,096 INFO: Parser eventParser: event name: APP_EVENT_ACK
2023-04-25 17:15:25,097 INFO: Parser eventParser: event_id: [49 80]
2023-04-25 17:15:25,097 INFO: Parser eventParser: status: [00]
2023-04-25 17:15:28,494 INFO: AciHostCLI continuously_read: >>>receive packet: AA 10 0B 00 02 01 00 00 00 22 75 9A C6 3D 50 5E
2023-04-25 17:15:28,495 INFO: Parser eventParser: syncWord: AA,seqn: 10,len: 11,opcode: 0102,params: [00 00 00 22 75 9A C6 3D 50], check_sum: 5E
2023-04-25 17:15:28,496 INFO: Parser eventParser: event name: APP_EVENT_LE_PAIR_STATUS
2023-04-25 17:15:28,496 INFO: Parser eventParser: link_id: [00]
2023-04-25 17:15:28,497 INFO: Parser eventParser: cause: [00 00]
2023-04-25 17:15:28,497 INFO: Parser eventParser: resolved_addr: [22 75 9A C6 3D 50]
2023-04-25 17:15:28,498 INFO: Packet sendPacket: <<<send packet: AA 14 05 00 00 00 02 01 00 E4
2023-04-25 17:15:29,070 INFO: AciHostCLI continuously_read: >>>receive packet: AA 11 0B 00 06 30 0D 00 04 00 00 02 00 02 00 99
2023-04-25 17:15:29,071 INFO: Parser eventParser: syncWord: AA,seqn: 11,len: 11,opcode: 3006,params: [0D 00 04 00 00 02 00 02 00], check_sum: 99
2023-04-25 17:15:29,072 INFO: Packet sendPacket: <<<send packet: AA 15 05 00 00 00 06 30 00 B0
Then le send1 can send data 0x01 0x34 0x56
.
le send1
2023-04-25 17:05:50,644 INFO: input command: le send1
2023-04-25 17:05:50,645 INFO: Parser cmdParser: cmd opcode: 0102 param: [00 00 03 00 03 00 01 34 56] name: CMD_LE_DATA_TRANSFER
2023-04-25 17:05:50,646 INFO: Packet sendPacket: <<<send packet: AA 31 0B 00 02 01 00 00 03 00 03 00 01 34 56 30
2023-04-25 17:05:50,659 INFO: AciHostCLI continuously_read: >>>receive packet: AA 24 05 00 00 00 02 01 00 D4
2023-04-25 17:05:50,660 INFO: Parser eventParser: syncWord: AA,seqn: 24,len: 5,opcode: 0000,params: [02 01 00], check_sum: D4
2023-04-25 17:05:50,660 INFO: Parser eventParser: event name: APP_EVENT_ACK
2023-04-25 17:05:50,661 INFO: Parser eventParser: event_id: [02 01]
2023-04-25 17:05:50,661 INFO: Parser eventParser: status: [00]
ACI Host CLI Test: Scan Devices
The ACI Device currently supports two scan commands: CMD_LE_START_SCAN
and CMD_LEA_SCAN
. These are used to scan all LE devices and devices that support LE Audio respectively. This chapter introduces the CMD_LE_START_SCAN
command. For information on the CMD_LEA_SCAN
command, please refer to chapter Initiator General ACI Host CLI Test. Please note, after scanning the devices, both commands report information through the EVENT_LE_AUDIO_SCAN_INFO
event.

BLE Scan Device
2024-05-20 10:34:10,712 INFO: input command: le start_scan
2024-05-20 10:34:10,713 INFO: Parser cmdParser: cmd opcode: 0103 param: [00 01 00 01 01 90 01 C8 00 01 90 01 C8 00] name: CMD_LE_START_SCAN
2024-05-20 10:34:10,713 INFO: Packet sendPacket: <<<send packet: AA 0A 10 00 03 01 00 01 00 01 01 90 01 C8 00 01 90 01 C8 00 2C
2024-05-20 10:34:10,793 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 03 01 00 F4
2024-05-20 10:34:10,793 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [03 01 00], check_sum: F4
2024-05-20 10:34:10,794 INFO: Parser eventParser: event name: APP_EVENT_ACK
2024-05-20 10:34:10,794 INFO: Parser eventParser: event_id: [03 01]
2024-05-20 10:34:10,796 INFO: Parser eventParser: status: [00]
2024-05-20 10:34:10,825 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 34 00 40 01 13 00 01 0A B2 8E 26 D5 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2024-05-20 10:34:10,826 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 52,opcode: 0140,params: [13 00 01 0A B2 8E 26 D5 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00], check_sum: C6
2024-05-20 10:34:10,827 INFO: Parser eventParser: event name: APP_EVENT_LE_AUDIO_SCAN_INFO
2024-05-20 10:34:10,828 INFO: Parser eventParser: event_type: [13 00]
2024-05-20 10:34:10,828 INFO: Parser eventParser: addr_type: [01]
2024-05-20 10:34:10,829 INFO: Parser eventParser: addr: [0A B2 8E 26 D5 68]
2024-05-20 10:34:10,830 INFO: Parser eventParser: name_len: [00]
2024-05-20 10:34:10,830 INFO: Parser eventParser: name: [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
2024-05-20 10:34:10,831 INFO: Parser eventParser: name:
2024-05-20 10:34:10,831 INFO: Packet sendPacket: <<<send packet: AA 0B 05 00 00 00 40 01 00 AF
2024-05-20 10:34:10,841 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 34 00 40 01 10 00 01 10 EF E9 32 1D C9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2024-05-20 10:34:10,842 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 52,opcode: 0140,params: [10 00 01 10 EF E9 32 1D C9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00], check_sum: 75
2024-05-20 10:34:10,843 INFO: Parser eventParser: event name: APP_EVENT_LE_AUDIO_SCAN_INFO
2024-05-20 10:34:10,843 INFO: Parser eventParser: event_type: [10 00]
2024-05-20 10:34:10,844 INFO: Parser eventParser: addr_type: [01]
2024-05-20 10:34:10,847 INFO: Parser eventParser: addr: [10 EF E9 32 1D C9]
2024-05-20 10:34:10,848 INFO: Parser eventParser: name_len: [00]
2024-05-20 10:34:10,849 INFO: Parser eventParser: name: [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
2024-05-20 10:34:10,849 INFO: Parser eventParser: name:
2024-05-20 10:34:10,851 INFO: Packet sendPacket: <<<send packet: AA 0C 05 00 00 00 40 01 00 AE
2024-05-20 10:34:10,857 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 34 00 40 01 10 00 01 01 53 93 7A F1 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2024-05-20 10:34:10,857 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 52,opcode: 0140,params: [10 00 01 01 53 93 7A F1 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00], check_sum: 1E
2024-05-20 10:34:10,858 INFO: Parser eventParser: event name: APP_EVENT_LE_AUDIO_SCAN_INFO
2024-05-20 10:34:10,859 INFO: Parser eventParser: event_type: [10 00]
2024-05-20 10:34:10,860 INFO: Parser eventParser: addr_type: [01]
2024-05-20 10:34:10,860 INFO: Parser eventParser: addr: [01 53 93 7A F1 04]
2024-05-20 10:34:10,861 INFO: Parser eventParser: name_len: [00]
2024-05-20 10:34:10,861 INFO: Parser eventParser: name: [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
2024-05-20 10:34:10,862 INFO: Parser eventParser: name:
2024-05-20 10:34:10,862 INFO: Packet sendPacket: <<<send packet: AA 0D 05 00 00 00 40 01 00 AD
2024-05-20 10:34:10,873 INFO: AciHostCLI continuously_read: >>>receive packet: AA 07 34 00 40 01 10 00 01 1F 86 5A 27 51 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2024-05-20 10:34:10,874 INFO: Parser eventParser: syncWord: AA,seqn: 07,len: 52,opcode: 0140,params: [10 00 01 1F 86 5A 27 51 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00], check_sum: C8
2024-05-20 10:34:10,874 INFO: Parser eventParser: event name: APP_EVENT_LE_AUDIO_SCAN_INFO
2024-05-20 10:34:10,875 INFO: Parser eventParser: event_type: [10 00]
2024-05-20 10:34:10,876 INFO: Parser eventParser: addr_type: [01]
2024-05-20 10:34:10,876 INFO: Parser eventParser: addr: [1F 86 5A 27 51 34]
2024-05-20 10:34:10,877 INFO: Parser eventParser: name_len: [00]
2024-05-20 10:34:10,877 INFO: Parser eventParser: name: [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
2024-05-20 10:34:10,878 INFO: Parser eventParser: name:
2024-05-20 10:34:10,879 INFO: Packet sendPacket: <<<send packet: AA 0E 05 00 00 00 40 01 00 AC
2024-05-20 10:34:10,889 INFO: AciHostCLI continuously_read: >>>receive packet: AA 08 34 00 40 01 01 00 00 01 23 15 DD AA DD 0F 38 37 37 33 45 53 4C 5F 64 61 6E 6E 69 5F 52 00
2024-05-20 10:34:10,890 INFO: Parser eventParser: syncWord: AA,seqn: 08,len: 52,opcode: 0140,params: [01 00 00 01 23 15 DD AA DD 0F 38 37 37 33 45 53 4C 5F 64 61 6E 6E 69 5F 52 00 00 00 00 00 00 00], check_sum: FF
2024-05-20 10:34:10,890 INFO: Parser eventParser: event name: APP_EVENT_LE_AUDIO_SCAN_INFO
2024-05-20 10:34:10,891 INFO: Parser eventParser: event_type: [01 00]
2024-05-20 10:34:10,892 INFO: Parser eventParser: addr_type: [00]
2024-05-20 10:34:10,893 INFO: Parser eventParser: addr: [01 23 15 DD AA DD]
2024-05-20 10:34:10,894 INFO: Parser eventParser: name_len: [0F]
2024-05-20 10:34:10,895 INFO: Parser eventParser: name: [38 37 37 33 45 53 4C 5F 64 61 6E 6E 69 5F 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
2024-05-20 10:34:10,895 INFO: Parser eventParser: name: 8773ESL_danni_R
ACI Host CLI Test: Initiate Connection
By entering the le conn_idx command, it is possible to list all scanned devices on the ACI Host CLI Tool. After entering the index of the device to connect with, the ACI Device will initiate a connection with that device, as well as automatically pair and discover services. The initiation of a connection is actually triggered through the CMD_LE_CREATE_CONN
command.

BLE Initiate Connection
2024-05-20 10:34:22,119 INFO: input command: le conn_idx
2024-05-20 10:34:22,119 INFO: Parser cmdParser: device index: 0 addr_type 1 bd_addr: 0A B2 8E 26 D5 68 , name:
2024-05-20 10:34:22,120 INFO: Parser cmdParser: device index: 1 addr_type 1 bd_addr: 10 EF E9 32 1D C9 , name:
2024-05-20 10:34:22,120 INFO: Parser cmdParser: device index: 2 addr_type 1 bd_addr: 01 53 93 7A F1 04 , name:
2024-05-20 10:34:22,121 INFO: Parser cmdParser: device index: 3 addr_type 1 bd_addr: 1F 86 5A 27 51 34 , name:
2024-05-20 10:34:22,122 INFO: Parser cmdParser: device index: 4 addr_type 0 bd_addr: 01 23 15 DD AA DD , name: 8773ESL_danni_R
2024-05-20 10:34:43,692 INFO: Parser cmdParser: input dev_index: 4
2024-05-20 10:34:43,693 INFO: Parser cmdParser: cmd opcode: 010E param: [03 00 01 23 15 DD AA DD 00 E8 03] name: CMD_LE_CREATE_CONN
2024-05-20 10:34:43,694 INFO: Packet sendPacket: <<<send packet: AA AB 0D 00 0E 01 03 00 01 23 15 DD AA DD 00 E8 03 AE
2024-05-20 10:34:44,109 INFO: AciHostCLI continuously_read: >>>receive packet: AA D4 05 00 00 00 0E 01 00 18
2024-05-20 10:34:44,110 INFO: Parser eventParser: syncWord: AA,seqn: D4,len: 5,opcode: 0000,params: [0E 01 00], check_sum: 18
2024-05-20 10:34:44,110 INFO: Parser eventParser: event name: APP_EVENT_ACK
2024-05-20 10:34:44,111 INFO: Parser eventParser: event_id: [0E 01]
2024-05-20 10:34:44,111 INFO: Parser eventParser: status: [00]
2024-05-20 10:34:44,125 INFO: AciHostCLI continuously_read: >>>receive packet: AA D5 05 00 07 01 00 02 02 1A
2024-05-20 10:34:44,128 INFO: Parser eventParser: syncWord: AA,seqn: D5,len: 5,opcode: 0107,params: [00 02 02], check_sum: 1A
2024-05-20 10:34:44,131 INFO: Parser eventParser: event name: EVENT_LE_PHY_UPD
2024-05-20 10:34:44,134 INFO: Parser eventParser: app_link_id: [00]
2024-05-20 10:34:44,135 INFO: Parser eventParser: tx_phy: [02]
2024-05-20 10:34:44,135 INFO: Parser eventParser: rx_phy: [02]
2024-05-20 10:34:44,136 INFO: Packet sendPacket: <<<send packet: AA AC 05 00 00 00 07 01 00 47
2024-05-20 10:34:44,141 INFO: AciHostCLI continuously_read: >>>receive packet: AA D6 03 00 00 01 00 26
2024-05-20 10:34:44,144 INFO: Parser eventParser: syncWord: AA,seqn: D6,len: 3,opcode: 0100,params: [00], check_sum: 26
2024-05-20 10:34:44,145 INFO: Parser eventParser: event name: APP_EVENT_LE_CONNECTED
2024-05-20 10:34:44,146 INFO: Parser eventParser: link_id: [00]
2024-05-20 10:34:44,146 INFO: Packet sendPacket: <<<send packet: AA AD 05 00 00 00 00 01 00 4D
2024-05-20 10:34:44,157 INFO: AciHostCLI continuously_read: >>>receive packet: AA D7 14 00 43 80 02 00 05 00 01 00 01 23 15 DD AA DD 18 00 00 00 F4 01 A0
2024-05-20 10:34:44,159 INFO: Parser eventParser: syncWord: AA,seqn: D7,len: 20,opcode: 8043,params: [02 00 05 00 01 00 01 23 15 DD AA DD 18 00 00 00 F4 01], check_sum: A0
2024-05-20 10:34:44,161 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_STATE
2024-05-20 10:34:44,162 INFO: Parser eventParser: link_state: [02]
2024-05-20 10:34:44,163 INFO: Parser eventParser: app_link_id: [00]
2024-05-20 10:34:44,166 INFO: Parser eventParser: conn_handle: [05 00]
2024-05-20 10:34:44,167 INFO: Parser eventParser: role: [01]
2024-05-20 10:34:44,167 INFO: Parser eventParser: remote addr type: [00]
2024-05-20 10:34:44,168 INFO: Parser eventParser: remote addr: [01 23 15 DD AA DD]
2024-05-20 10:34:44,168 INFO: Parser eventParser: connInterval: [18 00]
2024-05-20 10:34:44,170 INFO: Parser eventParser: connLatency: [00 00]
2024-05-20 10:34:44,171 INFO: Parser eventParser: supTimeout: [F4 01]
2024-05-20 10:34:44,174 INFO: Packet sendPacket: <<<send packet: AA AE 05 00 00 00 43 80 00 8A
2024-05-20 10:34:44,189 INFO: AciHostCLI continuously_read: >>>receive packet: AA D8 05 00 41 80 00 F4 00 6E
2024-05-20 10:34:44,191 INFO: Parser eventParser: syncWord: AA,seqn: D8,len: 5,opcode: 8041,params: [00 F4 00], check_sum: 6E
2024-05-20 10:34:44,194 INFO: Parser eventParser: event name: EVENT_XM_LE_MTU
2024-05-20 10:34:44,196 INFO: Parser eventParser: mtu_size: [00 F4]
2024-05-20 10:34:44,200 INFO: Packet sendPacket: <<<send packet: AA AF 05 00 00 00 41 80 00 8B
2024-05-20 10:34:44,237 INFO: AciHostCLI continuously_read: >>>receive packet: AA D9 0B 00 06 01 00 FB 00 28 04 FB 00 28 04 C7
2024-05-20 10:34:44,238 INFO: Parser eventParser: syncWord: AA,seqn: D9,len: 11,opcode: 0106,params: [00 FB 00 28 04 FB 00 28 04], check_sum: C7
2024-05-20 10:34:44,244 INFO: Parser eventParser: event name: EVENT_LE_SET_DATA_LEN
2024-05-20 10:34:44,245 INFO: Parser eventParser: app_link_id: [00]
2024-05-20 10:34:44,246 INFO: Parser eventParser: max_tx_octets: [FB 00]
2024-05-20 10:34:44,246 INFO: Parser eventParser: max_tx_time: [28 04]
2024-05-20 10:34:44,247 INFO: Parser eventParser: max_rx_octets: [FB 00]
2024-05-20 10:34:44,248 INFO: Parser eventParser: max_rx_time: [28 04]
2024-05-20 10:34:44,249 INFO: Packet sendPacket: <<<send packet: AA B0 05 00 00 00 06 01 00 44
2024-05-20 10:34:44,540 INFO: AciHostCLI continuously_read: >>>receive packet: AA DA 0A 00 44 80 00 00 18 00 0F 00 F4 01 3C
2024-05-20 10:34:44,541 INFO: Parser eventParser: syncWord: AA,seqn: DA,len: 10,opcode: 8044,params: [00 00 18 00 0F 00 F4 01], check_sum: 3C
2024-05-20 10:34:44,543 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM
2024-05-20 10:34:44,548 INFO: Parser eventParser: app_link_id: [00]
2024-05-20 10:34:44,549 INFO: Parser eventParser: res: [00]
2024-05-20 10:34:44,550 INFO: Parser eventParser: connInterval: [18 00]
2024-05-20 10:34:44,550 INFO: Parser eventParser: connLatency: [0F 00]
2024-05-20 10:34:44,551 INFO: Parser eventParser: supTimeout: [F4 01]
2024-05-20 10:34:44,552 INFO: Packet sendPacket: <<<send packet: AA B1 05 00 00 00 44 80 00 86
2024-05-20 10:34:45,690 INFO: AciHostCLI continuously_read: >>>receive packet: AA DB 0B 00 02 01 00 00 00 01 23 15 DD AA DD 7A
2024-05-20 10:34:45,691 INFO: Parser eventParser: syncWord: AA,seqn: DB,len: 11,opcode: 0102,params: [00 00 00 01 23 15 DD AA DD], check_sum: 7A
2024-05-20 10:34:45,693 INFO: Parser eventParser: event name: APP_EVENT_LE_PAIR_STATUS
2024-05-20 10:34:45,696 INFO: Parser eventParser: link_id: [00]
2024-05-20 10:34:45,697 INFO: Parser eventParser: cause: [00 00]
2024-05-20 10:34:45,698 INFO: Parser eventParser: resolved_addr: [01 23 15 DD AA DD]
2024-05-20 10:34:45,698 INFO: Packet sendPacket: <<<send packet: AA B2 05 00 00 00 02 01 00 46
2024-05-20 10:34:46,473 INFO: AciHostCLI continuously_read: >>>receive packet: AA DC 0A 00 44 80 00 00 06 00 00 00 F4 01 5B
2024-05-20 10:34:46,475 INFO: Parser eventParser: syncWord: AA,seqn: DC,len: 10,opcode: 8044,params: [00 00 06 00 00 00 F4 01], check_sum: 5B
2024-05-20 10:34:46,476 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM
2024-05-20 10:34:46,480 INFO: Parser eventParser: app_link_id: [00]
2024-05-20 10:34:46,481 INFO: Parser eventParser: res: [00]
2024-05-20 10:34:46,482 INFO: Parser eventParser: connInterval: [06 00]
2024-05-20 10:34:46,484 INFO: Parser eventParser: connLatency: [00 00]
2024-05-20 10:34:46,484 INFO: Parser eventParser: supTimeout: [F4 01]
2024-05-20 10:34:46,485 INFO: Packet sendPacket: <<<send packet: AA B3 05 00 00 00 44 80 00 84
2024-05-20 10:34:46,888 INFO: AciHostCLI continuously_read: >>>receive packet: AA DD 04 00 10 01 00 00 0E
2024-05-20 10:34:46,889 INFO: Parser eventParser: syncWord: AA,seqn: DD,len: 4,opcode: 0110,params: [00 00], check_sum: 0E
2024-05-20 10:34:46,891 INFO: Parser eventParser: event name: EVENT_ANCS_REGISTER_COMPLETE
2024-05-20 10:34:46,895 INFO: Parser eventParser: app_link_id: [00]
2024-05-20 10:34:46,895 INFO: Parser eventParser: result: [00]
2024-05-20 10:34:46,896 INFO: Packet sendPacket: <<<send packet: AA B4 05 00 00 00 10 01 00 36
2024-05-20 10:34:47,000 INFO: AciHostCLI continuously_read: >>>receive packet: AA DE 0A 00 44 80 00 00 18 00 00 00 F4 01 47
2024-05-20 10:34:47,001 INFO: Parser eventParser: syncWord: AA,seqn: DE,len: 10,opcode: 8044,params: [00 00 18 00 00 00 F4 01], check_sum: 47
2024-05-20 10:34:47,002 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM
2024-05-20 10:34:47,006 INFO: Parser eventParser: app_link_id: [00]
2024-05-20 10:34:47,006 INFO: Parser eventParser: res: [00]
2024-05-20 10:34:47,007 INFO: Parser eventParser: connInterval: [18 00]
2024-05-20 10:34:47,007 INFO: Parser eventParser: connLatency: [00 00]
2024-05-20 10:34:47,009 INFO: Parser eventParser: supTimeout: [F4 01]
2024-05-20 10:34:47,010 INFO: Packet sendPacket: <<<send packet: AA B5 05 00 00 00 44 80 00 82
ACI Host CLI Test: Operate White List
Using the white list, the ACI Device can only receive broadcasts from devices in the white list, or only establish connections with devices in the white list. The CMD_LE_MODIFY_WHITELIST
command allows adding or removing specific devices to and from the white list, and to clear the white list. The CMD_LE_MODIFY_WHITELIST_BY_IDX
command allows adding the device with the specified index in the bond list to the white list, or removing it from the white list.
Note
These commands shall not be used when: Any advertising filter policy uses the white list and advertising is enabled, the scanning filter policy uses the white list and scanning is enabled, or the initiator filter policy uses the white list and an HCI_LE_Create_Connection
or HCI_LE_Extended_Create_Connection
command is outstanding.

BLE White List
2024-05-20 10:37:01,539 INFO: input command: whitelist_id add_idx0
2024-05-20 10:37:01,539 INFO: Parser cmdParser: cmd opcode: 0162 param: [01 00] name: CMD_LE_MODIFY_WIHITLIST_BY_IDX
2024-05-20 10:37:01,540 INFO: Packet sendPacket: <<<send packet: AA 01 04 00 62 01 01 00 97
2024-05-20 10:37:01,561 INFO: AciHostCLI continuously_read: >>>receive packet: AA E6 05 00 00 00 62 01 00 B2
2024-05-20 10:37:01,563 INFO: Parser eventParser: syncWord: AA,seqn: E6,len: 5,opcode: 0000,params: [62 01 00], check_sum: B2
2024-05-20 10:37:01,564 INFO: Parser eventParser: event name: APP_EVENT_ACK
2024-05-20 10:37:01,564 INFO: Parser eventParser: event_id: [62 01]
2024-05-20 10:37:01,565 INFO: Parser eventParser: status: [00]
2024-05-20 10:37:09,630 INFO: input command: whitelist_id rmv_idx0
2024-05-20 10:37:09,631 INFO: Parser cmdParser: cmd opcode: 0162 param: [02 00] name: CMD_LE_MODIFY_WIHITLIST_BY_IDX
2024-05-20 10:37:09,632 INFO: Packet sendPacket: <<<send packet: AA 02 04 00 62 01 02 00 95
2024-05-20 10:37:09,711 WARNING: AciHostCLI retrans: retransmit command whitelist_id rmv_idx0 due to ack timeout! retry: 1
2024-05-20 10:37:09,712 INFO: Packet sendPacket: <<<send packet: AA 02 04 00 62 01 02 00 95
2024-05-20 10:37:09,723 INFO: AciHostCLI continuously_read: >>>receive packet: AA E7 05 00 00 00 62 01 00 B1
2024-05-20 10:37:09,724 INFO: Parser eventParser: syncWord: AA,seqn: E7,len: 5,opcode: 0000,params: [62 01 00], check_sum: B1
2024-05-20 10:37:09,725 INFO: Parser eventParser: event name: APP_EVENT_ACK
2024-05-20 10:37:09,725 INFO: Parser eventParser: event_id: [62 01]
2024-05-20 10:37:09,726 INFO: Parser eventParser: status: [00]
ACI Host CLI Test: Operate Resolving List
Similar to the white list, if the device needs to use the link layer privacy mechanism, a resolving list needs to be stored on the Controller. Using CMD_LE_MODIFY_RESOLVELIST_BY_IDX
, device with specified index in the bond list can be added to or removed from the resolving list, and the entire resolving list can be cleared.
To enable/disable resolution of resolvable private addresses in the Controller, please use the command CMD_LE_SET_RESOLUTION
.
Note
These commands shall not be used when:
Advertising (Other than periodic advertising) is enabled.
Scanning is enabled.
HCI_LE_Create_Connection
,HCI_LE_Extended_Create_Connection
, orHCI_LE_Periodic_Advertising_Create_Sync
command is outstanding.

BLE Resolving List
2024-05-20 14:02:09,954 INFO: input command: resolvlist_id add_idx0
2024-05-20 14:02:09,955 INFO: Parser cmdParser: cmd opcode: 0163 param: [01 00] name: CMD_LE_MODIFY_RESOLVELIST_BY_IDX
2024-05-20 14:02:09,956 INFO: Packet sendPacket: <<<send packet: AA 01 04 00 63 01 01 00 96
2024-05-20 14:02:10,028 WARNING: AciHostCLI retrans: retransmit command resolvlist_id add_idx0 due to ack timeout! retry: 1
2024-05-20 14:02:10,029 INFO: Packet sendPacket: <<<send packet: AA 01 04 00 63 01 01 00 96
2024-05-20 14:02:10,042 INFO: AciHostCLI continuously_read: >>>receive packet: AA EC 05 00 00 00 63 01 00 AB
2024-05-20 14:02:10,043 INFO: Parser eventParser: syncWord: AA,seqn: EC,len: 5,opcode: 0000,params: [63 01 00], check_sum: AB
2024-05-20 14:02:10,043 INFO: Parser eventParser: event name: APP_EVENT_ACK
2024-05-20 14:02:10,044 INFO: Parser eventParser: event_id: [63 01]
2024-05-20 14:02:10,044 INFO: Parser eventParser: status: [00]
2024-05-20 14:02:18,897 INFO: input command: le_resolution enable
2024-05-20 14:02:18,897 INFO: Parser cmdParser: cmd opcode: 0164 param: [01] name: CMD_LE_SET_RESOLUTION
2024-05-20 14:02:18,898 INFO: Packet sendPacket: <<<send packet: AA 02 03 00 64 01 01 95
2024-05-20 14:02:18,973 WARNING: AciHostCLI retrans: retransmit command le_resolution enable due to ack timeout! retry: 1
2024-05-20 14:02:18,974 INFO: Packet sendPacket: <<<send packet: AA 02 03 00 64 01 01 95
2024-05-20 14:02:18,987 INFO: AciHostCLI continuously_read: >>>receive packet: AA ED 05 00 00 00 64 01 00 A9
2024-05-20 14:02:18,987 INFO: Parser eventParser: syncWord: AA,seqn: ED,len: 5,opcode: 0000,params: [64 01 00], check_sum: A9
2024-05-20 14:02:18,988 INFO: Parser eventParser: event name: APP_EVENT_ACK
2024-05-20 14:02:18,988 INFO: Parser eventParser: event_id: [64 01]
2024-05-20 14:02:18,989 INFO: Parser eventParser: status: [00]
2024-05-20 14:02:22,360 INFO: input command: le_resolution disable
2024-05-20 14:02:22,361 INFO: Parser cmdParser: cmd opcode: 0164 param: [00] name: CMD_LE_SET_RESOLUTION
2024-05-20 14:02:22,362 INFO: Packet sendPacket: <<<send packet: AA 03 03 00 64 01 00 95
2024-05-20 14:02:22,433 WARNING: AciHostCLI retrans: retransmit command le_resolution disable due to ack timeout! retry: 1
2024-05-20 14:02:22,434 INFO: Packet sendPacket: <<<send packet: AA 03 03 00 64 01 00 95
2024-05-20 14:02:22,453 INFO: AciHostCLI continuously_read: >>>receive packet: AA EE 05 00 00 00 64 01 00 A8
2024-05-20 14:02:22,454 INFO: Parser eventParser: syncWord: AA,seqn: EE,len: 5,opcode: 0000,params: [64 01 00], check_sum: A8
2024-05-20 14:02:22,454 INFO: Parser eventParser: event name: APP_EVENT_ACK
2024-05-20 14:02:22,455 INFO: Parser eventParser: event_id: [64 01]
2024-05-20 14:02:22,455 INFO: Parser eventParser: status: [00]
2024-05-20 14:02:30,731 INFO: input command: resolvlist_id rmv_idx0
2024-05-20 14:02:30,732 INFO: Parser cmdParser: cmd opcode: 0163 param: [02 00] name: CMD_LE_MODIFY_RESOLVELIST_BY_IDX
2024-05-20 14:02:30,733 INFO: Packet sendPacket: <<<send packet: AA 04 04 00 63 01 02 00 92
2024-05-20 14:02:30,806 WARNING: AciHostCLI retrans: retransmit command resolvlist_id rmv_idx0 due to ack timeout! retry: 1
2024-05-20 14:02:30,807 INFO: Packet sendPacket: <<<send packet: AA 04 04 00 63 01 02 00 92
2024-05-20 14:02:30,824 INFO: AciHostCLI continuously_read: >>>receive packet: AA EF 05 00 00 00 63 01 00 A8
2024-05-20 14:02:30,824 INFO: Parser eventParser: syncWord: AA,seqn: EF,len: 5,opcode: 0000,params: [63 01 00], check_sum: A8
2024-05-20 14:02:30,825 INFO: Parser eventParser: event name: APP_EVENT_ACK
2024-05-20 14:02:30,825 INFO: Parser eventParser: event_id: [63 01]
2024-05-20 14:02:30,825 INFO: Parser eventParser: status: [00]
Record Function
Bluetooth Audio Transceiver application supports the recording of many audio formats such as PCM, mSBC, SBC, and OPUS. Before using, please configure MIC 1 on the EVB and connect an external MIC.

Record Process
ACI Host CLI Test: Record
The ACI Host CLI CMD for recording are rc start and rc stop, and the corresponding UART CMD packet.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_XM_START_RECORD = 0x8082 |
type = AUDIO_FORMAT_TYPE_PCM(0), sample_rate = 0x00003E80, frame_len = 0x0400, chann_num 1, bit_width = 0x10 |
rc start_pcm |
CMD_XM_STOP_RECORD = 0x8503 |
None |
rc stop |
-
ACI Host CLI test: Start recording PCM.
An example of recording PCM is provided here. Please refer to ACI_CMD_XM_START_RECORD for recording more formats.
2023-04-03 17:12:12,558 INFO: input command: rc start_pcm 2023-04-03 17:12:12,559 INFO: Parser cmdParser: cmd opcode: 8082 param: [00 80 3E 00 00 00 04 01 10] name: CMD_XM_START_RECORD 2023-04-03 17:12:12,560 INFO: Packet sendPacket: <<<send packet: AA 01 0B 00 02 85 00 80 3E 00 00 00 04 01 10 9A 2023-04-03 17:12:12,572 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 02 85 00 71 2023-04-03 17:12:12,577 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [02 85 00], check_sum: 71 2023-04-03 17:12:12,578 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-03 17:12:12,579 INFO: Parser eventParser: event_id: [02 85] 2023-04-03 17:12:12,579 INFO: Parser eventParser: status: [00] 2023-04-03 17:12:12,849 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 02 04 02 85 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2023-04-03 17:12:12,850 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 1026,opcode: 8082,params: [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00], check_sum: B1 2023-04-03 17:12:12,850 INFO: Parser eventParser: event name: EVENT_XM_RECORDING_DATA 2023-04-03 17:12:12,878 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 02 04 02 85 FD FF F8 FF F2 FF F3 FF F5 FF F2 FF F2 FF F3 FF EE FF ED FF FE FF 08 00 01 00 2023-04-03 17:12:12,879 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 1026,opcode: 8082,params: [FD FF F8 FF F2 FF F3 FF F5 FF F2 FF F2 FF F3 FF EE FF ED FF FE FF 08 00 01 00 06 00 1B 00 27 00], check_sum: 9E 2023-04-03 17:12:12,880 INFO: Parser eventParser: event name: EVENT_XM_RECORDING_DATA
-
ACI Host CLI test: Stop recording.
2023-04-03 17:12:12,558 INFO: input command: rc stop 2023-04-03 17:14:52,717 INFO: Parser cmdParser: cmd opcode: 8503 param: [] name: CMD_XM_STOP_RECORD 2023-04-03 17:14:52,718 INFO: Packet sendPacket: <<<send packet: AA 02 02 00 03 85 74 2023-04-03 17:14:52,725 INFO: AciHostCLI continuously_read: >>>receive packet: AA BF 05 00 00 00 03 85 00 B4 2023-04-03 17:14:52,730 INFO: Parser eventParser: syncWord: AA,seqn: BF,len: 5,opcode: 0000,params: [03 85 00], check_sum: B4 2023-04-03 17:14:52,731 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-03 17:14:52,732 INFO: Parser eventParser: event_id: [03 85] 2023-04-03 17:14:52,733 INFO: Parser eventParser: status: [00]
LE Audio Function
The current version of Bluetooth Audio Transceiver application includes support for LE Audio functionality. LE Audio typically utilizes BIS or CIS to transmit audio data. In the present version, BIS has been implemented. Please note that the LE Audio module only offers protocol and data pathway. Users need to supply data to the LE Audio module by either the transparent transmission module A2DP Transparent Transmission (BIS Output) or the recording module, enabling the transmission of ISO audio data to external devices.
LE Audio Initiator
Initiator, which is described in CAP specification, always operates in BAP Unicast Client role, BAP Broadcast Source role, BAP Scan Assistant role, or CCP Call Control Server role.
Initiator General ACI Host CLI Test
For CIS, it is necessary to establish an LE link, whereas for BIS, it is not mandatory. This chapter delineates the process of establishing an LE link with devices supporting LE Audio Acceptor.
To scan nearby devices supporting LE Audio, ACI Host sends the CMD_LEA_SCAN
to enable the scan procedure. The current scan results can be displayed by entering the le conn_idx command. If the device expected to be connected is a stereo headset, directly input the serial number of the headset to establish the connection and complete the pairing. If the device to be connected is a pair of RWS BUDS, input the serial number of either the left or right BUD, and Bluetooth Audio Transceiver application will establish connections for both BUDS simultaneously. Upon completion of the LE Audio-related service discovery, Bluetooth Audio Transceiver application will report the EVENT_LE_AUDIO_BAP_DISCOVERY_DONE
event.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_SCAN(0x3023) |
action = start(0x00) |
lea_scan start |
CMD_LEA_SCAN(0x3023) |
action = stop(0x01) |
lea_scan stop |
LE Audio connection process:

LE Audio Connection Process
-
ACI Host CLI test: Start scanning LE Audio devices.
2023-07-17 15:59:35,770 INFO: input command: lea_scan start 2023-07-17 15:59:35,771 INFO: Parser cmdParser: cmd opcode: 3023 param: [00] name: CMD_LEA_SCAN 2023-07-17 15:59:35,771 INFO: Packet sendPacket: <<<send packet: AA 04 03 00 23 30 00 A6 2023-07-17 15:59:35,779 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 23 30 00 A4 2023-07-17 15:59:35,783 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [23 30 00], check_sum: A4 2023-07-17 15:59:35,784 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-17 15:59:35,784 INFO: Parser eventParser: event_id: [23 30] 2023-07-17 15:59:35,786 INFO: Parser eventParser: status: [00] 2023-07-17 15:59:39,470 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 34 00 0B 01 01 00 01 61 6C 0D 97 48 E0 12 38 37 36 33 45 46 4C 5F 35 76 5F 52 28 6D 73 62 2023-07-17 15:59:39,470 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 52,opcode: 010B,params: [01 00 01 61 6C 0D 97 48 E0 12 38 37 36 33 45 46 4C 5F 35 76 5F 52 28 6D 73 62 63 29 00 00 00 00], check_sum: AE 2023-07-17 15:59:39,471 INFO: Parser eventParser: event name: APP_EVENT_LE_AUDIO_SCAN_INFO 2023-07-17 15:59:39,471 INFO: Parser eventParser: event_type: [01 00] 2023-07-17 15:59:39,472 INFO: Parser eventParser: addr_type: [01] 2023-07-17 15:59:39,472 INFO: Parser eventParser: addr: [61 6C 0D 97 48 E0] 2023-07-17 15:59:39,472 INFO: Parser eventParser: name_len: [12] 2023-07-17 15:59:39,473 INFO: Parser eventParser: name: [38 37 36 33 45 46 4C 5F 35 76 5F 52 28 6D 73 62 63 29 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 2023-07-17 15:59:39,473 INFO: Parser eventParser: name: 8763EFL_5v_R(msbc) 2023-07-17 15:59:39,474 INFO: Packet sendPacket: <<<send packet: AA 05 05 00 00 00 0B 01 00 EA 2023-07-17 15:59:39,709 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 34 00 0B 01 01 00 01 A0 DE 13 53 C0 F1 12 38 37 36 33 45 46 4C 5F 35 76 5F 4C 28 6D 73 62 2023-07-17 15:59:39,710 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 52,opcode: 010B,params: [01 00 01 A0 DE 13 53 C0 F1 12 38 37 36 33 45 46 4C 5F 35 76 5F 4C 28 6D 73 62 63 29 00 00 00 00], check_sum: B7 2023-07-17 15:59:39,711 INFO: Parser eventParser: event name: APP_EVENT_LE_AUDIO_SCAN_INFO 2023-07-17 15:59:39,711 INFO: Parser eventParser: event_type: [01 00] 2023-07-17 15:59:39,712 INFO: Parser eventParser: addr_type: [01] 2023-07-17 15:59:39,712 INFO: Parser eventParser: addr: [A0 DE 13 53 C0 F1] 2023-07-17 15:59:39,713 INFO: Parser eventParser: name_len: [12] 2023-07-17 15:59:39,713 INFO: Parser eventParser: name: [38 37 36 33 45 46 4C 5F 35 76 5F 4C 28 6D 73 62 63 29 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 2023-07-17 15:59:39,714 INFO: Parser eventParser: name: 8763EFL_5v_L(msbc) 2023-07-17 15:59:39,714 INFO: Packet sendPacket: <<<send packet: AA 06 05 00 00 00 0B 01 00 E9
-
ACI Host CLI test: Stop scanning and showing results.
2023-07-17 15:59:49,718 INFO: input command: lea_scan stop 2023-07-17 15:59:49,719 INFO: Parser cmdParser: cmd opcode: 3023 param: [01] name: CMD_LEA_SCAN 2023-07-17 15:59:49,719 INFO: Packet sendPacket: <<<send packet: AA 07 03 00 23 30 01 A2 2023-07-17 15:59:49,726 INFO: AciHostCLI continuously_read: >>>receive packet: AA 07 05 00 00 00 23 30 00 A1 2023-07-17 15:59:49,727 INFO: Parser eventParser: syncWord: AA,seqn: 07,len: 5,opcode: 0000,params: [23 30 00], check_sum: A1 2023-07-17 15:59:49,730 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-17 15:59:49,731 INFO: Parser eventParser: event_id: [23 30] 2023-07-17 15:59:49,732 INFO: Parser eventParser: status: [00] 2023-07-17 15:59:52,770 INFO: input command: le conn_idx 2023-07-17 15:59:52,770 INFO: Parser cmdParser: device index: 0 addr_type 1 bd_addr: 61 6C 0D 97 48 E0 , name: 8763EFL_5v_R(msbc) 2023-07-17 15:59:52,771 INFO: Parser cmdParser: device index: 1 addr_type 1 bd_addr: A0 DE 13 53 C0 F1 , name: 8763EFL_5v_L(msbc)
-
ACI Host CLI test: Input the device index to initiate the connection procedure.
2023-07-17 15:59:58,755 INFO: Parser cmdParser: input dev_index: 0 2023-07-17 15:59:58,756 INFO: Parser cmdParser: cmd opcode: 010E param: [03 01 61 6C 0D 97 48 E0 00 E8 03] name: CMD_LE_CREATE_CONN 2023-07-17 15:59:58,756 INFO: Packet sendPacket: <<<send packet: AA 08 0D 00 0E 01 03 01 61 6C 0D 97 48 E0 00 E8 03 54 2023-07-17 15:59:58,774 INFO: AciHostCLI continuously_read: >>>receive packet: AA 08 05 00 00 00 0E 01 00 E4 2023-07-17 15:59:58,775 INFO: Parser eventParser: syncWord: AA,seqn: 08,len: 5,opcode: 0000,params: [0E 01 00], check_sum: E4 2023-07-17 15:59:58,776 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-17 15:59:58,779 INFO: Parser eventParser: event_id: [0E 01] 2023-07-17 15:59:58,780 INFO: Parser eventParser: status: [00] 2023-07-17 15:59:58,798 INFO: AciHostCLI continuously_read: >>>receive packet: AA 09 05 00 07 01 00 02 02 E6 2023-07-17 15:59:58,799 INFO: Parser eventParser: syncWord: AA,seqn: 09,len: 5,opcode: 0107,params: [00 02 02], check_sum: E6 2023-07-17 15:59:58,799 INFO: Parser eventParser: event name: EVENT_LE_PHY_UPD 2023-07-17 15:59:58,800 INFO: Parser eventParser: app_link_id: [00] 2023-07-17 15:59:58,800 INFO: Parser eventParser: tx_phy: [02] 2023-07-17 15:59:58,801 INFO: Parser eventParser: rx_phy: [02] 2023-07-17 15:59:58,801 INFO: Packet sendPacket: <<<send packet: AA 09 05 00 00 00 07 01 00 EA 2023-07-17 15:59:58,814 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0A 03 00 00 01 00 F2 2023-07-17 15:59:58,814 INFO: Parser eventParser: syncWord: AA,seqn: 0A,len: 3,opcode: 0100,params: [00], check_sum: F2 2023-07-17 15:59:58,815 INFO: Parser eventParser: event name: APP_EVENT_LE_CONNECTED 2023-07-17 15:59:58,815 INFO: Parser eventParser: link_id: [00] 2023-07-17 15:59:58,816 INFO: Packet sendPacket: <<<send packet: AA 0A 05 00 00 00 00 01 00 F0 2023-07-17 15:59:58,830 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0B 14 00 43 80 02 00 05 00 01 01 61 6C 0D 97 48 E0 20 00 00 00 E8 03 71 2023-07-17 15:59:58,831 INFO: Parser eventParser: syncWord: AA,seqn: 0B,len: 20,opcode: 8043,params: [02 00 05 00 01 01 61 6C 0D 97 48 E0 20 00 00 00 E8 03], check_sum: 71 2023-07-17 15:59:58,831 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_STATE 2023-07-17 15:59:58,832 INFO: Parser eventParser: link_state: [02] 2023-07-17 15:59:58,832 INFO: Parser eventParser: app_link_id: [00] 2023-07-17 15:59:58,833 INFO: Parser eventParser: conn_handle: [05 00] 2023-07-17 15:59:58,833 INFO: Parser eventParser: role: [01] 2023-07-17 15:59:58,834 INFO: Parser eventParser: remote addr type: [01] 2023-07-17 15:59:58,834 INFO: Parser eventParser: remote addr: [61 6C 0D 97 48 E0] 2023-07-17 15:59:58,834 INFO: Parser eventParser: connInterval: [20 00] 2023-07-17 15:59:58,835 INFO: Parser eventParser: connLatency: [00 00] 2023-07-17 15:59:58,835 INFO: Parser eventParser: supTimeout: [E8 03] 2023-07-17 15:59:58,835 INFO: Packet sendPacket: <<<send packet: AA 0B 05 00 00 00 43 80 00 2D 2023-07-17 15:59:58,845 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0C 05 00 41 80 00 F4 00 3A 2023-07-17 15:59:58,846 INFO: Parser eventParser: syncWord: AA,seqn: 0C,len: 5,opcode: 8041,params: [00 F4 00], check_sum: 3A 2023-07-17 15:59:58,847 INFO: Parser eventParser: event name: EVENT_XM_LE_MTU 2023-07-17 15:59:58,847 INFO: Parser eventParser: mtu_size: [00 F4] 2023-07-17 15:59:58,848 INFO: Packet sendPacket: <<<send packet: AA 0C 05 00 00 00 41 80 00 2E 2023-07-17 16:00:00,299 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0D 0B 00 02 01 00 00 00 00 00 00 00 00 00 E5 2023-07-17 16:00:00,300 INFO: Parser eventParser: syncWord: AA,seqn: 0D,len: 11,opcode: 0102,params: [00 00 00 00 00 00 00 00 00], check_sum: E5 2023-07-17 16:00:00,301 INFO: Parser eventParser: event name: APP_EVENT_LE_PAIR_STATUS 2023-07-17 16:00:00,301 INFO: Parser eventParser: link_id: [00] 2023-07-17 16:00:00,302 INFO: Parser eventParser: cause: [00 00] 2023-07-17 16:00:00,302 INFO: Parser eventParser: resolved_addr: [00 00 00 00 00 00] 2023-07-17 16:00:00,303 INFO: Packet sendPacket: <<<send packet: AA 0D 05 00 00 00 02 01 00 EB 2023-07-17 16:00:05,108 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0E 34 00 0B 01 01 00 01 A0 DE 13 53 C0 F1 12 38 37 36 33 45 46 4C 5F 35 76 5F 4C 28 6D 73 62 2023-07-17 16:00:05,108 INFO: Parser eventParser: syncWord: AA,seqn: 0E,len: 52,opcode: 010B,params: [01 00 01 A0 DE 13 53 C0 F1 12 38 37 36 33 45 46 4C 5F 35 76 5F 4C 28 6D 73 62 63 29 00 00 00 00], check_sum: AF 2023-07-17 16:00:05,109 INFO: Parser eventParser: event name: APP_EVENT_LE_AUDIO_SCAN_INFO 2023-07-17 16:00:05,109 INFO: Parser eventParser: event_type: [01 00] 2023-07-17 16:00:05,110 INFO: Parser eventParser: addr_type: [01] 2023-07-17 16:00:05,110 INFO: Parser eventParser: addr: [A0 DE 13 53 C0 F1] 2023-07-17 16:00:05,111 INFO: Parser eventParser: name_len: [12] 2023-07-17 16:00:05,112 INFO: Parser eventParser: name: [38 37 36 33 45 46 4C 5F 35 76 5F 4C 28 6D 73 62 63 29 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 2023-07-17 16:00:05,112 INFO: Parser eventParser: name: 8763EFL_5v_L(msbc) 2023-07-17 16:00:05,113 INFO: Packet sendPacket: <<<send packet: AA 0E 05 00 00 00 0B 01 00 E1 2023-07-17 16:00:05,155 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0F 05 00 07 01 01 02 02 DF 2023-07-17 16:00:05,156 INFO: Parser eventParser: syncWord: AA,seqn: 0F,len: 5,opcode: 0107,params: [01 02 02], check_sum: DF 2023-07-17 16:00:05,156 INFO: Parser eventParser: event name: EVENT_LE_PHY_UPD 2023-07-17 16:00:05,157 INFO: Parser eventParser: app_link_id: [01] 2023-07-17 16:00:05,157 INFO: Parser eventParser: tx_phy: [02] 2023-07-17 16:00:05,158 INFO: Parser eventParser: rx_phy: [02] 2023-07-17 16:00:05,158 INFO: Packet sendPacket: <<<send packet: AA 0F 05 00 00 00 07 01 00 E4 2023-07-17 16:00:05,171 INFO: AciHostCLI continuously_read: >>>receive packet: AA 10 03 00 00 01 01 EB 2023-07-17 16:00:05,172 INFO: Parser eventParser: syncWord: AA,seqn: 10,len: 3,opcode: 0100,params: [01], check_sum: EB 2023-07-17 16:00:05,173 INFO: Parser eventParser: event name: APP_EVENT_LE_CONNECTED 2023-07-17 16:00:05,173 INFO: Parser eventParser: link_id: [01] 2023-07-17 16:00:05,174 INFO: Packet sendPacket: <<<send packet: AA 10 05 00 00 00 00 01 00 EA 2023-07-17 16:00:05,187 INFO: AciHostCLI continuously_read: >>>receive packet: AA 11 14 00 43 80 02 01 06 00 01 01 A0 DE 13 53 C0 F1 64 00 00 00 F4 01 1F 2023-07-17 16:00:05,188 INFO: Parser eventParser: syncWord: AA,seqn: 11,len: 20,opcode: 8043,params: [02 01 06 00 01 01 A0 DE 13 53 C0 F1 64 00 00 00 F4 01], check_sum: 1F 2023-07-17 16:00:05,189 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_STATE 2023-07-17 16:00:05,189 INFO: Parser eventParser: link_state: [02] 2023-07-17 16:00:05,190 INFO: Parser eventParser: app_link_id: [01] 2023-07-17 16:00:05,190 INFO: Parser eventParser: conn_handle: [06 00] 2023-07-17 16:00:05,191 INFO: Parser eventParser: role: [01] 2023-07-17 16:00:05,191 INFO: Parser eventParser: remote addr type: [01] 2023-07-17 16:00:05,191 INFO: Parser eventParser: remote addr: [A0 DE 13 53 C0 F1] 2023-07-17 16:00:05,192 INFO: Parser eventParser: connInterval: [64 00] 2023-07-17 16:00:05,192 INFO: Parser eventParser: connLatency: [00 00] 2023-07-17 16:00:05,193 INFO: Parser eventParser: supTimeout: [F4 01] 2023-07-17 16:00:05,193 INFO: Packet sendPacket: <<<send packet: AA 11 05 00 00 00 43 80 00 27 2023-07-17 16:00:05,203 INFO: AciHostCLI continuously_read: >>>receive packet: AA 12 03 00 0D 01 00 DD 2023-07-17 16:00:05,204 INFO: Parser eventParser: syncWord: AA,seqn: 12,len: 3,opcode: 010D,params: [00], check_sum: DD 2023-07-17 16:00:05,204 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_DISCOVERY_DONE 2023-07-17 16:00:05,204 INFO: Parser eventParser: link_id: [00] 2023-07-17 16:00:05,205 INFO: Packet sendPacket: <<<send packet: AA 12 05 00 00 00 0D 01 00 DB 2023-07-17 16:00:05,331 INFO: AciHostCLI continuously_read: >>>receive packet: AA 13 05 00 41 80 01 F4 20 30 2023-07-17 16:00:05,332 INFO: Parser eventParser: syncWord: AA,seqn: 13,len: 5,opcode: 8041,params: [01 F4 00], check_sum: 32 2023-07-17 16:00:05,333 INFO: Parser eventParser: event name: EVENT_XM_LE_MTU 2023-07-17 16:00:05,333 INFO: Parser eventParser: mtu_size: [01 F4] 2023-07-17 16:00:05,334 INFO: Packet sendPacket: <<<send packet: AA 13 05 00 00 00 41 80 00 27 2023-07-17 16:00:07,584 INFO: AciHostCLI continuously_read: >>>receive packet: AA 14 0B 00 02 01 01 00 00 00 00 00 00 00 00 DD 2023-07-17 16:00:07,584 INFO: Parser eventParser: syncWord: AA,seqn: 14,len: 11,opcode: 0102,params: [01 00 00 00 00 00 00 00 00], check_sum: DD 2023-07-17 16:00:07,585 INFO: Parser eventParser: event name: APP_EVENT_LE_PAIR_STATUS 2023-07-17 16:00:07,586 INFO: Parser eventParser: link_id: [01] 2023-07-17 16:00:07,586 INFO: Parser eventParser: cause: [00 00] 2023-07-17 16:00:07,587 INFO: Parser eventParser: resolved_addr: [00 00 00 00 00 00] 2023-07-17 16:00:07,587 INFO: Packet sendPacket: <<<send packet: AA 14 05 00 00 00 02 01 00 E4 2023-07-17 16:00:22,950 INFO: AciHostCLI continuously_read: >>>receive packet: AA 15 03 00 0D 01 01 D9 2023-07-17 16:00:22,951 INFO: Parser eventParser: syncWord: AA,seqn: 15,len: 3,opcode: 010D,params: [01], check_sum: D9 2023-07-17 16:00:22,952 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_DISCOVERY_DONE 2023-07-17 16:00:22,952 INFO: Parser eventParser: link_id: [01] 2023-07-17 16:00:22,952 INFO: Packet sendPacket: <<<send packet: AA 15 05 00 00 00 0D 01 00 D8
BIS Initiator Introduction
BIS, which stands for Broadcast Isochronous Channel, is a communication channel utilized in the context of LE Audio. It is responsible for transmitting audio data wirelessly. BIS is designed to support high-quality audio streaming, allowing the transfer of synchronized audio content from a source device (as broadcast source role) to multiple recipient devices simultaneously.
BIS Initiator ACI Host CLI Test
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_48_4(48k) BIS num = 1 encryption = false ull_mode = true pd = 0x2710 |
bsrcinit 48k_1bis |
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_16_2(16k) BIS num = 1 encryption = false ull_mode = true pd = 0x2710 |
bsrcinit 16k_1bis |
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_48_4(48k) BIS num = 2 encryption = false ull_mode = true pd = 0x2710 |
bsrcinit 48k_2bis |
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_16_2(16k) BIS num = 2 encryption = false ull_mode = true pd = 0x2710 |
bsrcinit 16k_2bis |
CMD_LEA_BSRC_START(0x3221) |
None |
bsrcstart x |
CMD_LEA_BSRC_STOP(0x3022) |
release = true |
bsrcstop release |
CMD_LEA_BSRC_STOP(0x3022) |
release = false |
bsrcstop hold |
The ACI Host CLI CMD for BIS are CMD_LEA_BSRC_INIT
, CMD_LEA_BSRC_START
, and CMD_LEA_BSRC_STOP
.
CMD_LEA_BSRC_INIT
is used to initialize the parameters related to BIS, including codec type, BIS
number, encryption mode, ULL mode (Ultra Low Latency mode), and PD (Presentation Delay). The PD
parameter is only effective when ULL mode is enabled. When ULL mode is activated, the following
parameters are specifically used when creating BIG: Packing = Interleaved
, Max Transport Latency =
10 ms
, RTN = 2. Additionally
, the DSP would periodically fetch the anchor point to capture data
at more precise time intervals, aiming for lower and more stable latency. CMD_LEA_BSRC_START
is used
to activate BIS, while CMD_LEA_BSRC_STOP
is used to stop BIS.
-
ACI Host CLI test: Initialize BIS.
2023-05-31 10:25:21,803 INFO: input command: bsrcinit 48k_2bis 2023-05-31 10:25:21,803 INFO: Parser cmdParser: cmd opcode: 3020 param: [0D 02 00 01 10 27] name: CMD_LEA_BSRC_INIT 2023-05-31 10:25:21,803 INFO: Packet sendPacket: <<<send packet: AA 0C 07 00 20 30 0D 02 00 01 10 27 11 2023-05-31 10:25:21,834 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 20 30 00 C6 2023-05-31 10:25:21,834 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [20 30 00], check_sum: C6 2023-05-31 10:25:21,834 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 10:25:21,834 INFO: Parser eventParser: event_id: [20 30] 2023-05-31 10:25:21,834 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Start BIS.
2023-05-31 10:25:36,368 INFO: input command: bsrcstart x 2023-05-31 10:25:36,368 INFO: Parser cmdParser: cmd opcode: 3021 param: [] name: CMD_LEA_BSRC_START 2023-05-31 10:25:36,368 INFO: Packet sendPacket: <<<send packet: AA 0D 02 00 21 30 BE 2023-05-31 10:25:36,388 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 21 30 00 C4 2023-05-31 10:25:36,388 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [21 30 00], check_sum: C4 2023-05-31 10:25:36,388 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 10:25:36,388 INFO: Parser eventParser: event_id: [21 30] 2023-05-31 10:25:36,388 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Stop BIS.
2023-05-31 10:25:50,472 INFO: input command: bsrcstop release 2023-05-31 10:25:50,472 INFO: Parser cmdParser: cmd opcode: 3022 param: [01] name: CMD_LEA_BSRC_STOP 2023-05-31 10:25:50,472 INFO: Packet sendPacket: <<<send packet: AA 0E 03 00 22 30 01 BA 2023-05-31 10:25:50,512 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 22 30 00 C2 2023-05-31 10:25:50,512 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [22 30 00], check_sum: C2 2023-05-31 10:25:50,522 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 10:25:50,522 INFO: Parser eventParser: event_id: [22 30] 2023-05-31 10:25:50,522 INFO: Parser eventParser: status: [00]
CIS Initiator Introduction
CIS, which stands for Connected Isochronous Stream, is an audio stream utilized in the context of LE Audio. Unlike BIS, an ACL link must always be present during the life of a CIS.
CIS Initiator ACI Host CLI Test
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_SCAN = 0x3023 |
type = APP_LEA_SCAN_START(0) |
lea_scan start |
CMD_LEA_SCAN(0x3023) |
type = APP_LEA_SCAN_STOP(1) |
lea_scan stop |
CMD_LEA_CIS_START_MEDIA(0x3024) |
group_idx = 0 |
cis_media start_group_idx_0 |
CMD_LEA_CIS_START_MEDIA(0x3024) |
group_idx = 1 |
cis_media start_group_idx_1 |
CMD_LEA_CIS_START_CONVERSATION(0x3031) |
group_idx = 0 |
cis_conversation start_group_idx_0 |
CMD_LEA_CIS_START_CONVERSATION(0x3031) |
group_idx = 1 |
cis_conversation start_group_idx_1 |
CMD_LEA_CIS_STOP_STREAM(0x3025) |
group_idx = 0, release = false |
cis_stream stop_group_idx_0 |
CMD_LEA_CIS_STOP_STREAM(0x3025) |
group_idx = 0, release = true |
cis_stream release_group_idx_0 |
CMD_LEA_CIS_STOP_STREAM(0x3025) |
group_idx = 1, release = false |
cis_stream stop_group_idx_1 |
CMD_LEA_CIS_STOP_STREAM(0x3025) |
group_idx = 1, release = true |
cis_stream release_group_idx_1 |
For CIS, it is necessary to establish an LE link. Please refer to Initiator General ACI Host CLI Test for connection procedure.
-
ACI Host CLI test: Start media stream.
2023-12-08 16:23:42,137 INFO: input command: cis_media start_group_idx_0 2023-12-08 16:23:42,137 INFO: Parser cmdParser: cmd opcode: 3024 param: [00] name: CMD_LEA_CIS_START_MEDIA 2023-12-08 16:23:42,137 INFO: Packet sendPacket: <<<send packet: AA 13 03 00 24 30 00 96 2023-12-08 16:23:42,213 WARNING: AciHostCLI retrans: retransmit command cis_media start_group_idx_0 due to ack timeout! retry: 1 2023-12-08 16:23:42,213 INFO: Packet sendPacket: <<<send packet: AA 13 03 00 24 30 00 96 2023-12-08 16:23:42,233 INFO: AciHostCLI continuously_read: >>>receive packet: AA 14 05 00 00 00 24 30 00 93 2023-12-08 16:23:42,233 INFO: Parser eventParser: syncWord: AA,seqn: 14,len: 5,opcode: 0000,params: [24 30 00], check_sum: 93 2023-12-08 16:23:42,233 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-12-08 16:23:42,233 INFO: Parser eventParser: event_id: [24 30] 2023-12-08 16:23:42,233 INFO: Parser eventParser: status: [00] 2023-12-08 16:23:42,233 INFO: AciHostCLI continuously_read: >>>receive packet: AA 15 07 00 41 01 D0 E7 2C 00 01 BE 2023-12-08 16:23:42,233 INFO: Parser eventParser: syncWord: AA,seqn: 15,len: 7,opcode: 0141,params: [D0 E7 2C 00 01], check_sum: BE 2023-12-08 16:23:42,237 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:23:42,237 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:23:42,237 INFO: Parser eventParser: state: [01] 2023-12-08 16:23:42,237 INFO: Packet sendPacket: <<<send packet: AA 14 05 00 00 00 41 01 00 A5 2023-12-08 16:23:42,249 INFO: AciHostCLI continuously_read: >>>receive packet: AA 16 07 00 41 01 D0 E7 2C 00 03 BB 2023-12-08 16:23:42,249 INFO: Parser eventParser: syncWord: AA,seqn: 16,len: 7,opcode: 0141,params: [D0 E7 2C 00 03], check_sum: BB 2023-12-08 16:23:42,249 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:23:42,249 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:23:42,249 INFO: Parser eventParser: state: [03] 2023-12-08 16:23:42,249 INFO: Packet sendPacket: <<<send packet: AA 15 05 00 00 00 41 01 00 A4 2023-12-08 16:23:42,616 INFO: AciHostCLI continuously_read: >>>receive packet: AA 17 0A 00 44 80 00 00 18 00 00 00 F4 01 0E 2023-12-08 16:23:42,616 INFO: Parser eventParser: syncWord: AA,seqn: 17,len: 10,opcode: 8044,params: [00 00 18 00 00 00 F4 01], check_sum: 0E 2023-12-08 16:23:42,616 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2023-12-08 16:23:42,616 INFO: Parser eventParser: app_link_id: [00] 2023-12-08 16:23:42,616 INFO: Parser eventParser: res: [00] 2023-12-08 16:23:42,616 INFO: Parser eventParser: connInterval: [18 00] 2023-12-08 16:23:42,620 INFO: Parser eventParser: connLatency: [00 00] 2023-12-08 16:23:42,620 INFO: Parser eventParser: supTimeout: [F4 01] 2023-12-08 16:23:42,620 INFO: Packet sendPacket: <<<send packet: AA 16 05 00 00 00 44 80 00 21 2023-12-08 16:23:42,952 INFO: AciHostCLI continuously_read: >>>receive packet: AA 18 0A 00 44 80 00 00 20 00 00 00 F4 01 05 2023-12-08 16:23:42,952 INFO: Parser eventParser: syncWord: AA,seqn: 18,len: 10,opcode: 8044,params: [00 00 20 00 00 00 F4 01], check_sum: 05 2023-12-08 16:23:42,952 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2023-12-08 16:23:42,952 INFO: Parser eventParser: app_link_id: [00] 2023-12-08 16:23:42,952 INFO: Parser eventParser: res: [00] 2023-12-08 16:23:42,952 INFO: Parser eventParser: connInterval: [20 00] 2023-12-08 16:23:42,956 INFO: Parser eventParser: connLatency: [00 00] 2023-12-08 16:23:42,956 INFO: Parser eventParser: supTimeout: [F4 01] 2023-12-08 16:23:42,956 INFO: Packet sendPacket: <<<send packet: AA 17 05 00 00 00 44 80 00 20 2023-12-08 16:23:43,685 INFO: AciHostCLI continuously_read: >>>receive packet: AA 19 07 00 41 01 D0 E7 2C 00 04 B7 2023-12-08 16:23:43,685 INFO: Parser eventParser: syncWord: AA,seqn: 19,len: 7,opcode: 0141,params: [D0 E7 2C 00 04], check_sum: B7 2023-12-08 16:23:43,685 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:23:43,685 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:23:43,685 INFO: Parser eventParser: state: [04] 2023-12-08 16:23:43,689 INFO: Packet sendPacket: <<<send packet: AA 18 05 00 00 00 41 01 00 A1
-
ACI Host CLI test: Stop media stream.
2023-12-08 16:23:53,705 INFO: input command: cis_stream stop_group_idx_0 2023-12-08 16:23:53,705 INFO: Parser cmdParser: cmd opcode: 3025 param: [00 00] name: CMD_LEA_CIS_STOP_STREAM 2023-12-08 16:23:53,705 INFO: Packet sendPacket: <<<send packet: AA 19 04 00 25 30 00 00 8E 2023-12-08 16:23:53,713 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1A 05 00 00 00 25 30 00 8C 2023-12-08 16:23:53,713 INFO: Parser eventParser: syncWord: AA,seqn: 1A,len: 5,opcode: 0000,params: [25 30 00], check_sum: 8C 2023-12-08 16:23:53,717 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-12-08 16:23:53,717 INFO: Parser eventParser: event_id: [25 30] 2023-12-08 16:23:53,717 INFO: Parser eventParser: status: [00] 2023-12-08 16:23:53,717 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1B 07 00 41 01 D0 E7 2C 00 06 B3 2023-12-08 16:23:53,717 INFO: Parser eventParser: syncWord: AA,seqn: 1B,len: 7,opcode: 0141,params: [D0 E7 2C 00 06], check_sum: B3 2023-12-08 16:23:53,717 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:23:53,717 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:23:53,721 INFO: Parser eventParser: state: [06] 2023-12-08 16:23:53,721 INFO: Packet sendPacket: <<<send packet: AA 1A 05 00 00 00 41 01 00 9F 2023-12-08 16:23:53,807 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1C 07 00 41 01 D0 E7 2C 00 02 B6 2023-12-08 16:23:53,811 INFO: Parser eventParser: syncWord: AA,seqn: 1C,len: 7,opcode: 0141,params: [D0 E7 2C 00 02], check_sum: B6 2023-12-08 16:23:53,811 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:23:53,811 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:23:53,811 INFO: Parser eventParser: state: [02] 2023-12-08 16:23:53,811 INFO: Packet sendPacket: <<<send packet: AA 1B 05 00 00 00 41 01 00 9E
-
ACI Host CLI test: Release media stream.
2023-12-08 16:24:02,218 INFO: input command: cis_stream release_group_idx_0 2023-12-08 16:24:02,218 INFO: Parser cmdParser: cmd opcode: 3025 param: [00 01] name: CMD_LEA_CIS_STOP_STREAM 2023-12-08 16:24:02,218 INFO: Packet sendPacket: <<<send packet: AA 1C 04 00 25 30 00 01 8A 2023-12-08 16:24:02,242 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1D 05 00 00 00 25 30 00 89 2023-12-08 16:24:02,242 INFO: Parser eventParser: syncWord: AA,seqn: 1D,len: 5,opcode: 0000,params: [25 30 00], check_sum: 89 2023-12-08 16:24:02,242 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-12-08 16:24:02,242 INFO: Parser eventParser: event_id: [25 30] 2023-12-08 16:24:02,242 INFO: Parser eventParser: status: [00] 2023-12-08 16:24:02,242 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1E 07 00 41 01 D0 E7 2C 00 07 AF 2023-12-08 16:24:02,242 INFO: Parser eventParser: syncWord: AA,seqn: 1E,len: 7,opcode: 0141,params: [D0 E7 2C 00 07], check_sum: AF 2023-12-08 16:24:02,242 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:24:02,246 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:24:02,246 INFO: Parser eventParser: state: [07] 2023-12-08 16:24:02,246 INFO: Packet sendPacket: <<<send packet: AA 1D 05 00 00 00 41 01 00 9C 2023-12-08 16:24:02,400 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1F 07 00 41 01 D0 E7 2C 00 01 B4 2023-12-08 16:24:02,400 INFO: Parser eventParser: syncWord: AA,seqn: 1F,len: 7,opcode: 0141,params: [D0 E7 2C 00 01], check_sum: B4 2023-12-08 16:24:02,400 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:24:02,400 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:24:02,400 INFO: Parser eventParser: state: [01] 2023-12-08 16:24:02,404 INFO: Packet sendPacket: <<<send packet: AA 1E 05 00 00 00 41 01 00 9B 2023-12-08 16:24:02,751 INFO: AciHostCLI continuously_read: >>>receive packet: AA 20 0A 00 44 80 00 00 18 00 00 00 F4 01 05 2023-12-08 16:24:02,751 INFO: Parser eventParser: syncWord: AA,seqn: 20,len: 10,opcode: 8044,params: [00 00 18 00 00 00 F4 01], check_sum: 05 2023-12-08 16:24:02,751 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2023-12-08 16:24:02,751 INFO: Parser eventParser: app_link_id: [00] 2023-12-08 16:24:02,751 INFO: Parser eventParser: res: [00] 2023-12-08 16:24:02,755 INFO: Parser eventParser: connInterval: [18 00] 2023-12-08 16:24:02,755 INFO: Parser eventParser: connLatency: [00 00] 2023-12-08 16:24:02,755 INFO: Parser eventParser: supTimeout: [F4 01] 2023-12-08 16:24:02,755 INFO: Packet sendPacket: <<<send packet: AA 1F 05 00 00 00 44 80 00 18
-
ACI Host CLI test: Start stream conversation.
2023-12-08 16:24:11,884 INFO: input command: cis_conversation start_group_idx_0 2023-12-08 16:24:11,884 INFO: Parser cmdParser: cmd opcode: 3031 param: [00] name: CMD_LEA_CIS_START_CONVERSATION 2023-12-08 16:24:11,884 INFO: Packet sendPacket: <<<send packet: AA 20 03 00 31 30 00 7C 2023-12-08 16:24:11,900 INFO: AciHostCLI continuously_read: >>>receive packet: AA 21 05 00 00 00 31 30 00 79 2023-12-08 16:24:11,900 INFO: Parser eventParser: syncWord: AA,seqn: 21,len: 5,opcode: 0000,params: [31 30 00], check_sum: 79 2023-12-08 16:24:11,900 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-12-08 16:24:11,904 INFO: Parser eventParser: event_id: [31 30] 2023-12-08 16:24:11,904 INFO: Parser eventParser: status: [00] 2023-12-08 16:24:11,904 INFO: AciHostCLI continuously_read: >>>receive packet: AA 22 07 00 41 01 D0 E7 2C 00 01 B1 2023-12-08 16:24:11,904 INFO: Parser eventParser: syncWord: AA,seqn: 22,len: 7,opcode: 0141,params: [D0 E7 2C 00 01], check_sum: B1 2023-12-08 16:24:11,908 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:24:11,908 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:24:11,908 INFO: Parser eventParser: state: [01] 2023-12-08 16:24:11,908 INFO: Packet sendPacket: <<<send packet: AA 21 05 00 00 00 41 01 00 98 2023-12-08 16:24:11,916 INFO: AciHostCLI continuously_read: >>>receive packet: AA 23 07 00 41 01 D0 E7 2C 00 03 AE 2023-12-08 16:24:11,916 INFO: Parser eventParser: syncWord: AA,seqn: 23,len: 7,opcode: 0141,params: [D0 E7 2C 00 03], check_sum: AE 2023-12-08 16:24:11,916 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:24:11,920 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:24:11,920 INFO: Parser eventParser: state: [03] 2023-12-08 16:24:11,920 INFO: Packet sendPacket: <<<send packet: AA 22 05 00 00 00 41 01 00 97 2023-12-08 16:24:12,557 INFO: AciHostCLI continuously_read: >>>receive packet: AA 24 0A 00 44 80 00 00 18 00 00 00 F4 01 01 2023-12-08 16:24:12,557 INFO: Parser eventParser: syncWord: AA,seqn: 24,len: 10,opcode: 8044,params: [00 00 18 00 00 00 F4 01], check_sum: 01 2023-12-08 16:24:12,557 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2023-12-08 16:24:12,557 INFO: Parser eventParser: app_link_id: [00] 2023-12-08 16:24:12,561 INFO: Parser eventParser: res: [00] 2023-12-08 16:24:12,561 INFO: Parser eventParser: connInterval: [18 00] 2023-12-08 16:24:12,561 INFO: Parser eventParser: connLatency: [00 00] 2023-12-08 16:24:12,561 INFO: Parser eventParser: supTimeout: [F4 01] 2023-12-08 16:24:12,561 INFO: Packet sendPacket: <<<send packet: AA 23 05 00 00 00 44 80 00 14 2023-12-08 16:24:12,921 INFO: AciHostCLI continuously_read: >>>receive packet: AA 25 07 00 41 01 D0 E7 2C 00 04 AB 2023-12-08 16:24:12,925 INFO: Parser eventParser: syncWord: AA,seqn: 25,len: 7,opcode: 0141,params: [D0 E7 2C 00 04], check_sum: AB 2023-12-08 16:24:12,925 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:24:12,925 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:24:12,925 INFO: Parser eventParser: state: [04] 2023-12-08 16:24:12,925 INFO: Packet sendPacket: <<<send packet: AA 24 05 00 00 00 41 01 00 95
-
ACI Host CLI test: Stop stream conversation.
2023-12-08 16:24:18,072 INFO: input command: cis_stream stop_group_idx_0 2023-12-08 16:24:18,072 INFO: Parser cmdParser: cmd opcode: 3025 param: [00 00] name: CMD_LEA_CIS_STOP_STREAM 2023-12-08 16:24:18,072 INFO: Packet sendPacket: <<<send packet: AA 25 04 00 25 30 00 00 82 2023-12-08 16:24:18,080 INFO: AciHostCLI continuously_read: >>>receive packet: AA 26 05 00 00 00 25 30 00 80 2023-12-08 16:24:18,084 INFO: Parser eventParser: syncWord: AA,seqn: 26,len: 5,opcode: 0000,params: [25 30 00], check_sum: 80 2023-12-08 16:24:18,084 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-12-08 16:24:18,084 INFO: Parser eventParser: event_id: [25 30] 2023-12-08 16:24:18,084 INFO: Parser eventParser: status: [00] 2023-12-08 16:24:18,084 INFO: AciHostCLI continuously_read: >>>receive packet: AA 27 07 00 41 01 D0 E7 2C 00 06 A7 2023-12-08 16:24:18,084 INFO: Parser eventParser: syncWord: AA,seqn: 27,len: 7,opcode: 0141,params: [D0 E7 2C 00 06], check_sum: A7 2023-12-08 16:24:18,084 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:24:18,084 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:24:18,088 INFO: Parser eventParser: state: [06] 2023-12-08 16:24:18,088 INFO: Packet sendPacket: <<<send packet: AA 26 05 00 00 00 41 01 00 93 2023-12-08 16:24:18,254 INFO: AciHostCLI continuously_read: >>>receive packet: AA 28 07 00 41 01 D0 E7 2C 00 02 AA 2023-12-08 16:24:18,258 INFO: Parser eventParser: syncWord: AA,seqn: 28,len: 7,opcode: 0141,params: [D0 E7 2C 00 02], check_sum: AA 2023-12-08 16:24:18,258 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:24:18,258 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:24:18,258 INFO: Parser eventParser: state: [02] 2023-12-08 16:24:18,258 INFO: Packet sendPacket: <<<send packet: AA 27 05 00 00 00 41 01 00 92
-
ACI Host CLI test: Release stream conversation.
2023-12-08 16:24:23,562 INFO: input command: cis_stream release_group_idx_0 2023-12-08 16:24:23,562 INFO: Parser cmdParser: cmd opcode: 3025 param: [00 01] name: CMD_LEA_CIS_STOP_STREAM 2023-12-08 16:24:23,562 INFO: Packet sendPacket: <<<send packet: AA 28 04 00 25 30 00 01 7E 2023-12-08 16:24:23,574 INFO: AciHostCLI continuously_read: >>>receive packet: AA 29 05 00 00 00 25 30 00 7D 2023-12-08 16:24:23,574 INFO: Parser eventParser: syncWord: AA,seqn: 29,len: 5,opcode: 0000,params: [25 30 00], check_sum: 7D 2023-12-08 16:24:23,574 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-12-08 16:24:23,574 INFO: Parser eventParser: event_id: [25 30] 2023-12-08 16:24:23,574 INFO: Parser eventParser: status: [00] 2023-12-08 16:24:23,574 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2A 07 00 41 01 D0 E7 2C 00 07 A3 2023-12-08 16:24:23,578 INFO: Parser eventParser: syncWord: AA,seqn: 2A,len: 7,opcode: 0141,params: [D0 E7 2C 00 07], check_sum: A3 2023-12-08 16:24:23,578 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:24:23,578 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:24:23,578 INFO: Parser eventParser: state: [07] 2023-12-08 16:24:23,578 INFO: Packet sendPacket: <<<send packet: AA 29 05 00 00 00 41 01 00 90 2023-12-08 16:24:23,718 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2B 07 00 41 01 D0 E7 2C 00 01 A8 2023-12-08 16:24:23,718 INFO: Parser eventParser: syncWord: AA,seqn: 2B,len: 7,opcode: 0141,params: [D0 E7 2C 00 01], check_sum: A8 2023-12-08 16:24:23,718 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-12-08 16:24:23,718 INFO: Parser eventParser: group_handle: [D0 E7 2C 00] 2023-12-08 16:24:23,718 INFO: Parser eventParser: state: [01] 2023-12-08 16:24:23,718 INFO: Packet sendPacket: <<<send packet: AA 2A 05 00 00 00 41 01 00 8F 2023-12-08 16:24:23,956 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2C 0A 00 44 80 00 00 18 00 00 00 F4 01 F9 2023-12-08 16:24:23,960 INFO: Parser eventParser: syncWord: AA,seqn: 2C,len: 10,opcode: 8044,params: [00 00 18 00 00 00 F4 01], check_sum: F9 2023-12-08 16:24:23,960 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2023-12-08 16:24:23,960 INFO: Parser eventParser: app_link_id: [00] 2023-12-08 16:24:23,960 INFO: Parser eventParser: res: [00] 2023-12-08 16:24:23,960 INFO: Parser eventParser: connInterval: [18 00] 2023-12-08 16:24:23,960 INFO: Parser eventParser: connLatency: [00 00] 2023-12-08 16:24:23,964 INFO: Parser eventParser: supTimeout: [F4 01] 2023-12-08 16:24:23,964 INFO: Packet sendPacket: <<<send packet: AA 2B 05 00 00 00 44 80 00 0C
LE Audio Acceptor
Acceptor Introduction
Acceptor, which is described in the CAP specification, always operates in the BAP Unicast Server role, BAP Broadcast Sink role, BAP Scan Delegator role, VCP Volume Renderer Role, MICP MIC Device role, or CCP Call Control Client role.
Acceptor General ACI Host CLI Test
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_ADV_START(0x3250) |
None |
lea_adv_start |
CMD_LEA_ADV_STOP(0x3251) |
None |
lea_adv_stop |
The ACI Host CLI commands for Acceptor are CMD_LEA_ADV_START
and CMD_LEA_ADV_STOP
:
CMD_LEA_ADV_START
is used to start LE Audio advertising and be able to be connected by the Initiator which supports CIS.CMD_LEA_ADV_STOP
is used to stop LE Audio advertising and the Initiator cannot scan the Acceptor.
-
ACI Host CLI test: Start LE Audio Advertising.
2023-07-27 11:07:56,017 INFO: input command: lea_adv_start x 2023-07-27 11:07:56,018 INFO: Parser cmdParser: cmd opcode: 3250 param: [] name: CMD_LEA_ADV_START 2023-07-27 11:07:56,019 INFO: Packet sendPacket: <<<send packet: AA 01 02 00 50 32 7B 2023-07-27 11:07:56,029 INFO: AciHostCLI continuously_read: >>>receive packet: AA 02 05 00 00 00 50 32 00 77 2023-07-27 11:07:56,036 INFO: Parser eventParser: syncWord: AA,seqn: 02,len: 5,opcode: 0000,params: [50 32 00], check_sum: 77 2023-07-27 11:07:56,044 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 11:07:56,046 INFO: Parser eventParser: event_id: [50 32] 2023-07-27 11:07:56,047 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Stop LE Audio Advertising.
2023-07-27 11:08:38,865 INFO: input command: lea_adv_stop x 2023-07-27 11:08:38,865 INFO: Parser cmdParser: cmd opcode: 3251 param: [] name: CMD_LEA_ADV_STOP 2023-07-27 11:08:38,868 INFO: Packet sendPacket: <<<send packet: AA 09 02 00 51 32 72 2023-07-27 11:08:38,883 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0A 05 00 00 00 51 32 00 6E 2023-07-27 11:08:38,889 INFO: Parser eventParser: syncWord: AA,seqn: 0A,len: 5,opcode: 0000,params: [51 32 00], check_sum: 6E 2023-07-27 11:08:38,892 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 11:08:38,895 INFO: Parser eventParser: event_id: [51 32] 2023-07-27 11:08:38,897 INFO: Parser eventParser: status: [00]
BIS Acceptor Introduction
BIS Acceptor, subdivision according to CAP role of the Acceptor, availability in variety broadcast scenarios. Besides being used for receiving Broadcast Isochronous Streams, it can also support scanning for Broadcast Audio Streams autonomously or delegate the scanning to a Commander.
BIS Acceptor ACI Host CLI Test
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_SYNC_INIT(0x3254) |
bis_mode = random bis_policy = sink addr = NULL |
bis_sync_init random |
CMD_LEA_SYNC_INIT(0x3254) |
bis_mode = spec bis_policy = sink addr = {0x03:0x22:0x56:0x77:0x03:0x15} |
bis_sync_init spec |
CMD_LEA_SYNC_INIT(0x3254) |
bis_mode = random bis_policy = delegator addr = NULL |
bis_sync_init delegator |
CMD_LEA_SYNC(0x3255) |
sync = true |
bis_sync start |
CMD_LEA_SYNC(0x3255) |
sync = false |
bis_sync stop |
The ACI Host CLI CMD for BIS are CMD_LEA_SYNC_INIT
, CMD_LEA_SYNC
:
CMD_LEA_SYNC_INIT
is used to initialize the BIS parameters, including BIS role, BIS mode, the addr need to sync and only used in specification mode.CMD_LEA_SYNC
is used to sync the broadcast audio stream.
-
ACI Host CLI test: BIS sync initialization.
2023-08-04 19:00:22,584 INFO: input command: bis_sync_init random 2023-08-04 19:00:22,584 INFO: Parser cmdParser: cmd opcode: 3254 param: [02 00 00 00 00 00 00 00] name: CMD_LEA_SYNC_INIT 2023-08-04 19:00:22,584 INFO: Packet sendPacket: <<<send packet: AA 04 0A 00 54 32 02 00 00 00 00 00 00 00 6A 2023-08-04 19:00:22,604 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 54 32 00 71 2023-08-04 19:00:22,609 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [54 32 00], check_sum: 71 2023-08-04 19:00:22,614 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-08-04 19:00:22,614 INFO: Parser eventParser: event_id: [54 32] 2023-08-04 19:00:22,628 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: BIS sync start.
2023-08-04 19:00:29,694 INFO: input command: bis_sync start 2023-08-04 19:00:29,694 INFO: Parser cmdParser: cmd opcode: 3255 param: [00] name: CMD_LEA_SYNC 2023-08-04 19:00:29,694 INFO: Packet sendPacket: <<<send packet: AA 05 03 00 55 32 00 71 2023-08-04 19:00:29,714 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 55 32 00 6F 2023-08-04 19:00:29,724 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [55 32 00], check_sum: 6F 2023-08-04 19:00:29,724 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-08-04 19:00:29,724 INFO: Parser eventParser: event_id: [55 32] 2023-08-04 19:00:29,724 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: BIS sync stop.
2023-08-04 19:01:02,725 INFO: input command: bis_sync stop 2023-08-04 19:01:02,725 INFO: Parser cmdParser: cmd opcode: 3255 param: [01] name: CMD_LEA_SYNC 2023-08-04 19:01:02,725 INFO: Packet sendPacket: <<<send packet: AA 06 03 00 55 32 01 6F 2023-08-04 19:01:02,745 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 05 00 00 00 55 32 00 6E 2023-08-04 19:01:02,745 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 5,opcode: 0000,params: [55 32 00], check_sum: 6E 2023-08-04 19:01:02,745 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-08-04 19:01:02,745 INFO: Parser eventParser: event_id: [55 32] 2023-08-04 19:01:02,755 INFO: Parser eventParser: status: [00]
CIS Acceptor Introduction
CIS, which stands for Unicast Isochronous Channel, is a logical transport for connected devices that allows sending and receiving isochronous data. For a CIS, an acknowledgment protocol is available to increase packet delivery dependability. This chapter describes how to use the CIS Acceptor and can be connected to remote devices. Actually, the CIS Acceptor can control the remote device’s music player and telephone call by MCP and CCP profiles. It will notify VCS audio volume to Initiator when local volume or SPK mute/unmute changes.
CIS Acceptor ACI Host CLI Test
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_CCP_CALL_CP |
conn_id=0 call_cp=0x00 |
lea_call_cp accept |
CMD_LEA_CCP_CALL_CP |
conn_id=0 call_cp=0x01 |
lea_call_cp terminate |
CMD_LEA_CCP_CALL_CP |
conn_id=0 call_cp=0x02 |
lea_call_cp local_hold |
CMD_LEA_CCP_CALL_CP |
conn_id=0 call_cp=0x03 |
lea_call_cp local_retrieve |
CMD_LEA_CCP_CALL_CP |
conn_id=0 call_cp=0x04 |
lea_call_cp originate |
CMD_LEA_CCP_CALL_CP |
conn_id=0 call_cp=0x05 |
lea_call_cp join |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0 media_cp=0x01 |
lea_media_cp play |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0 media_cp=0x02 |
lea_media_cp pause |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0 media_cp=0x03 |
lea_media_cp fast_rewind |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0 media_cp=0x04 |
lea_media_cp fast_forward |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0 media_cp=0x05 |
lea_media_cp stop |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0 media_cp=0x30 |
lea_media_cp previous_track |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0 media_cp=0x31 |
lea_media_cp next_track |
CMD_LEA_VCS_SET |
conn_id=0 vol_type=0x00 |
lea_vcs vol_up |
CMD_LEA_VCS_SET |
conn_id=0 vol_type=0x01 |
lea_vcs vol_down |
CMD_LEA_VCS_SET |
conn_id=0 vol_type=0x02 |
lea_vcs spk_mute |
CMD_LEA_VCS_SET |
conn_id=0 vol_type=0x03 |
lea_vcs spk_unmute |
The ACI Host CLI CMD for CIS Acceptor is CMD_LEA_CCP_CALL_CP
, CMD_LEA_MCP_MEDIA_CP
and CMD_LEA_VCS_SET
:
CMD_LEA_CCP_CALL_CP
is used to control the remote device’s telephone call when they are connected to LE Audio. And it can send accept, terminate, local hold, local retrieve, originate and join commands by CCP profile.CMD_LEA_MCP_MEDIA_CP
is used to control the remote device’s active music player when they are connected to LE Audio. And it can send play, pause, stop, fast rewind, fast forward, previous track, and next track commands by the MCP profile.CMD_LEA_VCS_SET
is used to change the volume of the local device’s audio and the CIS Acceptor will notify the VCS audio volume state to the remote device.
-
ACI Host CLI test: CCP accept.
2023-07-27 14:16:42,829 INFO: input command: lea_call_cp accept 2023-07-27 14:16:42,830 INFO: Parser cmdParser: cmd opcode: 3252 param: [00 00] name: CMD_LEA_CCP_CALL_CP 2023-07-27 14:16:42,831 INFO: Packet sendPacket: <<<send packet: AA 17 04 00 52 32 00 00 60 2023-07-27 14:16:42,849 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0B 05 00 00 00 52 32 00 6B 2023-07-27 14:16:42,858 INFO: Parser eventParser: syncWord: AA,seqn: 0B,len: 5,opcode: 0000,params: [52 32 00], check_sum: 6B 2023-07-27 14:16:42,862 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 14:16:42,865 INFO: Parser eventParser: event_id: [52 32] 2023-07-27 14:16:42,867 INFO: Parser eventParser: status: [00] 2023-07-27 14:16:44,691 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1E 04 00 52 32 00 04 56 2023-07-27 14:16:44,692 INFO: Parser eventParser: syncWord: AA,seqn: 1E,len: 4,opcode: 3252,params: [00 04], check_sum: 56 2023-07-27 14:16:44,694 INFO: Packet sendPacket: <<<send packet: AA 0B 05 00 00 00 52 32 00 6C
-
ACI Host CLI test: CCP terminate.
2023-07-27 14:17:24,536 INFO: input command: lea_call_cp terminate 2023-07-27 14:17:24,536 INFO: Parser cmdParser: cmd opcode: 3252 param: [00 01] name: CMD_LEA_CCP_CALL_CP 2023-07-27 14:17:24,537 INFO: Packet sendPacket: <<<send packet: AA 1A 04 00 52 32 00 01 5D 2023-07-27 14:17:24,556 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0E 05 00 00 00 52 32 00 69 2023-07-27 14:17:24,559 INFO: Parser eventParser: syncWord: AA,seqn: 0E,len: 5,opcode: 0000,params: [52 32 00], check_sum: 69 2023-07-27 14:17:24,560 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 14:17:24,561 INFO: Parser eventParser: event_id: [52 32] 2023-07-27 14:17:24,562 INFO: Parser eventParser: status: [00] 2023-07-27 14:17:26,922 INFO: AciHostCLI continuously_read: >>>receive packet: AA 20 04 00 52 32 00 00 58 2023-07-27 14:17:26,923 INFO: Parser eventParser: syncWord: AA,seqn: 20,len: 4,opcode: 3252,params: [00 00], check_sum: 58 2023-07-27 14:17:26,924 INFO: Packet sendPacket: <<<send packet: AA 0D 05 00 00 00 52 32 00 6A
-
ACI Host CLI test: CCP local hold.
2023-07-27 14:17:00,880 INFO: input command: lea_call_cp local_hold 2023-07-27 14:17:00,880 INFO: Parser cmdParser: cmd opcode: 3252 param: [00 02] name: CMD_LEA_CCP_CALL_CP 2023-07-27 14:17:00,882 INFO: Packet sendPacket: <<<send packet: AA 18 04 00 52 32 00 02 5E 2023-07-27 14:17:00,903 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0C 05 00 00 00 52 32 00 6B 2023-07-27 14:17:00,909 INFO: Parser eventParser: syncWord: AA,seqn: 0C,len: 5,opcode: 0000,params: [52 32 00], check_sum: 6B 2023-07-27 14:17:00,918 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 14:17:00,920 INFO: Parser eventParser: event_id: [52 32] 2023-07-27 14:17:00,921 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: CCP local retrieve.
2023-07-27 14:17:08,153 INFO: input command: lea_call_cp local_retrieve 2023-07-27 14:17:08,154 INFO: Parser cmdParser: cmd opcode: 3252 param: [00 03] name: CMD_LEA_CCP_CALL_CP 2023-07-27 14:17:08,155 INFO: Packet sendPacket: <<<send packet: AA 19 04 00 52 32 00 03 5C 2023-07-27 14:17:08,172 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0D 05 00 00 00 52 32 00 6A 2023-07-27 14:17:08,176 INFO: Parser eventParser: syncWord: AA,seqn: 0D,len: 5,opcode: 0000,params: [52 32 00], check_sum: 6A 2023-07-27 14:17:08,178 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 14:17:08,184 INFO: Parser eventParser: event_id: [52 32] 2023-07-27 14:17:08,186 INFO: Parser eventParser: status: [00]
ACI Host CLI test: CCP originate.
ACI Host CLI test: CCP join.
-
ACI Host CLI test: MCP play.
2023-07-27 12:00:52,509 INFO: input command: lea_media_cp play 2023-07-27 12:00:52,510 INFO: Parser cmdParser: cmd opcode: 3253 param: [00 01] name: CMD_LEA_MCP_MEDIA_CP 2023-07-27 12:00:52,511 INFO: Packet sendPacket: <<<send packet: AA 01 04 00 53 32 00 01 75 2023-07-27 12:00:52,531 INFO: AciHostCLI continuously_read: >>>receive packet: AA 25 05 00 00 00 53 32 00 51 2023-07-27 12:00:52,535 INFO: Parser eventParser: syncWord: AA,seqn: 25,len: 5,opcode: 0000,params: [53 32 00], check_sum: 51 2023-07-27 12:00:52,542 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 12:00:52,544 INFO: Parser eventParser: event_id: [53 32] 2023-07-27 12:00:52,546 INFO: Parser eventParser: status: [00] 2023-07-27 12:00:52,570 INFO: AciHostCLI continuously_read: >>>receive packet: AA 26 04 00 53 32 00 01 50 2023-07-27 12:00:52,572 INFO: Parser eventParser: syncWord: AA,seqn: 26,len: 4,opcode: 3253,params: [00 01], check_sum: 50 2023-07-27 12:00:52,573 INFO: Packet sendPacket: <<<send packet: AA 02 05 00 00 00 53 32 00 74
-
ACI Host CLI test: MCP pause.
2023-07-27 12:04:41,402 INFO: input command: lea_media_cp pause 2023-07-27 12:04:41,403 INFO: Parser cmdParser: cmd opcode: 3253 param: [00 02] name: CMD_LEA_MCP_MEDIA_CP 2023-07-27 12:04:41,404 INFO: Packet sendPacket: <<<send packet: AA 03 04 00 53 32 00 02 72 2023-07-27 12:04:41,417 INFO: AciHostCLI continuously_read: >>>receive packet: AA 27 05 00 00 00 53 32 00 4F 2023-07-27 12:04:41,419 INFO: Parser eventParser: syncWord: AA,seqn: 27,len: 5,opcode: 0000,params: [53 32 00], check_sum: 4F 2023-07-27 12:04:41,426 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 12:04:41,428 INFO: Parser eventParser: event_id: [53 32] 2023-07-27 12:04:41,429 INFO: Parser eventParser: status: [00] 2023-07-27 12:04:41,497 INFO: AciHostCLI continuously_read: >>>receive packet: AA 28 04 00 53 32 00 02 4D 2023-07-27 12:04:41,498 INFO: Parser eventParser: syncWord: AA,seqn: 28,len: 4,opcode: 3253,params: [00 02], check_sum: 4D 2023-07-27 12:04:41,499 INFO: Packet sendPacket: <<<send packet: AA 04 05 00 00 00 53 32 00 72
-
ACI Host CLI test: MCP fast rewind.
2023-07-27 12:05:01,473 INFO: input command: lea_media_cp fast_rewind 2023-07-27 12:05:01,474 INFO: Parser cmdParser: cmd opcode: 3253 param: [00 03] name: CMD_LEA_MCP_MEDIA_CP 2023-07-27 12:05:01,476 INFO: Packet sendPacket: <<<send packet: AA 05 04 00 53 32 00 03 6F 2023-07-27 12:05:01,497 INFO: AciHostCLI continuously_read: >>>receive packet: AA 29 05 00 00 00 53 32 00 4D 2023-07-27 12:05:01,500 INFO: Parser eventParser: syncWord: AA,seqn: 29,len: 5,opcode: 0000,params: [53 32 00], check_sum: 4D 2023-07-27 12:05:01,501 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 12:05:01,504 INFO: Parser eventParser: event_id: [53 32] 2023-07-27 12:05:01,505 INFO: Parser eventParser: status: [00] 2023-07-27 12:05:01,573 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2A 04 00 53 32 00 03 4A 2023-07-27 12:05:01,574 INFO: Parser eventParser: syncWord: AA,seqn: 2A,len: 4,opcode: 3253,params: [00 03], check_sum: 4A 2023-07-27 12:05:01,575 INFO: Packet sendPacket: <<<send packet: AA 06 05 00 00 00 53 32 00 70
-
ACI Host CLI test: MCP fast forward.
2023-07-27 12:05:17,450 INFO: input command: lea_media_cp fast_forward 2023-07-27 12:05:17,450 INFO: Parser cmdParser: cmd opcode: 3253 param: [00 04] name: CMD_LEA_MCP_MEDIA_CP 2023-07-27 12:05:17,452 INFO: Packet sendPacket: <<<send packet: AA 07 04 00 53 32 00 04 6C 2023-07-27 12:05:17,463 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2B 05 00 00 00 53 32 00 4B 2023-07-27 12:05:17,470 INFO: Parser eventParser: syncWord: AA,seqn: 2B,len: 5,opcode: 0000,params: [53 32 00], check_sum: 4B 2023-07-27 12:05:17,471 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 12:05:17,473 INFO: Parser eventParser: event_id: [53 32] 2023-07-27 12:05:17,473 INFO: Parser eventParser: status: [00] 2023-07-27 12:05:17,620 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2C 04 00 53 32 00 03 48 2023-07-27 12:05:17,621 INFO: Parser eventParser: syncWord: AA,seqn: 2C,len: 4,opcode: 3253,params: [00 01], check_sum: 48 2023-07-27 12:05:17,622 INFO: Packet sendPacket: <<<send packet: AA 08 05 00 00 00 53 32 00 6E
-
ACI Host CLI test: MCP stop.
2023-07-27 12:07:08,855 INFO: input command: lea_media_cp stop 2023-07-27 12:07:08,856 INFO: Parser cmdParser: cmd opcode: 3253 param: [00 05] name: CMD_LEA_MCP_MEDIA_CP 2023-07-27 12:07:08,857 INFO: Packet sendPacket: <<<send packet: AA 1A 04 00 53 32 00 05 58 2023-07-27 12:07:08,874 INFO: AciHostCLI continuously_read: >>>receive packet: AA 3E 05 00 00 00 53 32 00 38 2023-07-27 12:07:08,876 INFO: Parser eventParser: syncWord: AA,seqn: 3E,len: 5,opcode: 0000,params: [53 32 00], check_sum: 38 2023-07-27 12:07:08,878 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 12:07:08,880 INFO: Parser eventParser: event_id: [53 32] 2023-07-27 12:07:08,881 INFO: Parser eventParser: status: [00] 2023-07-27 12:07:11,332 INFO: AciHostCLI continuously_read: >>>receive packet: AA 3F 04 00 53 32 00 02 36 2023-07-27 12:07:11,334 INFO: Parser eventParser: syncWord: AA,seqn: 3F,len: 4,opcode: 3253,params: [00 02], check_sum: 36 2023-07-27 12:07:11,336 INFO: Packet sendPacket: <<<send packet: AA 1B 05 00 00 00 53 32 00 5B
-
ACI Host CLI test: MCP previous track.
2023-07-27 12:07:54,069 INFO: input command: lea_media_cp previous_track 2023-07-27 12:07:54,070 INFO: Parser cmdParser: cmd opcode: 3253 param: [00 30] name: CMD_LEA_MCP_MEDIA_CP 2023-07-27 12:07:54,072 INFO: Packet sendPacket: <<<send packet: AA 1F 04 00 53 32 00 30 28 2023-07-27 12:07:54,094 INFO: AciHostCLI continuously_read: >>>receive packet: AA 43 05 00 00 00 53 32 00 33 2023-07-27 12:07:54,097 INFO: Parser eventParser: syncWord: AA,seqn: 43,len: 5,opcode: 0000,params: [53 32 00], check_sum: 33 2023-07-27 12:07:54,099 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 12:07:54,100 INFO: Parser eventParser: event_id: [53 32] 2023-07-27 12:07:54,101 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: MCP next track.
2023-07-27 12:08:05,519 INFO: input command: lea_media_cp next_track 2023-07-27 12:08:05,519 INFO: Parser cmdParser: cmd opcode: 3253 param: [00 31] name: CMD_LEA_MCP_MEDIA_CP 2023-07-27 12:08:05,520 INFO: Packet sendPacket: <<<send packet: AA 20 04 00 53 32 00 31 26 2023-07-27 12:08:05,540 INFO: AciHostCLI continuously_read: >>>receive packet: AA 44 05 00 00 00 53 32 00 32 2023-07-27 12:08:05,543 INFO: Parser eventParser: syncWord: AA,seqn: 44,len: 5,opcode: 0000,params: [53 32 00], check_sum: 32 2023-07-27 12:08:05,543 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-27 12:08:05,544 INFO: Parser eventParser: event_id: [53 32] 2023-07-27 12:08:05,545 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: VCS volume up.
2024-02-28 15:31:52,825 INFO: input command: lea_vcs vol_up 2024-02-28 15:31:52,827 INFO: Parser cmdParser: cmd opcode: 3256 param: [00 00] name: CMD_LEA_VCS_SET_CP 2024-02-28 15:31:52,829 INFO: Packet sendPacket: <<<send packet: AA 26 04 00 56 32 00 00 4E 2024-02-28 15:31:52,852 INFO: AciHostCLI continuously_read: >>>receive packet: AA 25 03 00 20 00 01 B7 2024-02-28 15:31:52,856 INFO: Parser eventParser: syncWord: AA,seqn: 25,len: 3,opcode: 0020,params: [01], check_sum: B7 2024-02-28 15:31:52,859 INFO: Parser eventParser: event name: EVENT_AUDIO_VOL_CHANGE 2024-02-28 15:31:52,872 INFO: Packet sendPacket: <<<send packet: AA 27 05 00 00 00 20 00 00 B4 2024-02-28 15:31:52,882 INFO: AciHostCLI continuously_read: >>>receive packet: AA 26 05 00 00 00 56 32 00 4D 2024-02-28 15:31:52,885 INFO: Parser eventParser: syncWord: AA,seqn: 26,len: 5,opcode: 0000,params: [56 32 00], check_sum: 4D 2024-02-28 15:31:52,887 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-28 15:31:52,889 INFO: Parser eventParser: event_id: [56 32] 2024-02-28 15:31:52,891 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: VCS volume down.
2024-02-28 15:31:46,154 INFO: input command: lea_vcs vol_down 2024-02-28 15:31:46,156 INFO: Parser cmdParser: cmd opcode: 3256 param: [00 01] name: CMD_LEA_VCS_SET_CP 2024-02-28 15:31:46,158 INFO: Packet sendPacket: <<<send packet: AA 23 04 00 56 32 00 01 50 2024-02-28 15:31:46,173 INFO: AciHostCLI continuously_read: >>>receive packet: AA 22 03 00 20 00 04 B7 2024-02-28 15:31:46,176 INFO: Parser eventParser: syncWord: AA,seqn: 22,len: 3,opcode: 0020,params: [04], check_sum: B7 2024-02-28 15:31:46,180 INFO: Parser eventParser: event name: EVENT_AUDIO_VOL_CHANGE 2024-02-28 15:31:46,182 INFO: Packet sendPacket: <<<send packet: AA 24 05 00 00 00 20 00 00 B7 2024-02-28 15:31:46,188 INFO: AciHostCLI continuously_read: >>>receive packet: AA 23 05 00 00 00 56 32 00 50 2024-02-28 15:31:46,190 INFO: Parser eventParser: syncWord: AA,seqn: 23,len: 5,opcode: 0000,params: [56 32 00], check_sum: 50 2024-02-28 15:31:46,191 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-28 15:31:46,193 INFO: Parser eventParser: event_id: [56 32] 2024-02-28 15:31:46,194 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: VCS SPK mute.
2024-02-28 15:32:02,346 INFO: input command: lea_vcs spk_mute 2024-02-28 15:32:02,346 INFO: Parser cmdParser: cmd opcode: 3256 param: [00 02] name: CMD_LEA_VCS_SET_CP 2024-02-28 15:32:02,348 INFO: Packet sendPacket: <<<send packet: AA 2F 04 00 56 32 00 02 43 2024-02-28 15:32:02,371 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2F 05 00 00 00 56 32 00 44 2024-02-28 15:32:02,373 INFO: Parser eventParser: syncWord: AA,seqn: 2F,len: 5,opcode: 0000,params: [56 32 00], check_sum: 44 2024-02-28 15:32:02,375 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-28 15:32:02,377 INFO: Parser eventParser: event_id: [56 32] 2024-02-28 15:32:02,378 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: VCS SPK unmute.
2024-02-28 15:32:06,691 INFO: input command: lea_vcs spk_unmute 2024-02-28 15:32:06,692 INFO: Parser cmdParser: cmd opcode: 3256 param: [00 03] name: CMD_LEA_VCS_SET_CP 2024-02-28 15:32:06,695 INFO: Packet sendPacket: <<<send packet: AA 30 04 00 56 32 00 03 41 2024-02-28 15:32:06,720 INFO: AciHostCLI continuously_read: >>>receive packet: AA 30 05 00 00 00 56 32 00 43 2024-02-28 15:32:06,726 INFO: Parser eventParser: syncWord: AA,seqn: 30,len: 5,opcode: 0000,params: [56 32 00], check_sum: 43 2024-02-28 15:32:06,729 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-28 15:32:06,732 INFO: Parser eventParser: event_id: [56 32] 2024-02-28 15:32:06,738 INFO: Parser eventParser: status: [00]
Bluetooth Audio Transmitter
This chapter introduces the functionality of the bt_audio_transmitter application scenario. This functionality is enabled by opening the macro definition F_APP_BT_AUDIO_TRANSMITTER_DEMO_SUPPORT
in app_flags.h
. This chapter describes how to use these functions and the flow of how to test them, including the MSCs of the ACI Device and ACI Host interaction, and the commands used by ACI Host CLI Tool.
Source Play Function
Based on the scenario introduced at the beginning of the article, the Bluetooth Audio Transceiver application supports source play function, which can transmit MIC, Line-in, USB, SD card signal to BUDs through HFP, A2DP or BIS/CIS. These input and output methods can be combined in various ways by set_route_in CMD and set_route_out CMD. This chapter presents three combinations as examples:
Using MIC as the source and HFP as the output MIC Source Play.
Using Line-in as the source and A2DP as the output Line-in Source Play (A2DP Output).
Using Line-in as the source and BIS as the output Line-in Source Play (BIS Output).
Using Line-in as the source and CIS as the output Line-in Source Play (CIS Output).
Using USB as the source and BIS as the output USB Source Play (BIS Output).
Using SD card as the source and local play as the output SD Card Source Play.
Using SD card as the source and BIS/CIS as the output SD Card Source Play (BIS/CIS Output).
Using Line-in/I2S as the source and multilink A2DP as the output Multilink A2DP Source Play.
MIC Source Play
Before using, configure MIC 1 on the EVB and connect an external MIC. After connecting the MIC and starting the recording, the recorded data will be sent to the connected BUD via HFP. The MIC source playback process is:

MIC Source Play
ACI Host CLI Test: MIC Source Play
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = mic(0x01, 0x00) |
set_route_in mic |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = hfp_ag(0x02) |
set_route_out hfp_ag |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
The ACI Host sends CMD_SRC_PLAY_SET_SRC_ROUTE
to ACI Device to set the MIC input route, sends CMD_SRC_PLAY_SET_PLAY_ROUTE
to set HFP output route, sends CMD_SRC_PLAY_ROUTE_IN_START
or CMD_SRC_PLAY_ROUTE_IN_STOP
to start or stop the MIC input route, and sends CMD_SRC_PLAY_ROUTE_OUT_START
or CMD_SRC_PLAY_ROUTE_OUT_STOP
to start or stop the HFP output route.
-
ACI Host CLI test: Connect ACI Device to BUD.
Please refer to Connect to BUD.
-
ACI Host CLI test: Input set_route_in mic.
2023-04-18 18:35:04,933 INFO: input command: set_route_in mic 2023-04-18 18:35:04,933 INFO: Parser cmdParser: cmd opcode: 3300 param: [01 00] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2023-04-18 18:35:04,934 INFO: Packet sendPacket: <<<send packet: AA 10 03 00 00 33 01 00 B9 2023-04-18 18:35:04,956 INFO: AciHostCLI continuously_read: >>>receive packet: AA 10 05 00 00 00 00 33 00 B8 2023-04-18 18:35:04,963 INFO: Parser eventParser: syncWord: AA,seqn: 10,len: 5,opcode: 0000,params: [00 33 00], check_sum: B8 2023-04-18 18:35:04,966 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:35:04,983 INFO: Parser eventParser: event_id: [00 33] 2023-04-18 18:35:04,986 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_out hfp_ag.
2023-04-18 18:35:18,259 INFO: input command: set_route_out hfp_ag 2023-04-18 18:35:18,260 INFO: Parser cmdParser: cmd opcode: 3302 param: [02] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2023-04-18 18:35:18,262 INFO: Packet sendPacket: <<<send packet: AA 11 03 00 02 33 02 B5 2023-04-18 18:35:18,279 INFO: AciHostCLI continuously_read: >>>receive packet: AA 11 05 00 00 00 02 33 00 B5 2023-04-18 18:35:18,284 INFO: Parser eventParser: syncWord: AA,seqn: 11,len: 5,opcode: 0000,params: [02 33 00], check_sum: B5 2023-04-18 18:35:18,285 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:35:18,286 INFO: Parser eventParser: event_id: [02 33] 2023-04-18 18:35:18,287 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out start.
2023-04-18 18:35:29,323 INFO: input command: route_out start 2023-04-18 18:35:29,324 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2023-04-18 18:35:29,326 INFO: Packet sendPacket: <<<send packet: AA 12 02 00 06 33 B3 2023-04-18 18:35:29,338 INFO: AciHostCLI continuously_read: >>>receive packet: AA 12 05 00 00 00 06 33 00 B0 2023-04-18 18:35:29,339 INFO: Parser eventParser: syncWord: AA,seqn: 12,len: 5,opcode: 0000,params: [06 33 00], check_sum: B0 2023-04-18 18:35:29,347 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:35:29,351 INFO: Parser eventParser: event_id: [06 33] 2023-04-18 18:35:29,353 INFO: Parser eventParser: status: [00] 2023-04-18 18:35:29,539 INFO: AciHostCLI continuously_read: >>>receive packet: AA 13 04 00 38 03 00 02 AC 2023-04-18 18:35:29,540 INFO: Parser eventParser: syncWord: AA,seqn: 13,len: 4,opcode: 0338,params: [00 02], check_sum: AC 2023-04-18 18:35:29,542 INFO: Packet sendPacket: <<<send packet: AA 13 05 00 00 00 38 03 00 AD 2023-04-18 18:35:29,555 INFO: AciHostCLI continuously_read: >>>receive packet: AA 14 04 00 00 03 00 01 E4 2023-04-18 18:35:29,556 INFO: Parser eventParser: syncWord: AA,seqn: 14,len: 4,opcode: 0300,params: [00 01], check_sum: E4 2023-04-18 18:35:29,557 INFO: Parser eventParser: event name: APP_EVENT_SCO_STATE 2023-04-18 18:35:29,561 INFO: Parser eventParser: app_link_id: [00] 2023-04-18 18:35:29,563 INFO: Parser eventParser: state: [01] 2023-04-18 18:35:29,565 INFO: Packet sendPacket: <<<send packet: AA 14 05 00 00 00 00 03 00 E4
-
ACI Host CLI test: Input route_in start.
2023-04-18 18:35:43,561 INFO: input command: route_in start 2023-04-18 18:35:43,562 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2023-04-18 18:35:43,563 INFO: Packet sendPacket: <<<send packet: AA 15 02 00 04 33 B2 2023-04-18 18:35:43,597 INFO: AciHostCLI continuously_read: >>>receive packet: AA 15 05 00 00 00 04 33 00 AF 2023-04-18 18:35:43,610 INFO: Parser eventParser: syncWord: AA,seqn: 15,len: 5,opcode: 0000,params: [04 33 00], check_sum: AF 2023-04-18 18:35:43,612 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:35:43,614 INFO: Parser eventParser: event_id: [04 33] 2023-04-18 18:35:43,615 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in stop.
2023-04-18 18:36:05,128 INFO: input command: route_in stop 2023-04-18 18:36:05,128 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2023-04-18 18:36:05,130 INFO: Packet sendPacket: <<<send packet: AA 16 02 00 05 33 B0 2023-04-18 18:36:05,145 INFO: AciHostCLI continuously_read: >>>receive packet: AA 16 05 00 00 00 05 33 00 AD 2023-04-18 18:36:05,166 INFO: Parser eventParser: syncWord: AA,seqn: 16,len: 5,opcode: 0000,params: [05 33 00], check_sum: AD 2023-04-18 18:36:05,167 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:36:05,168 INFO: Parser eventParser: event_id: [05 33] 2023-04-18 18:36:05,170 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out stop.
2023-04-18 18:36:32,207 INFO: input command: route_out stop 2023-04-18 18:36:32,208 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2023-04-18 18:36:32,210 INFO: Packet sendPacket: <<<send packet: AA 18 02 00 07 33 AC 2023-04-18 18:36:32,221 INFO: AciHostCLI continuously_read: >>>receive packet: AA 18 05 00 00 00 07 33 00 A9 2023-04-18 18:36:32,227 INFO: Parser eventParser: syncWord: AA,seqn: 18,len: 5,opcode: 0000,params: [07 33 00], check_sum: A9 2023-04-18 18:36:32,230 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:36:32,232 INFO: Parser eventParser: event_id: [07 33] 2023-04-18 18:36:32,233 INFO: Parser eventParser: status: [00] 2023-04-18 18:36:32,285 INFO: AciHostCLI continuously_read: >>>receive packet: AA 19 04 00 00 03 00 00 E0 2023-04-18 18:36:32,286 INFO: Parser eventParser: syncWord: AA,seqn: 19,len: 4,opcode: 0300,params: [00 00], check_sum: E0 2023-04-18 18:36:32,287 INFO: Parser eventParser: event name: APP_EVENT_SCO_STATE 2023-04-18 18:36:32,288 INFO: Parser eventParser: app_link_id: [00] 2023-04-18 18:36:32,288 INFO: Parser eventParser: state: [00] 2023-04-18 18:36:32,290 INFO: Packet sendPacket: <<<send packet: AA 19 05 00 00 00 00 03 00 DF
Line-in Source Play (A2DP Output)
Before using, please configure MIC 2 on the EVB and connect to PC through Line-in. After Line-in is connected and music on PC is started, the music data will be sent to the connected BUD through A2DP.
Line-in source play (A2DP output) process:

Line-in Source Play
ACI Host CLI Test: Line-in Source Play (A2DP Output)
The ACI Host sends CMD_SRC_PLAY_SET_SRC_ROUTE
to ACI Device to set the Line-in input route, sends CMD_SRC_PLAY_SET_PLAY_ROUTE
to set A2DP output route, sends CMD_SRC_PLAY_ROUTE_IN_START/STOP
to start or stop the Line-in input route, and sends CMD_SRC_PLAY_ROUTE_OUT_START/STOP
to start or stop the A2DP output route.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = linein(0x02, 0x00) |
set_route_in linein |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = a2dp(0x01) |
set_route_out a2dp |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
-
ACI Host CLI test: Connect ACI Device to BUD.
Please refer to Connect to BUD.
-
ACI Host CLI test: Input set_route_in Line-in.
2023-04-18 18:37:54,643 INFO: input command: set_route_in linein 2023-04-18 18:37:54,643 INFO: Parser cmdParser: cmd opcode: 3300 param: [02 00] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2023-04-18 18:37:54,645 INFO: Packet sendPacket: <<<send packet: AA 29 03 00 00 33 02 00 9F 2023-04-18 18:37:54,658 INFO: AciHostCLI continuously_read: >>>receive packet: AA 10 05 00 00 00 00 33 00 B8 2023-04-18 18:37:54,663 INFO: Parser eventParser: syncWord: AA,seqn: 10,len: 5,opcode: 0000,params: [00 33 00], check_sum: B8 2023-04-18 18:37:54,667 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:37:54,670 INFO: Parser eventParser: event_id: [00 33] 2023-04-18 18:37:54,672 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_out a2dp.
2023-04-18 18:38:07,087 INFO: input command: set_route_out a2dp 2023-04-18 18:38:07,088 INFO: Parser cmdParser: cmd opcode: 3302 param: [01] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2023-04-18 18:38:07,090 INFO: Packet sendPacket: <<<send packet: AA 2A 03 00 02 33 01 9D 2023-04-18 18:38:07,101 INFO: AciHostCLI continuously_read: >>>receive packet: AA 11 05 00 00 00 02 33 00 B5 2023-04-18 18:38:07,113 INFO: Parser eventParser: syncWord: AA,seqn: 11,len: 5,opcode: 0000,params: [02 33 00], check_sum: B5 2023-04-18 18:38:07,116 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:38:07,116 INFO: Parser eventParser: event_id: [02 33] 2023-04-18 18:38:07,117 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out start.
2023-04-18 18:38:23,684 INFO: input command: route_out start 2023-04-18 18:38:23,685 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2023-04-18 18:38:23,685 INFO: Packet sendPacket: <<<send packet: AA 2B 02 00 06 33 9A 2023-04-18 18:38:23,699 INFO: AciHostCLI continuously_read: >>>receive packet: AA 12 05 00 00 00 06 33 00 B0 2023-04-18 18:38:23,702 INFO: Parser eventParser: syncWord: AA,seqn: 12,len: 5,opcode: 0000,params: [06 33 00], check_sum: B0 2023-04-18 18:38:23,708 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:38:23,708 INFO: Parser eventParser: event_id: [06 33] 2023-04-18 18:38:23,709 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in start.
2023-04-18 18:38:26,773 INFO: input command: route_in start 2023-04-18 18:38:26,774 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2023-04-18 18:38:26,775 INFO: Packet sendPacket: <<<send packet: AA 2C 02 00 04 33 9B 2023-04-18 18:38:26,796 INFO: AciHostCLI continuously_read: >>>receive packet: AA 13 05 00 00 00 04 33 00 B1 2023-04-18 18:38:26,798 INFO: Parser eventParser: syncWord: AA,seqn: 13,len: 5,opcode: 0000,params: [04 33 00], check_sum: B1 2023-04-18 18:38:26,798 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:38:26,799 INFO: Parser eventParser: event_id: [04 33] 2023-04-18 18:38:26,800 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in stop.
2023-04-18 18:39:21,706 INFO: input command: route_in stop 2023-04-18 18:39:21,707 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2023-04-18 18:39:21,708 INFO: Packet sendPacket: <<<send packet: AA 2D 02 00 05 33 99 2023-04-18 18:39:21,712 INFO: AciHostCLI continuously_read: >>>receive packet: AA 14 05 00 00 00 05 33 00 AF 2023-04-18 18:39:21,719 INFO: Parser eventParser: syncWord: AA,seqn: 14,len: 5,opcode: 0000,params: [05 33 00], check_sum: AF 2023-04-18 18:39:21,723 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:39:21,723 INFO: Parser eventParser: event_id: [05 33] 2023-04-18 18:39:21,726 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out stop.
2023-04-18 18:39:44,974 INFO: input command: route_out stop 2023-04-18 18:39:44,974 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2023-04-18 18:39:44,976 INFO: Packet sendPacket: <<<send packet: AA 2F 02 00 07 33 95 2023-04-18 18:39:45,044 INFO: AciHostCLI continuously_read: >>>receive packet: AA 16 05 00 00 00 07 33 00 AB 2023-04-18 18:39:45,046 INFO: Parser eventParser: syncWord: AA,seqn: 16,len: 5,opcode: 0000,params: [07 33 00], check_sum: AB 2023-04-18 18:39:45,047 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-18 18:39:45,052 INFO: Parser eventParser: event_id: [07 33] 2023-04-18 18:39:45,055 INFO: Parser eventParser: status: [00]
Line-in Source Play (BIS Output)
Before using, please configure MIC 2 on the EVB and connect to PC through Line-in. After Line-in is connected and music on the PC is started, the music data could be sent to the BUD(s) through BIS.
BIS supports configuring codec type (48k/16k), BIS number (1 BIS containing dual-channel data or 2 BIS containing separate L and R channel data), ULL mode (E2E Latency < 30ms), and other parameters. For details, please refer to ACI_CMD_LEA_BSRC_INIT.
Line-in source play (BIS output) process:

Line-in Source Play (BIS Output)
ACI Host CLI Test: Line-in Source Play (BIS Output)
When using BIS as output path, it is necessary to initialize BIS first through CMD_LEA_BSRC_INIT
.
The ACI Host sends CMD_SRC_PLAY_SET_SRC_ROUTE
to ACI Device to set the Line-in input route, sends
CMD_SRC_PLAY_SET_PLAY_ROUTE
to set BIS output route, sends CMD_SRC_PLAY_ROUTE_IN_START/STOP
to
start or stop the Line-in input route, and sends CMD_SRC_PLAY_ROUTE_OUT_START/STOP
(Other than
CMD_LEA_BSRC_START/STOP
) to start or stop the BIS output route.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_48_4(48k) BIS num = 2 encryption = false ull_mode = false pd = 0x2710 |
bsrcinit 48k_2bis |
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = linein(0x02, 0x00) |
set_route_in linein |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = BIS(0x03) |
set_route_out bis |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
-
ACI Host CLI test: Initialize BIS.
2023-05-31 10:25:21,803 INFO: input command: bsrcinit 48k_2bis 2023-05-31 10:25:21,803 INFO: Parser cmdParser: cmd opcode: 3020 param: [0D 02 00 01 10 27] name: CMD_LEA_BSRC_INIT 2023-05-31 10:25:21,803 INFO: Packet sendPacket: <<<send packet: AA 0C 07 00 20 30 0D 02 00 01 10 27 11 2023-05-31 10:25:21,834 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 20 30 00 C6 2023-05-31 10:25:21,834 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [20 30 00], check_sum: C6 2023-05-31 10:25:21,834 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 10:25:21,834 INFO: Parser eventParser: event_id: [20 30] 2023-05-31 10:25:21,834 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_out bis.
2023-05-31 10:24:33,516 INFO: input command: set_route_out bis 2023-05-31 10:24:33,516 INFO: Parser cmdParser: cmd opcode: 3302 param: [03] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2023-05-31 10:24:33,526 INFO: Packet sendPacket: <<<send packet: AA 04 03 00 02 33 03 C1 2023-05-31 10:24:33,546 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 02 33 00 C2 2023-05-31 10:24:33,546 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [02 33 00], check_sum: C2 2023-05-31 10:24:33,546 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 10:24:33,546 INFO: Parser eventParser: event_id: [02 33] 2023-05-31 10:24:33,546 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_in Line-in.
2023-05-31 10:24:36,385 INFO: input command: set_route_in linein 2023-05-31 10:24:36,385 INFO: Parser cmdParser: cmd opcode: 3300 param: [02 00] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2023-05-31 10:24:36,385 INFO: Packet sendPacket: <<<send packet: AA 05 03 00 00 33 02 00 C3 2023-05-31 10:24:36,405 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 00 33 00 C3 2023-05-31 10:24:36,405 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [00 33 00], check_sum: C3 2023-05-31 10:24:36,405 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 10:24:36,405 INFO: Parser eventParser: event_id: [00 33] 2023-05-31 10:24:36,415 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out start.
2023-05-31 10:24:39,606 INFO: input command: route_out start 2023-05-31 10:24:39,616 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2023-05-31 10:24:39,616 INFO: Packet sendPacket: <<<send packet: AA 06 02 00 06 33 BF 2023-05-31 10:24:39,626 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 05 00 00 00 06 33 00 BC 2023-05-31 10:24:39,626 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 5,opcode: 0000,params: [06 33 00], check_sum: BC 2023-05-31 10:24:39,626 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 10:24:39,626 INFO: Parser eventParser: event_id: [06 33] 2023-05-31 10:24:39,626 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in start.
2023-05-31 10:24:42,685 INFO: input command: route_in start 2023-05-31 10:24:42,695 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2023-05-31 10:24:42,695 INFO: Packet sendPacket: <<<send packet: AA 07 02 00 04 33 C0 2023-05-31 10:24:42,755 INFO: AciHostCLI continuously_read: >>>receive packet: AA 07 05 00 00 00 04 33 00 BD 2023-05-31 10:24:42,755 INFO: Parser eventParser: syncWord: AA,seqn: 07,len: 5,opcode: 0000,params: [04 33 00], check_sum: BD 2023-05-31 10:24:42,755 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 10:24:42,755 INFO: Parser eventParser: event_id: [04 33] 2023-05-31 10:24:42,755 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in stop.
2023-05-31 10:24:50,746 INFO: input command: route_in stop 2023-05-31 10:24:50,746 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2023-05-31 10:24:50,746 INFO: Packet sendPacket: <<<send packet: AA 08 02 00 05 33 BE 2023-05-31 10:24:50,766 INFO: AciHostCLI continuously_read: >>>receive packet: AA 08 05 00 00 00 05 33 00 BB 2023-05-31 10:24:50,766 INFO: Parser eventParser: syncWord: AA,seqn: 08,len: 5,opcode: 0000,params: [05 33 00], check_sum: BB 2023-05-31 10:24:50,766 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 10:24:50,766 INFO: Parser eventParser: event_id: [05 33] 2023-05-31 10:24:50,766 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out stop.
2023-05-31 10:25:04,644 INFO: input command: route_out stop 2023-05-31 10:25:04,644 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2023-05-31 10:25:04,644 INFO: Packet sendPacket: <<<send packet: AA 09 02 00 07 33 BB 2023-05-31 10:25:04,664 INFO: AciHostCLI continuously_read: >>>receive packet: AA 09 05 00 00 00 07 33 00 B8 2023-05-31 10:25:04,664 INFO: Parser eventParser: syncWord: AA,seqn: 09,len: 5,opcode: 0000,params: [07 33 00], check_sum: B8 2023-05-31 10:25:04,674 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 10:25:04,674 INFO: Parser eventParser: event_id: [07 33] 2023-05-31 10:25:04,674 INFO: Parser eventParser: status: [00]
Line-in Source Play (CIS Output)
Before using, please configure MIC 2 on the EVB and connect to PC through Line-in. After Line-in is connected and music on PC is started, the music data can be sent to the connected BUD(s) through CIS.
In this scenario, CIS supports only the downlink direction of the datapath. The codec type is
determined through negotiation (Refer to app_lea_ini_select_media_prefer_codec()
). In ULL mode
(Configured through the CMD_LEA_CIS_ULL_MODE
command, and E2E Latency < 30ms), 48_1
is preferred,
while in non-ULL mode, 48_6
takes precedence.
CIS connection process: Please refer to ACI Host CLI Test: Advertising.
Line-in source play (CIS output) process:

Line-in Source Play (CIS Output)
ACI Host CLI Test: Line-in Source Play (CIS Output)
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = linein(0x02, 0x00) |
set_route_in linein |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = cis(0x04) |
set_route_out cis |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
For CIS, it is necessary to establish an LE link. Please refer to Initiator General ACI Host CLI Test for connection procedure.
The ACI Host sends CMD_SRC_PLAY_SET_SRC_ROUTE
to ACI Device to set the Line-in input route, sends
CMD_SRC_PLAY_SET_PLAY_ROUTE
to set CIS output route, sends CMD_SRC_PLAY_ROUTE_IN_START/STOP
to
start or stop the Line-in input route, and sends CMD_SRC_PLAY_ROUTE_OUT_START/STOP
to start or stop
the CIS output route.
-
ACI Host CLI test: Input set_route_in Line-in.
2023-07-17 16:00:30,147 INFO: input command: set_route_in linein 2023-07-17 16:00:30,147 INFO: Parser cmdParser: cmd opcode: 3300 param: [02 00] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2023-07-17 16:00:30,148 INFO: Packet sendPacket: <<<send packet: AA 16 03 00 00 33 02 00 B2 2023-07-17 16:00:30,154 INFO: AciHostCLI continuously_read: >>>receive packet: AA 16 05 00 00 00 00 33 00 B2 2023-07-17 16:00:30,155 INFO: Parser eventParser: syncWord: AA,seqn: 16,len: 5,opcode: 0000,params: [00 33 00], check_sum: B2 2023-07-17 16:00:30,158 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-17 16:00:30,159 INFO: Parser eventParser: event_id: [00 33] 2023-07-17 16:00:30,160 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_out cis.
2023-07-17 16:00:34,130 INFO: input command: set_route_out cis 2023-07-17 16:00:34,130 INFO: Parser cmdParser: cmd opcode: 3302 param: [04] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2023-07-17 16:00:34,131 INFO: Packet sendPacket: <<<send packet: AA 17 03 00 02 33 04 AD 2023-07-17 16:00:34,148 INFO: AciHostCLI continuously_read: >>>receive packet: AA 17 05 00 00 00 02 33 00 AF 2023-07-17 16:00:34,149 INFO: Parser eventParser: syncWord: AA,seqn: 17,len: 5,opcode: 0000,params: [02 33 00], check_sum: AF 2023-07-17 16:00:34,149 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-17 16:00:34,150 INFO: Parser eventParser: event_id: [02 33] 2023-07-17 16:00:34,150 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out start and the BAP state will transition to state 4 (
AUDIO_STREAM_STATE_STREAMING
).2023-07-17 16:00:37,182 INFO: input command: route_out start 2023-07-17 16:00:37,182 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2023-07-17 16:00:37,183 INFO: Packet sendPacket: <<<send packet: AA 18 02 00 06 33 AD 2023-07-17 16:00:37,199 INFO: AciHostCLI continuously_read: >>>receive packet: AA 18 05 00 00 00 06 33 00 AA 2023-07-17 16:00:37,199 INFO: Parser eventParser: syncWord: AA,seqn: 18,len: 5,opcode: 0000,params: [06 33 00], check_sum: AA 2023-07-17 16:00:37,200 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-17 16:00:37,201 INFO: Parser eventParser: event_id: [06 33] 2023-07-17 16:00:37,201 INFO: Parser eventParser: status: [00] 2023-07-17 16:00:37,202 INFO: AciHostCLI continuously_read: >>>receive packet: AA 19 07 00 0C 01 90 B3 2C 00 01 63 2023-07-17 16:00:37,202 INFO: Parser eventParser: syncWord: AA,seqn: 19,len: 7,opcode: 010C,params: [90 B3 2C 00 01], check_sum: 63 2023-07-17 16:00:37,203 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-07-17 16:00:37,203 INFO: Parser eventParser: group_handle: [90 B3 2C 00] 2023-07-17 16:00:37,203 INFO: Parser eventParser: state: [01] 2023-07-17 16:00:37,204 INFO: Packet sendPacket: <<<send packet: AA 19 05 00 00 00 0C 01 00 D5 2023-07-17 16:00:37,215 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1A 07 00 0C 01 90 B3 2C 00 03 60 2023-07-17 16:00:37,215 INFO: Parser eventParser: syncWord: AA,seqn: 1A,len: 7,opcode: 010C,params: [90 B3 2C 00 03], check_sum: 60 2023-07-17 16:00:37,216 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-07-17 16:00:37,216 INFO: Parser eventParser: group_handle: [90 B3 2C 00] 2023-07-17 16:00:37,217 INFO: Parser eventParser: state: [03] 2023-07-17 16:00:37,217 INFO: Packet sendPacket: <<<send packet: AA 1A 05 00 00 00 0C 01 00 D4 2023-07-17 16:00:38,365 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1B 0A 00 44 80 00 00 24 00 00 00 E8 03 08 2023-07-17 16:00:38,366 INFO: Parser eventParser: syncWord: AA,seqn: 1B,len: 10,opcode: 8044,params: [00 00 24 00 00 00 E8 03], check_sum: 08 2023-07-17 16:00:38,367 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2023-07-17 16:00:38,367 INFO: Parser eventParser: app_link_id: [00] 2023-07-17 16:00:38,367 INFO: Parser eventParser: res: [00] 2023-07-17 16:00:38,368 INFO: Parser eventParser: connInterval: [24 00] 2023-07-17 16:00:38,368 INFO: Parser eventParser: connLatency: [00 00] 2023-07-17 16:00:38,369 INFO: Parser eventParser: supTimeout: [E8 03] 2023-07-17 16:00:38,370 INFO: Packet sendPacket: <<<send packet: AA 1B 05 00 00 00 44 80 00 1C 2023-07-17 16:00:39,595 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1C 0A 00 44 80 01 00 6C 00 00 00 F4 01 B4 2023-07-17 16:00:39,596 INFO: Parser eventParser: syncWord: AA,seqn: 1C,len: 10,opcode: 8044,params: [01 00 6C 00 00 00 F4 01], check_sum: B4 2023-07-17 16:00:39,596 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2023-07-17 16:00:39,597 INFO: Parser eventParser: app_link_id: [01] 2023-07-17 16:00:39,597 INFO: Parser eventParser: res: [00] 2023-07-17 16:00:39,597 INFO: Parser eventParser: connInterval: [6C 00] 2023-07-17 16:00:39,598 INFO: Parser eventParser: connLatency: [00 00] 2023-07-17 16:00:39,598 INFO: Parser eventParser: supTimeout: [F4 01] 2023-07-17 16:00:39,599 INFO: Packet sendPacket: <<<send packet: AA 1C 05 00 00 00 44 80 00 1B 2023-07-17 16:00:41,000 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1D 0A 00 44 80 01 00 24 00 00 00 F4 01 FB 2023-07-17 16:00:41,001 INFO: Parser eventParser: syncWord: AA,seqn: 1D,len: 10,opcode: 8044,params: [01 00 24 00 00 00 F4 01], check_sum: FB 2023-07-17 16:00:41,002 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2023-07-17 16:00:41,002 INFO: Parser eventParser: app_link_id: [01] 2023-07-17 16:00:41,003 INFO: Parser eventParser: res: [00] 2023-07-17 16:00:41,003 INFO: Parser eventParser: connInterval: [24 00] 2023-07-17 16:00:41,003 INFO: Parser eventParser: connLatency: [00 00] 2023-07-17 16:00:41,004 INFO: Parser eventParser: supTimeout: [F4 01] 2023-07-17 16:00:41,004 INFO: Packet sendPacket: <<<send packet: AA 1D 05 00 00 00 44 80 00 1A 2023-07-17 16:00:41,448 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1E 07 00 0C 01 90 B3 2C 00 04 5B 2023-07-17 16:00:41,449 INFO: Parser eventParser: syncWord: AA,seqn: 1E,len: 7,opcode: 010C,params: [90 B3 2C 00 04], check_sum: 5B 2023-07-17 16:00:41,449 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-07-17 16:00:41,450 INFO: Parser eventParser: group_handle: [90 B3 2C 00] 2023-07-17 16:00:41,451 INFO: Parser eventParser: state: [04] 2023-07-17 16:00:41,451 INFO: Packet sendPacket: <<<send packet: AA 1E 05 00 00 00 0C 01 00 D0
-
ACI Host CLI test: Input route_in start.
2023-07-17 16:00:45,813 INFO: input command: route_in start 2023-07-17 16:00:45,814 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2023-07-17 16:00:45,814 INFO: Packet sendPacket: <<<send packet: AA 1F 02 00 04 33 A8 2023-07-17 16:00:45,873 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1F 05 00 00 00 04 33 00 A5 2023-07-17 16:00:45,874 INFO: Parser eventParser: syncWord: AA,seqn: 1F,len: 5,opcode: 0000,params: [04 33 00], check_sum: A5 2023-07-17 16:00:45,874 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-17 16:00:45,875 INFO: Parser eventParser: event_id: [04 33] 2023-07-17 16:00:45,875 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out stop, and the BAP state will transition to state 1 (
AUDIO_STREAM_STATE_IDLE_CONFIGURED
).2023-07-17 16:07:29,020 INFO: input command: route_out stop 2023-07-17 16:07:29,020 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2023-07-17 16:07:29,021 INFO: Packet sendPacket: <<<send packet: AA 01 02 00 07 33 C3 2023-07-17 16:07:29,041 INFO: AciHostCLI continuously_read: >>>receive packet: AA 20 05 00 00 00 07 33 00 A1 2023-07-17 16:07:29,042 INFO: Parser eventParser: syncWord: AA,seqn: 20,len: 5,opcode: 0000,params: [07 33 00], check_sum: A1 2023-07-17 16:07:29,043 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-17 16:07:29,043 INFO: Parser eventParser: event_id: [07 33] 2023-07-17 16:07:29,044 INFO: Parser eventParser: status: [00] 2023-07-17 16:07:29,044 INFO: AciHostCLI continuously_read: >>>receive packet: AA 21 07 00 0C 01 90 B3 2C 00 07 55 2023-07-17 16:07:29,045 INFO: Parser eventParser: syncWord: AA,seqn: 21,len: 7,opcode: 010C,params: [90 B3 2C 00 07], check_sum: 55 2023-07-17 16:07:29,045 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-07-17 16:07:29,045 INFO: Parser eventParser: group_handle: [90 B3 2C 00] 2023-07-17 16:07:29,046 INFO: Parser eventParser: state: [07] 2023-07-17 16:07:29,046 INFO: Packet sendPacket: <<<send packet: AA 02 05 00 00 00 0C 01 00 EC 2023-07-17 16:07:29,265 INFO: AciHostCLI continuously_read: >>>receive packet: AA 22 07 00 0C 01 90 B3 2C 00 01 5A 2023-07-17 16:07:29,265 INFO: Parser eventParser: syncWord: AA,seqn: 22,len: 7,opcode: 010C,params: [90 B3 2C 00 01], check_sum: 5A 2023-07-17 16:07:29,266 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2023-07-17 16:07:29,266 INFO: Parser eventParser: group_handle: [90 B3 2C 00] 2023-07-17 16:07:29,267 INFO: Parser eventParser: state: [01] 2023-07-17 16:07:29,267 INFO: Packet sendPacket: <<<send packet: AA 03 05 00 00 00 0C 01 00 EB
-
ACI Host CLI test: Input route_in stop.
2023-07-17 16:07:33,327 INFO: input command: route_in stop 2023-07-17 16:07:33,327 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2023-07-17 16:07:33,328 INFO: Packet sendPacket: <<<send packet: AA 04 02 00 05 33 C2 2023-07-17 16:07:33,338 INFO: AciHostCLI continuously_read: >>>receive packet: AA 23 05 00 00 00 05 33 00 A0 2023-07-17 16:07:33,339 INFO: Parser eventParser: syncWord: AA,seqn: 23,len: 5,opcode: 0000,params: [05 33 00], check_sum: A0 2023-07-17 16:07:33,340 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-07-17 16:07:33,340 INFO: Parser eventParser: event_id: [05 33] 2023-07-17 16:07:33,341 INFO: Parser eventParser: status: [00]
USB Source Play (BIS Output)
Before using, please connect EVB to PC through USB, select EVB as the audio device. After USB cable is connected and music on PC is started, the music data could be sent to the BUD(s) through BIS.
BIS supports configuring codec type (48k/16k), BIS number (1 BIS containing dual-channel data or 2 BIS containing separate L and R channel data), ULL mode (E2E Latency < 30ms), and other parameters. For details, please refer to ACI_CMD_LEA_BSRC_INIT.
USB source play (BIS output) process:

USB Source Play (BIS Output)
ACI Host CLI Test: USB Source Play (BIS Output)
When using BIS as the output path, it is necessary to initialize BIS firstly through CMD_LEA_BSRC_INIT
.
The ACI Host sends CMD_SRC_PLAY_SET_SRC_ROUTE
to ACI Device to set the USB input route, sends
CMD_SRC_PLAY_SET_PLAY_ROUTE
to set BIS output route, sends CMD_SRC_PLAY_ROUTE_IN_START/STOP
to
start or stop the USB input route, and sends CMD_SRC_PLAY_ROUTE_OUT_START/STOP
(Other than
CMD_LEA_BSRC_START/STOP
) to start or stop the BIS output route.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_48_4(48k) BIS num = 2 encryption = false ull_mode = false pd = 0x2710 |
bsrcinit 48k_2bis |
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = usb_ds(0x03, 0x01) |
set_route_in usb_ds |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = bis(0x03) |
set_route_out bis |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
-
ACI Host CLI test: Initialize BIS.
2023-09-13 10:35:17,929 INFO: input command: bsrcinit 48k_2bis 2023-09-13 10:35:17,930 INFO: Parser cmdParser: cmd opcode: 3020 param: [0B 02 00 00 10 27] name: CMD_LEA_BSRC_INIT 2023-09-13 10:35:17,931 INFO: Packet sendPacket: <<<send packet: AA 09 08 00 20 30 0B 02 00 00 10 27 5B 2023-09-13 10:35:17,940 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 20 30 00 A7 2023-09-13 10:35:17,943 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [20 30 00], check_sum: A7 2023-09-13 10:35:17,944 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-09-13 10:35:17,944 INFO: Parser eventParser: event_id: [20 30] 2023-09-13 10:35:17,945 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_out bis.
2023-09-13 10:35:30,605 INFO: input command: set_route_out bis 2023-09-13 10:35:30,605 INFO: Parser cmdParser: cmd opcode: 3302 param: [03] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2023-09-13 10:35:30,606 INFO: Packet sendPacket: <<<send packet: AA 0B 03 00 02 33 03 BA 2023-09-13 10:35:30,617 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 05 00 00 00 02 33 00 C0 2023-09-13 10:35:30,617 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 5,opcode: 0000,params: [02 33 00], check_sum: C0 2023-09-13 10:35:30,618 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-09-13 10:35:30,620 INFO: Parser eventParser: event_id: [02 33] 2023-09-13 10:35:30,620 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_in usb.
2023-09-13 10:35:27,473 INFO: input command: set_route_in usb 2023-09-13 10:35:27,473 INFO: Parser cmdParser: cmd opcode: 3300 param: [03 01] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2023-09-13 10:35:27,474 INFO: Packet sendPacket: <<<send packet: AA 0A 03 00 00 33 03 01 BD 2023-09-13 10:35:27,485 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 00 33 00 C3 2023-09-13 10:35:27,487 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [00 33 00], check_sum: C3 2023-09-13 10:35:27,488 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-09-13 10:35:27,489 INFO: Parser eventParser: event_id: [00 33] 2023-09-13 10:35:27,490 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out start.
2023-09-13 10:35:33,528 INFO: input command: route_out start 2023-09-13 10:35:33,529 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2023-09-13 10:35:33,529 INFO: Packet sendPacket: <<<send packet: AA 0C 02 00 06 33 B9 2023-09-13 10:35:33,539 INFO: AciHostCLI continuously_read: >>>receive packet: AA 07 05 00 00 00 06 33 00 BB 2023-09-13 10:35:33,546 INFO: Parser eventParser: syncWord: AA,seqn: 07,len: 5,opcode: 0000,params: [06 33 00], check_sum: BB 2023-09-13 10:35:33,546 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-09-13 10:35:33,547 INFO: Parser eventParser: event_id: [06 33] 2023-09-13 10:35:33,548 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in start.
2023-09-13 10:35:35,952 INFO: input command: route_in start 2023-09-13 10:35:35,952 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2023-09-13 10:35:35,953 INFO: Packet sendPacket: <<<send packet: AA 0D 02 00 04 33 BA 2023-09-13 10:35:35,962 INFO: AciHostCLI continuously_read: >>>receive packet: AA 08 05 00 00 00 04 33 00 BC 2023-09-13 10:35:35,965 INFO: Parser eventParser: syncWord: AA,seqn: 08,len: 5,opcode: 0000,params: [04 33 00], check_sum: BC 2023-09-13 10:35:35,966 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-09-13 10:35:35,966 INFO: Parser eventParser: event_id: [04 33] 2023-09-13 10:35:35,967 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in stop.
2023-09-13 11:24:27,143 INFO: input command: route_in stop 2023-09-13 11:24:27,143 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2023-09-13 11:24:27,143 INFO: Packet sendPacket: <<<send packet: AA 0E 02 00 05 33 B8 2023-09-13 11:24:27,152 INFO: AciHostCLI continuously_read: >>>receive packet: AA 08 05 00 00 00 05 33 00 BB 2023-09-13 11:24:27,157 INFO: Parser eventParser: syncWord: AA,seqn: 08,len: 5,opcode: 0000,params: [05 33 00], check_sum: BB 2023-09-13 11:24:27,157 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-09-13 11:24:27,158 INFO: Parser eventParser: event_id: [05 33] 2023-09-13 11:24:27,159 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out stop.
2023-09-13 11:23:57,789 INFO: input command: route_out stop 2023-09-13 11:23:57,789 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2023-09-13 11:23:57,790 INFO: Packet sendPacket: <<<send packet: AA 0B 02 00 07 33 B9 2023-09-13 11:23:57,798 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 07 33 00 BC 2023-09-13 11:23:57,803 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [07 33 00], check_sum: BC 2023-09-13 11:23:57,804 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-09-13 11:23:57,804 INFO: Parser eventParser: event_id: [07 33] 2023-09-13 11:23:57,805 INFO: Parser eventParser: status: [00]
USB Source Play (CIS Output)
Before using, please connect EVB to PC through USB, select EVB as the audio device. After USB cable is connected and music on PC is started, the music data could be sent to the BUD(s) through CIS.
In this scenario, CIS only sets up the downlink direction of the datapath. The codec type is
determined through negotiation (Refer to app_lea_ini_select_media_prefer_codec()
). In ULL mode
(Configured through the CMD_LEA_CIS_ULL_MODE
command, and E2E Latency < 30ms), 48_1
is preferred,
while in non-ULL mode, 48_6
takes precedence.
CIS connection process: Please refer to ACI Host CLI Test: Advertising.
USB source play (CIS output) process:

USB Source Play (CIS Output)
ACI Host CLI Test: USB Source Play (CIS Output)
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_SCAN(0x3023) |
action = start(0x00) |
lea_scan start |
CMD_LEA_SCAN(0x3023) |
action = stop(0x01) |
lea_scan stop |
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = usb_ds(0x03, 0x01) |
set_route_in usb_ds |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = cis(0x04) |
set_route_out cis |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
For CIS, it is necessary to establish an LE link. Please refer to Initiator General ACI Host CLI Test for connection procedure.
-
ACI Host CLI test: Input set_route_in usb_ds.
2024-01-23 17:19:23,499 INFO: input command: set_route_in usb_ds 2024-01-23 17:19:23,500 INFO: Parser cmdParser: cmd opcode: 3300 param: [03 01] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2024-01-23 17:19:23,501 INFO: Packet sendPacket: <<<send packet: AA 29 04 00 00 33 03 01 9C 2024-01-23 17:19:23,514 INFO: AciHostCLI continuously_read: >>>receive packet: AA 23 05 00 00 00 00 33 00 A5 2024-01-23 17:19:23,515 INFO: Parser eventParser: syncWord: AA,seqn: 23,len: 5,opcode: 0000,params: [00 33 00], check_sum: A5 2024-01-23 17:19:23,515 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:19:23,516 INFO: Parser eventParser: event_id: [00 33] 2024-01-23 17:19:23,516 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_out cis.
2024-01-23 17:19:25,989 INFO: input command: set_route_out cis 2024-01-23 17:19:25,990 INFO: Parser cmdParser: cmd opcode: 3302 param: [04] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2024-01-23 17:19:25,991 INFO: Packet sendPacket: <<<send packet: AA 2A 03 00 02 33 04 9A 2024-01-23 17:19:26,003 INFO: AciHostCLI continuously_read: >>>receive packet: AA 24 05 00 00 00 02 33 00 A2 2024-01-23 17:19:26,007 INFO: Parser eventParser: syncWord: AA,seqn: 24,len: 5,opcode: 0000,params: [02 33 00], check_sum: A2 2024-01-23 17:19:26,009 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:19:26,009 INFO: Parser eventParser: event_id: [02 33] 2024-01-23 17:19:26,010 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out start.
2024-01-23 17:19:27,670 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2024-01-23 17:19:27,671 INFO: Packet sendPacket: <<<send packet: AA 2B 02 00 06 33 9A 2024-01-23 17:19:27,679 INFO: AciHostCLI continuously_read: >>>receive packet: AA 25 05 00 00 00 06 33 00 9D 2024-01-23 17:19:27,679 INFO: Parser eventParser: syncWord: AA,seqn: 25,len: 5,opcode: 0000,params: [06 33 00], check_sum: 9D 2024-01-23 17:19:27,680 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:19:27,681 INFO: Parser eventParser: event_id: [06 33] 2024-01-23 17:19:27,682 INFO: Parser eventParser: status: [00] 2024-01-23 17:19:27,685 INFO: AciHostCLI continuously_read: >>>receive packet: AA 26 07 00 41 01 A8 E1 2C 00 01 DB 2024-01-23 17:19:27,686 INFO: Parser eventParser: syncWord: AA,seqn: 26,len: 7,opcode: 0141,params: [A8 E1 2C 00 01], check_sum: DB 2024-01-23 17:19:27,686 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2024-01-23 17:19:27,687 INFO: Parser eventParser: group_handle: [A8 E1 2C 00] 2024-01-23 17:19:27,687 INFO: Parser eventParser: state: [01] 2024-01-23 17:19:27,690 INFO: Packet sendPacket: <<<send packet: AA 2C 05 00 00 00 41 01 00 8D 2024-01-23 17:19:27,694 INFO: AciHostCLI continuously_read: >>>receive packet: AA 27 07 00 41 01 A8 E1 2C 00 03 D8 2024-01-23 17:19:27,695 INFO: Parser eventParser: syncWord: AA,seqn: 27,len: 7,opcode: 0141,params: [A8 E1 2C 00 03], check_sum: D8 2024-01-23 17:19:27,698 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2024-01-23 17:19:27,699 INFO: Parser eventParser: group_handle: [A8 E1 2C 00] 2024-01-23 17:19:27,699 INFO: Parser eventParser: state: [03] 2024-01-23 17:19:27,700 INFO: Packet sendPacket: <<<send packet: AA 2D 05 00 00 00 41 01 00 8C 2024-01-23 17:19:28,092 INFO: AciHostCLI continuously_read: >>>receive packet: AA 28 0A 00 44 80 00 00 18 00 00 00 F4 01 FD 2024-01-23 17:19:28,093 INFO: Parser eventParser: syncWord: AA,seqn: 28,len: 10,opcode: 8044,params: [00 00 18 00 00 00 F4 01], check_sum: FD 2024-01-23 17:19:28,093 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2024-01-23 17:19:28,094 INFO: Parser eventParser: app_link_id: [00] 2024-01-23 17:19:28,095 INFO: Parser eventParser: res: [00] 2024-01-23 17:19:28,096 INFO: Parser eventParser: connInterval: [18 00] 2024-01-23 17:19:28,096 INFO: Parser eventParser: connLatency: [00 00] 2024-01-23 17:19:28,097 INFO: Parser eventParser: supTimeout: [F4 01] 2024-01-23 17:19:28,097 INFO: Packet sendPacket: <<<send packet: AA 2E 05 00 00 00 44 80 00 09 2024-01-23 17:19:28,411 INFO: AciHostCLI continuously_read: >>>receive packet: AA 29 0A 00 44 80 00 00 20 00 00 00 F4 01 F4 2024-01-23 17:19:28,412 INFO: Parser eventParser: syncWord: AA,seqn: 29,len: 10,opcode: 8044,params: [00 00 20 00 00 00 F4 01], check_sum: F4 2024-01-23 17:19:28,415 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2024-01-23 17:19:28,415 INFO: Parser eventParser: app_link_id: [00] 2024-01-23 17:19:28,416 INFO: Parser eventParser: res: [00] 2024-01-23 17:19:28,416 INFO: Parser eventParser: connInterval: [20 00] 2024-01-23 17:19:28,417 INFO: Parser eventParser: connLatency: [00 00] 2024-01-23 17:19:28,417 INFO: Parser eventParser: supTimeout: [F4 01] 2024-01-23 17:19:28,418 INFO: Packet sendPacket: <<<send packet: AA 2F 05 00 00 00 44 80 00 08 2024-01-23 17:19:28,811 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2A 07 00 41 01 A8 E1 2C 00 04 D4 2024-01-23 17:19:28,811 INFO: Parser eventParser: syncWord: AA,seqn: 2A,len: 7,opcode: 0141,params: [A8 E1 2C 00 04], check_sum: D4 2024-01-23 17:19:28,812 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2024-01-23 17:19:28,812 INFO: Parser eventParser: group_handle: [A8 E1 2C 00] 2024-01-23 17:19:28,814 INFO: Parser eventParser: state: [04] 2024-01-23 17:19:28,815 INFO: Packet sendPacket: <<<send packet: AA 30 05 00 00 00 41 01 00 89
-
ACI Host CLI test: Input route_in start.
2024-01-23 17:19:30,390 INFO: input command: route_in start 2024-01-23 17:19:30,390 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2024-01-23 17:19:30,391 INFO: Packet sendPacket: <<<send packet: AA 31 02 00 04 33 96 2024-01-23 17:19:30,422 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2B 05 00 00 00 04 33 00 99 2024-01-23 17:19:30,423 INFO: Parser eventParser: syncWord: AA,seqn: 2B,len: 5,opcode: 0000,params: [04 33 00], check_sum: 99 2024-01-23 17:19:30,425 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:19:30,427 INFO: Parser eventParser: event_id: [04 33] 2024-01-23 17:19:30,431 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out stop.
2024-01-23 17:19:35,613 INFO: input command: route_out stop 2024-01-23 17:19:35,613 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2024-01-23 17:19:35,614 INFO: Packet sendPacket: <<<send packet: AA 32 02 00 07 33 92 2024-01-23 17:19:35,622 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2C 05 00 00 00 07 33 00 95 2024-01-23 17:19:35,623 INFO: Parser eventParser: syncWord: AA,seqn: 2C,len: 5,opcode: 0000,params: [07 33 00], check_sum: 95 2024-01-23 17:19:35,626 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:19:35,627 INFO: Parser eventParser: event_id: [07 33] 2024-01-23 17:19:35,628 INFO: Parser eventParser: status: [00] 2024-01-23 17:19:35,629 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2D 07 00 41 01 A8 E1 2C 00 07 CE 2024-01-23 17:19:35,629 INFO: Parser eventParser: syncWord: AA,seqn: 2D,len: 7,opcode: 0141,params: [A8 E1 2C 00 07], check_sum: CE 2024-01-23 17:19:35,630 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2024-01-23 17:19:35,633 INFO: Parser eventParser: group_handle: [A8 E1 2C 00] 2024-01-23 17:19:35,634 INFO: Parser eventParser: state: [07] 2024-01-23 17:19:35,635 INFO: Packet sendPacket: <<<send packet: AA 33 05 00 00 00 41 01 00 86 2024-01-23 17:19:35,814 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2E 07 00 41 01 A8 E1 2C 00 01 D3 2024-01-23 17:19:35,815 INFO: Parser eventParser: syncWord: AA,seqn: 2E,len: 7,opcode: 0141,params: [A8 E1 2C 00 01], check_sum: D3 2024-01-23 17:19:35,816 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2024-01-23 17:19:35,820 INFO: Parser eventParser: group_handle: [A8 E1 2C 00] 2024-01-23 17:19:35,821 INFO: Parser eventParser: state: [01] 2024-01-23 17:19:35,823 INFO: Packet sendPacket: <<<send packet: AA 34 05 00 00 00 41 01 00 85 2024-01-23 17:19:36,132 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2F 0A 00 44 80 00 00 18 00 00 00 F4 01 F6 2024-01-23 17:19:36,134 INFO: Parser eventParser: syncWord: AA,seqn: 2F,len: 10,opcode: 8044,params: [00 00 18 00 00 00 F4 01], check_sum: F6 2024-01-23 17:19:36,134 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2024-01-23 17:19:36,135 INFO: Parser eventParser: app_link_id: [00] 2024-01-23 17:19:36,135 INFO: Parser eventParser: res: [00] 2024-01-23 17:19:36,136 INFO: Parser eventParser: connInterval: [18 00] 2024-01-23 17:19:36,137 INFO: Parser eventParser: connLatency: [00 00] 2024-01-23 17:19:36,137 INFO: Parser eventParser: supTimeout: [F4 01] 2024-01-23 17:19:36,138 INFO: Packet sendPacket: <<<send packet: AA 35 05 00 00 00 44 80 00 02
-
ACI Host CLI test: Input route_in stop.
2024-01-23 17:19:37,889 INFO: input command: route_in stop 2024-01-23 17:19:37,890 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2024-01-23 17:19:37,890 INFO: Packet sendPacket: <<<send packet: AA 36 02 00 05 33 90 2024-01-23 17:19:37,904 INFO: AciHostCLI continuously_read: >>>receive packet: AA 30 05 00 00 00 05 33 00 93 2024-01-23 17:19:37,904 INFO: Parser eventParser: syncWord: AA,seqn: 30,len: 5,opcode: 0000,params: [05 33 00], check_sum: 93 2024-01-23 17:19:37,905 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:19:37,905 INFO: Parser eventParser: event_id: [05 33] 2024-01-23 17:19:37,906 INFO: Parser eventParser: status: [00]
USB Source Play (CIS Input and Output)
Before using, please connect the EVB and PC through USB and select the EVB as the audio device. Once the USB cable is connected, calls or simultaneous recording and playing of music can be initiated on the PC. The USB downstream data, transferred to the EVB, can be sent to BUD(s) through the CIS, and the data received from the BUD(s) through CIS can be transmitted upstream to the PC through USB.
In this scenario, CIS will set up both downlink and uplink directions of the datapaths. The codec type is
determined through negotiation (Refer to app_lea_ini_select_conversation_prefer_codec()
), and
16_2
is preferred.
CIS connection process: Please refer to ACI Host CLI Test: Advertising.
USB source play (CIS input and output) process:

USB Source Play (CIS Input and Output)
ACI Host CLI Test: USB Source Play (CIS Input and Output)
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_SCAN(0x3023) |
action = start(0x00) |
lea_scan start |
CMD_LEA_SCAN(0x3023) |
action = stop(0x01) |
lea_scan stop |
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = usb_ds_us(0x03, 0x03) |
set_route_in usb_ds_us |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = cis(0x04) |
set_route_out cis |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
For CIS, it is necessary to establish an LE link. Please refer to Initiator General ACI Host CLI Test for the connection procedure.
In addition, in the CIS input and output mode, it is necessary to establish a call using call control commands (Such as incoming call and accept call) before initiating start CIS.
-
ACI Host CLI test: Input set_route_in usb_ds_us.
2024-01-23 17:18:40,848 INFO: input command: set_route_in usb_ds_us 2024-01-23 17:18:40,849 INFO: Parser cmdParser: cmd opcode: 3300 param: [03 03] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2024-01-23 17:18:40,850 INFO: Packet sendPacket: <<<send packet: AA 19 04 00 00 33 03 03 AA 2024-01-23 17:18:40,857 INFO: AciHostCLI continuously_read: >>>receive packet: AA 13 05 00 00 00 00 33 00 B5 2024-01-23 17:18:40,858 INFO: Parser eventParser: syncWord: AA,seqn: 13,len: 5,opcode: 0000,params: [00 33 00], check_sum: B5 2024-01-23 17:18:40,860 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:18:40,863 INFO: Parser eventParser: event_id: [00 33] 2024-01-23 17:18:40,866 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_out cis.
2024-01-23 17:18:42,952 INFO: input command: set_route_out cis 2024-01-23 17:18:42,952 INFO: Parser cmdParser: cmd opcode: 3302 param: [04] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2024-01-23 17:18:42,953 INFO: Packet sendPacket: <<<send packet: AA 1A 03 00 02 33 04 AA 2024-01-23 17:18:42,960 INFO: AciHostCLI continuously_read: >>>receive packet: AA 14 05 00 00 00 02 33 00 B2 2024-01-23 17:18:42,961 INFO: Parser eventParser: syncWord: AA,seqn: 14,len: 5,opcode: 0000,params: [02 33 00], check_sum: B2 2024-01-23 17:18:42,962 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:18:42,966 INFO: Parser eventParser: event_id: [02 33] 2024-01-23 17:18:42,968 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Call control procedure (incoming call and accept call).
2024-01-23 17:18:54,685 INFO: input command: ccp_action incomingcall 2024-01-23 17:18:54,686 INFO: Parser cmdParser: cmd opcode: 3032 param: [05 00] name: CMD_LEA_CCP_ACTION 2024-01-23 17:18:54,687 INFO: Packet sendPacket: <<<send packet: AA 1B 04 00 32 30 05 00 7A 2024-01-23 17:18:54,701 INFO: AciHostCLI continuously_read: >>>receive packet: AA 15 03 00 48 01 01 9E 2024-01-23 17:18:54,701 INFO: Parser eventParser: syncWord: AA,seqn: 15,len: 3,opcode: 0148,params: [01], check_sum: 9E 2024-01-23 17:18:54,702 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_CCP_CREATE_CALL 2024-01-23 17:18:54,702 INFO: Parser eventParser: call_index: [01] 2024-01-23 17:18:54,703 INFO: Packet sendPacket: <<<send packet: AA 1C 05 00 00 00 48 01 00 96 2024-01-23 17:18:54,717 INFO: AciHostCLI continuously_read: >>>receive packet: AA 16 05 00 00 00 32 30 00 83 2024-01-23 17:18:54,718 INFO: Parser eventParser: syncWord: AA,seqn: 16,len: 5,opcode: 0000,params: [32 30 00], check_sum: 83 2024-01-23 17:18:54,718 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:18:54,719 INFO: Parser eventParser: event_id: [32 30] 2024-01-23 17:18:54,719 INFO: Parser eventParser: status: [00] 2024-01-23 17:18:56,312 INFO: input command: ccp_action accept1 2024-01-23 17:18:56,313 INFO: Parser cmdParser: cmd opcode: 3032 param: [14 01] name: CMD_LEA_CCP_ACTION 2024-01-23 17:18:56,314 INFO: Packet sendPacket: <<<send packet: AA 1D 04 00 32 30 14 01 68 2024-01-23 17:18:56,329 INFO: AciHostCLI continuously_read: >>>receive packet: AA 17 05 00 00 00 32 30 00 82 2024-01-23 17:18:56,330 INFO: Parser eventParser: syncWord: AA,seqn: 17,len: 5,opcode: 0000,params: [32 30 00], check_sum: 82 2024-01-23 17:18:56,332 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:18:56,333 INFO: Parser eventParser: event_id: [32 30] 2024-01-23 17:18:56,333 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out start.
2024-01-23 17:19:06,596 INFO: input command: route_out start 2024-01-23 17:19:06,597 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2024-01-23 17:19:06,598 INFO: Packet sendPacket: <<<send packet: AA 1E 02 00 06 33 A7 2024-01-23 17:19:06,619 INFO: AciHostCLI continuously_read: >>>receive packet: AA 18 05 00 00 00 06 33 00 AA 2024-01-23 17:19:06,620 INFO: Parser eventParser: syncWord: AA,seqn: 18,len: 5,opcode: 0000,params: [06 33 00], check_sum: AA 2024-01-23 17:19:06,620 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:19:06,621 INFO: Parser eventParser: event_id: [06 33] 2024-01-23 17:19:06,621 INFO: Parser eventParser: status: [00] 2024-01-23 17:19:06,622 INFO: AciHostCLI continuously_read: >>>receive packet: AA 19 07 00 41 01 A8 E1 2C 00 01 E8 2024-01-23 17:19:06,622 INFO: Parser eventParser: syncWord: AA,seqn: 19,len: 7,opcode: 0141,params: [A8 E1 2C 00 01], check_sum: E8 2024-01-23 17:19:06,623 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2024-01-23 17:19:06,624 INFO: Parser eventParser: group_handle: [A8 E1 2C 00] 2024-01-23 17:19:06,625 INFO: Parser eventParser: state: [01] 2024-01-23 17:19:06,626 INFO: Packet sendPacket: <<<send packet: AA 1F 05 00 00 00 41 01 00 9A 2024-01-23 17:19:06,635 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1A 07 00 41 01 A8 E1 2C 00 03 E5 2024-01-23 17:19:06,636 INFO: Parser eventParser: syncWord: AA,seqn: 1A,len: 7,opcode: 0141,params: [A8 E1 2C 00 03], check_sum: E5 2024-01-23 17:19:06,637 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2024-01-23 17:19:06,638 INFO: Parser eventParser: group_handle: [A8 E1 2C 00] 2024-01-23 17:19:06,639 INFO: Parser eventParser: state: [03] 2024-01-23 17:19:06,640 INFO: Packet sendPacket: <<<send packet: AA 20 05 00 00 00 41 01 00 99 2024-01-23 17:19:07,002 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1B 0A 00 44 80 00 00 18 00 00 00 F4 01 0A 2024-01-23 17:19:07,003 INFO: Parser eventParser: syncWord: AA,seqn: 1B,len: 10,opcode: 8044,params: [00 00 18 00 00 00 F4 01], check_sum: 0A 2024-01-23 17:19:07,006 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2024-01-23 17:19:07,009 INFO: Parser eventParser: app_link_id: [00] 2024-01-23 17:19:07,010 INFO: Parser eventParser: res: [00] 2024-01-23 17:19:07,011 INFO: Parser eventParser: connInterval: [18 00] 2024-01-23 17:19:07,011 INFO: Parser eventParser: connLatency: [00 00] 2024-01-23 17:19:07,012 INFO: Parser eventParser: supTimeout: [F4 01] 2024-01-23 17:19:07,013 INFO: Packet sendPacket: <<<send packet: AA 21 05 00 00 00 44 80 00 16 2024-01-23 17:19:07,257 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1C 07 00 41 01 A8 E1 2C 00 04 E2 2024-01-23 17:19:07,258 INFO: Parser eventParser: syncWord: AA,seqn: 1C,len: 7,opcode: 0141,params: [A8 E1 2C 00 04], check_sum: E2 2024-01-23 17:19:07,259 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2024-01-23 17:19:07,260 INFO: Parser eventParser: group_handle: [A8 E1 2C 00] 2024-01-23 17:19:07,261 INFO: Parser eventParser: state: [04] 2024-01-23 17:19:07,263 INFO: Packet sendPacket: <<<send packet: AA 22 05 00 00 00 41 01 00 97
-
ACI Host CLI test: Input route_in start.
2024-01-23 17:19:08,892 INFO: input command: route_in start 2024-01-23 17:19:08,893 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2024-01-23 17:19:08,894 INFO: Packet sendPacket: <<<send packet: AA 23 02 00 04 33 A4 2024-01-23 17:19:08,948 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1D 05 00 00 00 04 33 00 A7 2024-01-23 17:19:08,948 INFO: Parser eventParser: syncWord: AA,seqn: 1D,len: 5,opcode: 0000,params: [04 33 00], check_sum: A7 2024-01-23 17:19:08,949 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:19:08,949 INFO: Parser eventParser: event_id: [04 33] 2024-01-23 17:19:08,950 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out stop.
2024-01-23 17:19:15,611 INFO: input command: route_out stop 2024-01-23 17:19:15,612 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2024-01-23 17:19:15,613 INFO: Packet sendPacket: <<<send packet: AA 24 02 00 07 33 A0 2024-01-23 17:19:15,633 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1E 05 00 00 00 07 33 00 A3 2024-01-23 17:19:15,634 INFO: Parser eventParser: syncWord: AA,seqn: 1E,len: 5,opcode: 0000,params: [07 33 00], check_sum: A3 2024-01-23 17:19:15,634 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:19:15,635 INFO: Parser eventParser: event_id: [07 33] 2024-01-23 17:19:15,636 INFO: Parser eventParser: status: [00] 2024-01-23 17:19:15,636 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1F 07 00 41 01 A8 E1 2C 00 07 DC 2024-01-23 17:19:15,637 INFO: Parser eventParser: syncWord: AA,seqn: 1F,len: 7,opcode: 0141,params: [A8 E1 2C 00 07], check_sum: DC 2024-01-23 17:19:15,637 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2024-01-23 17:19:15,639 INFO: Parser eventParser: group_handle: [A8 E1 2C 00] 2024-01-23 17:19:15,639 INFO: Parser eventParser: state: [07] 2024-01-23 17:19:15,640 INFO: Packet sendPacket: <<<send packet: AA 25 05 00 00 00 41 01 00 94 2024-01-23 17:19:15,808 INFO: AciHostCLI continuously_read: >>>receive packet: AA 20 07 00 41 01 A8 E1 2C 00 01 E1 2024-01-23 17:19:15,809 INFO: Parser eventParser: syncWord: AA,seqn: 20,len: 7,opcode: 0141,params: [A8 E1 2C 00 01], check_sum: E1 2024-01-23 17:19:15,810 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAP_STATE 2024-01-23 17:19:15,811 INFO: Parser eventParser: group_handle: [A8 E1 2C 00] 2024-01-23 17:19:15,811 INFO: Parser eventParser: state: [01] 2024-01-23 17:19:15,812 INFO: Packet sendPacket: <<<send packet: AA 26 05 00 00 00 41 01 00 93 2024-01-23 17:19:16,032 INFO: AciHostCLI continuously_read: >>>receive packet: AA 21 0A 00 44 80 00 00 18 00 00 00 F4 01 04 2024-01-23 17:19:16,033 INFO: Parser eventParser: syncWord: AA,seqn: 21,len: 10,opcode: 8044,params: [00 00 18 00 00 00 F4 01], check_sum: 04 2024-01-23 17:19:16,034 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_PARAM 2024-01-23 17:19:16,035 INFO: Parser eventParser: app_link_id: [00] 2024-01-23 17:19:16,038 INFO: Parser eventParser: res: [00] 2024-01-23 17:19:16,039 INFO: Parser eventParser: connInterval: [18 00] 2024-01-23 17:19:16,040 INFO: Parser eventParser: connLatency: [00 00] 2024-01-23 17:19:16,041 INFO: Parser eventParser: supTimeout: [F4 01] 2024-01-23 17:19:16,041 INFO: Packet sendPacket: <<<send packet: AA 27 05 00 00 00 44 80 00 10
-
ACI Host CLI test: Input route_in stop.
2024-01-23 17:19:17,316 INFO: input command: route_in stop 2024-01-23 17:19:17,317 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2024-01-23 17:19:17,318 INFO: Packet sendPacket: <<<send packet: AA 28 02 00 05 33 9E 2024-01-23 17:19:17,326 INFO: AciHostCLI continuously_read: >>>receive packet: AA 22 05 00 00 00 05 33 00 A1 2024-01-23 17:19:17,327 INFO: Parser eventParser: syncWord: AA,seqn: 22,len: 5,opcode: 0000,params: [05 33 00], check_sum: A1 2024-01-23 17:19:17,331 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-01-23 17:19:17,334 INFO: Parser eventParser: event_id: [05 33] 2024-01-23 17:19:17,336 INFO: Parser eventParser: status: [00]
SD Card Source Play
Before using, please rework the LDO on SD card slot of EVB. Please create a folder named audio
under the root directory and place the MP3 files in it. Then, insert the SD card into the corresponding card slot.
Note
DSP bin under release bin\bank0
should be downloaded.

Rework LDO on EVB
After the SD card is inserted, the SD card source play can be started. SD card source play process:

SD Card Source Play
ACI Host CLI Test: SD Card Source Play
The ACI Host sends CMD_SRC_PLAY_SET_SRC_ROUTE
to the ACI Device to set the SD card input route, sends CMD_SRC_PLAY_SET_PLAY_ROUTE
to set the local output route, sends CMD_SRC_PLAY_ROUTE_IN_START/STOP
to start or stop the SD card input route, and sends CMD_SRC_PLAY_ROUTE_OUT_START/STOP
to start or stop the local output route.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = sd_card(0x04, 0x00) |
set_route_in sd_card |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = local(0x05) |
set_route_out local |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
ACI Host CLI test: Insert SD card to EVB.
-
ACI Host CLI test: Input set_route_in sd_card.
2023-11-08 15:34:24,936 INFO: input command: set_route_in sd_card 2023-11-08 15:34:24,936 INFO: Parser cmdParser: cmd opcode: 3300 param: [04 00] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2023-11-08 15:34:24,937 INFO: Packet sendPacket: <<<send packet: AA 03 04 00 00 33 04 00 C2 2023-11-08 15:34:24,945 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 00 33 02 C3 2023-11-08 15:34:24,946 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [00 33 02], check_sum: C3 2023-11-08 15:34:24,947 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-08 15:34:24,947 INFO: Parser eventParser: event_id: [00 33] 2023-11-08 15:34:24,947 INFO: Parser eventParser: status: [02]
-
ACI Host CLI test: Input set_route_out local.
2023-11-08 15:35:32,279 INFO: input command: set_route_out local 2023-11-08 15:35:32,280 INFO: Parser cmdParser: cmd opcode: 3302 param: [05] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2023-11-08 15:35:32,280 INFO: Packet sendPacket: <<<send packet: AA 04 03 00 02 33 05 BF 2023-11-08 15:35:32,368 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 02 33 02 C0 2023-11-08 15:35:32,368 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [02 33 02], check_sum: C0 2023-11-08 15:35:32,369 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-08 15:35:32,369 INFO: Parser eventParser: event_id: [02 33] 2023-11-08 15:35:32,369 INFO: Parser eventParser: status: [02]
-
ACI Host CLI test: Input route_out start.
2023-11-08 15:36:03,687 INFO: input command: route_out start 2023-11-08 15:36:03,687 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2023-11-08 15:36:03,688 INFO: Packet sendPacket: <<<send packet: AA 05 02 00 06 33 C0 2023-11-08 15:36:03,834 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 06 33 02 BB 2023-11-08 15:36:03,835 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [06 33 02], check_sum: BB 2023-11-08 15:36:03,835 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-08 15:36:03,835 INFO: Parser eventParser: event_id: [06 33] 2023-11-08 15:36:03,835 INFO: Parser eventParser: status: [02]
-
ACI Host CLI test: Input route_in start.
2023-11-08 15:36:52,159 INFO: input command: route_in start 2023-11-08 15:36:52,159 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2023-11-08 15:36:52,160 INFO: Packet sendPacket: <<<send packet: AA 01 02 00 04 33 C6 2023-11-08 15:36:52,165 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 05 00 00 00 04 33 02 BC 2023-11-08 15:36:52,166 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 5,opcode: 0000,params: [04 33 02], check_sum: BC 2023-11-08 15:36:52,169 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-08 15:36:52,171 INFO: Parser eventParser: event_id: [04 33] 2023-11-08 15:36:52,171 INFO: Parser eventParser: status: [02]
-
ACI Host CLI test: Input route_out stop.
2023-11-08 15:37:08,533 INFO: input command: route_out stop 2023-11-08 15:37:08,534 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2023-11-08 15:37:08,534 INFO: Packet sendPacket: <<<send packet: AA 03 02 00 07 33 C1 2023-11-08 15:37:08,542 INFO: AciHostCLI continuously_read: >>>receive packet: AA 08 05 00 00 00 07 33 02 B7 2023-11-08 15:37:08,543 INFO: Parser eventParser: syncWord: AA,seqn: 08,len: 5,opcode: 0000,params: [07 33 02], check_sum: B7 2023-11-08 15:37:08,544 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-08 15:37:08,544 INFO: Parser eventParser: event_id: [07 33] 2023-11-08 15:37:08,544 INFO: Parser eventParser: status: [02]
-
ACI Host CLI test: Input route_in stop.
2023-11-08 15:37:23,015 INFO: input command: route_in stop 2023-11-08 15:37:23,015 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2023-11-08 15:37:23,015 INFO: Packet sendPacket: <<<send packet: AA 05 02 00 05 33 C1 2023-11-08 15:37:23,023 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0A 05 00 00 00 05 33 02 B7 2023-11-08 15:37:23,028 INFO: Parser eventParser: syncWord: AA,seqn: 0A,len: 5,opcode: 0000,params: [05 33 02], check_sum: B7 2023-11-08 15:37:23,029 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-08 15:37:23,030 INFO: Parser eventParser: event_id: [05 33] 2023-11-08 15:37:23,030 INFO: Parser eventParser: status: [02]
SD Card Source Play (BIS/CIS Output)
Before using, please make preparations as described in SD Card Source Play. The music data could be sent to the BUD(s) through BIS.
Note
DSP bin under release bin\DSP_Image\cs_leaaudio_pipe_stereo
should be downloaded.
After SD card is inserted, the SD card source play can be started. SD card source play process:

SD Card Source Play (BIS/CIS Output)
ACI Host CLI Test: SD Card Source Play (BIS/CIS Output)
When using BIS as output path, it is necessary to initialize BIS firstly through CMD_LEA_BSRC_INIT
. The ACI Host sends CMD_SRC_PLAY_SET_SRC_ROUTE
to ACI Device to set the SD card input route, sends CMD_SRC_PLAY_SET_PLAY_ROUTE
to set BIS/CIS output route, sends CMD_SRC_PLAY_ROUTE_IN_START/STOP
to start or stop the SD card input route, and sends CMD_SRC_PLAY_ROUTE_OUT_START/STOP
to start or stop the BIS output route.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_48_4(48k) BIS num = 2 encryption = false ull_mode = false pd = 0x2710 |
bsrcinit 48k_2bis |
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = sd_card(0x04, 0x00) |
set_route_in sd_card |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = bis(0x03) |
set_route_out bis |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = cis(0x04) |
set_route_out cis |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
For CIS, it is necessary to establish an LE link. Please refer to Initiator General ACI Host CLI Test for connection procedure.
ACI Host CLI test: Insert SD card to EVB.
-
ACI Host CLI test: Initialize BIS.
2023-11-09 11:27:18,506 INFO: input command: bsrcinit 48k_2bis 2023-11-09 11:27:18,507 INFO: Parser cmdParser: cmd opcode: 3020 param: [0B 02 00 00 10 27] name: CMD_LEA_BSRC_INIT 2023-11-09 11:27:18,507 INFO: Packet sendPacket: <<<send packet: AA 02 08 00 20 30 0B 02 00 00 10 27 62 2023-11-09 11:27:18,585 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0C 05 00 00 00 20 30 00 9F 2023-11-09 11:27:18,585 INFO: Parser eventParser: syncWord: AA,seqn: 0C,len: 5,opcode: 0000,params: [20 30 00], check_sum: 9F 2023-11-09 11:27:18,586 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-09 11:27:18,586 INFO: Parser eventParser: event_id: [20 30] 2023-11-09 11:27:18,586 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_out bis/cis.
If choose BIS:
2023-11-09 11:28:14,714 INFO: input command: set_route_out bis 2023-11-09 11:28:14,715 INFO: Parser cmdParser: cmd opcode: 3302 param: [03] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2023-11-09 11:28:14,715 INFO: Packet sendPacket: <<<send packet: AA 03 03 00 02 33 03 C2 2023-11-09 11:28:14,725 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0D 05 00 00 00 02 33 02 B7 2023-11-09 11:28:14,727 INFO: Parser eventParser: syncWord: AA,seqn: 0D,len: 5,opcode: 0000,params: [02 33 02], check_sum: B7 2023-11-09 11:28:14,727 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-09 11:28:14,727 INFO: Parser eventParser: event_id: [02 33] 2023-11-09 11:28:14,727 INFO: Parser eventParser: status: [02]
If choose CIS:
2023-11-10 10:27:00,869 INFO: input command: set_route_out cis 2023-11-10 10:27:00,870 INFO: Parser cmdParser: cmd opcode: 3302 param: [04] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2023-11-10 10:27:00,870 INFO: Packet sendPacket: <<<send packet: AA 0F 03 00 02 33 04 B5 2023-11-10 10:27:00,876 INFO: AciHostCLI continuously_read: >>>receive packet: AA 19 05 00 00 00 02 33 02 AB 2023-11-10 10:27:00,876 INFO: Parser eventParser: syncWord: AA,seqn: 19,len: 5,opcode: 0000,params: [02 33 02], check_sum: AB 2023-11-10 10:27:00,876 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-10 10:27:00,877 INFO: Parser eventParser: event_id: [02 33] 2023-11-10 10:27:00,879 INFO: Parser eventParser: status: [02]
-
ACI Host CLI test: Input set_route_in sd_card.
2023-11-09 11:28:32,673 INFO: input command: set_route_in sd_card 2023-11-09 11:28:32,674 INFO: Parser cmdParser: cmd opcode: 3300 param: [04 00] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2023-11-09 11:28:32,676 INFO: Packet sendPacket: <<<send packet: AA 05 04 00 00 33 04 00 C0 2023-11-09 11:28:32,751 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0F 05 00 00 00 00 33 02 B7 2023-11-09 11:28:32,751 INFO: Parser eventParser: syncWord: AA,seqn: 0F,len: 5,opcode: 0000,params: [00 33 02], check_sum: B7 2023-11-09 11:28:32,751 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-09 11:28:32,751 INFO: Parser eventParser: event_id: [00 33] 2023-11-09 11:28:32,752 INFO: Parser eventParser: status: [02]
-
ACI Host CLI test: Input route_out start.
2023-11-09 11:28:51,593 INFO: input command: route_out start 2023-11-09 11:28:51,594 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2023-11-09 11:28:51,594 INFO: Packet sendPacket: <<<send packet: AA 07 02 00 06 33 BE 2023-11-09 11:28:51,607 INFO: AciHostCLI continuously_read: >>>receive packet: AA 11 05 00 00 00 06 33 02 AF 2023-11-09 11:28:51,608 INFO: Parser eventParser: syncWord: AA,seqn: 11,len: 5,opcode: 0000,params: [06 33 02], check_sum: AF 2023-11-09 11:28:51,608 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-09 11:28:51,608 INFO: Parser eventParser: event_id: [06 33] 2023-11-09 11:28:51,608 INFO: Parser eventParser: status: [02]
-
ACI Host CLI test: Input route_in start.
2023-11-09 11:29:17,530 INFO: input command: route_in start 2023-11-09 11:29:17,530 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2023-11-09 11:29:17,531 INFO: Packet sendPacket: <<<send packet: AA 09 02 00 04 33 BE 2023-11-09 11:29:17,545 INFO: AciHostCLI continuously_read: >>>receive packet: AA 13 05 00 00 00 04 33 02 AF 2023-11-09 11:29:17,545 INFO: Parser eventParser: syncWord: AA,seqn: 13,len: 5,opcode: 0000,params: [04 33 02], check_sum: AF 2023-11-09 11:29:17,545 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-09 11:29:17,545 INFO: Parser eventParser: event_id: [04 33] 2023-11-09 11:29:17,546 INFO: Parser eventParser: status: [02]
-
ACI Host CLI test: Input route_out stop.
2023-11-09 11:29:45,331 INFO: input command: route_out stop 2023-11-09 11:29:45,332 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2023-11-09 11:29:45,332 INFO: Packet sendPacket: <<<send packet: AA 0B 02 00 07 33 B9 2023-11-09 11:29:45,338 INFO: AciHostCLI continuously_read: >>>receive packet: AA 15 05 00 00 00 07 33 02 AA 2023-11-09 11:29:45,343 INFO: Parser eventParser: syncWord: AA,seqn: 15,len: 5,opcode: 0000,params: [07 33 02], check_sum: AA 2023-11-09 11:29:45,343 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-09 11:29:45,344 INFO: Parser eventParser: event_id: [07 33] 2023-11-09 11:29:45,346 INFO: Parser eventParser: status: [02]
-
ACI Host CLI test: Input route_in stop.
2023-11-09 11:29:56,073 INFO: input command: route_in stop 2023-11-09 11:29:56,074 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2023-11-09 11:29:56,074 INFO: Packet sendPacket: <<<send packet: AA 0D 02 00 05 33 B9 2023-11-09 11:29:56,115 INFO: AciHostCLI continuously_read: >>>receive packet: AA 17 05 00 00 00 05 33 02 AA 2023-11-09 11:29:56,116 INFO: Parser eventParser: syncWord: AA,seqn: 17,len: 5,opcode: 0000,params: [05 33 02], check_sum: AA 2023-11-09 11:29:56,116 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-11-09 11:29:56,118 INFO: Parser eventParser: event_id: [05 33] 2023-11-09 11:29:56,118 INFO: Parser eventParser: status: [02]
Multilink A2DP Source Play
Before using, please configure MIC 2 on the EVB and connect to PC through Line-in or I2S. Two BUDs need to be connected to EVB. After Line-in is connected and music on PC is started, the music data will be sent to the connected BUDs through multi-A2DP.
Multi-A2DP Source play process:

Multi-A2DP Source Play
ACI Host CLI Test: Multilink A2DP Source Play
The ACI Host sends CMD_SRC_PLAY_SET_SRC_ROUTE
to ACI Device to set the Line-in or I2S input route, sends CMD_SRC_PLAY_SET_PLAY_ROUTE
to set multi-A2DP output route, sends CMD_SRC_PLAY_ROUTE_IN_START/STOP
to start or stop the Line-in input route, and sends CMD_SRC_PLAY_ROUTE_OUT_START/STOP
to start or stop the multi-A2DP output route.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = linein(0x02, 0x00) |
set_route_in linein |
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = i2s(0x06, 0x00) |
set_route_in i2s |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = multi-A2DP(0x06) |
set_route_out multi_a2dp |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
-
ACI Host CLI test: Connect ACI Device to BUD.
Please refer to Connect to BUD.
-
ACI Host CLI test: Input set route_in.
If set route_in as Line-in:
2024-02-02 11:08:52,505 INFO: input command: set_route_in linein 2024-02-02 11:08:52,506 INFO: Parser cmdParser: cmd opcode: 3300 param: [02 00] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2024-02-02 11:08:52,507 INFO: Packet sendPacket: <<<send packet: AA 05 04 00 00 33 02 00 C2 2024-02-02 11:08:52,524 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 00 33 00 C3 2024-02-02 11:08:52,525 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [00 33 00], check_sum: C3 2024-02-02 11:08:52,530 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-02 11:08:52,543 INFO: Parser eventParser: event_id: [00 33] 2024-02-02 11:08:52,545 INFO: Parser eventParser: status: [00]
If set route_in as I2S:
2024-02-05 10:25:38,424 INFO: input command: set_route_in i2s 2024-02-05 10:25:38,425 INFO: Parser cmdParser: cmd opcode: 3300 param: [06 00] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2024-02-05 10:25:38,425 INFO: Packet sendPacket: <<<send packet: AA 05 04 00 00 33 06 00 BE 2024-02-05 10:25:38,441 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 00 33 00 C3 2024-02-05 10:25:38,447 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [00 33 00], check_sum: C3 2024-02-05 10:25:38,456 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-05 10:25:38,460 INFO: Parser eventParser: event_id: [00 33] 2024-02-05 10:25:38,463 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_out multi_a2dp.
2024-02-02 11:08:55,383 INFO: input command: set_route_out multi_a2dp 2024-02-02 11:08:55,384 INFO: Parser cmdParser: cmd opcode: 3302 param: [06] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2024-02-02 11:08:55,385 INFO: Packet sendPacket: <<<send packet: AA 06 03 00 02 33 06 BC 2024-02-02 11:08:55,398 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 05 00 00 00 02 33 00 C0 2024-02-02 11:08:55,408 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 5,opcode: 0000,params: [02 33 00], check_sum: C0 2024-02-02 11:08:55,409 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-02 11:08:55,411 INFO: Parser eventParser: event_id: [02 33] 2024-02-02 11:08:55,414 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out start.
2024-02-02 11:09:01,260 INFO: input command: route_out start 2024-02-02 11:09:01,264 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2024-02-02 11:09:01,266 INFO: Packet sendPacket: <<<send packet: AA 08 02 00 06 33 BD 2024-02-02 11:09:01,278 INFO: AciHostCLI continuously_read: >>>receive packet: AA 08 05 00 00 00 06 33 00 BA 2024-02-02 11:09:01,281 INFO: Parser eventParser: syncWord: AA,seqn: 08,len: 5,opcode: 0000,params: [06 33 00], check_sum: BA 2024-02-02 11:09:01,285 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-02 11:09:01,289 INFO: Parser eventParser: event_id: [06 33] 2024-02-02 11:09:01,296 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in start.
2024-02-02 11:09:07,967 INFO: input command: route_in start 2024-02-02 11:09:07,968 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2024-02-02 11:09:07,969 INFO: Packet sendPacket: <<<send packet: AA 0A 02 00 04 33 BD 2024-02-02 11:09:07,977 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0B 05 00 00 00 04 33 00 B9 2024-02-02 11:09:07,980 INFO: Parser eventParser: syncWord: AA,seqn: 0B,len: 5,opcode: 0000,params: [04 33 00], check_sum: B9 2024-02-02 11:09:07,983 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-02 11:09:07,985 INFO: Parser eventParser: event_id: [04 33] 2024-02-02 11:09:07,991 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out stop.
2024-02-02 11:09:17,534 INFO: input command: route_out stop 2024-02-02 11:09:17,535 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2024-02-02 11:09:17,535 INFO: Packet sendPacket: <<<send packet: AA 0B 02 00 07 33 B9 2024-02-02 11:09:17,544 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0C 05 00 00 00 07 33 00 B5 2024-02-02 11:09:17,546 INFO: Parser eventParser: syncWord: AA,seqn: 0C,len: 5,opcode: 0000,params: [07 33 00], check_sum: B5 2024-02-02 11:09:17,551 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-02 11:09:17,552 INFO: Parser eventParser: event_id: [07 33] 2024-02-02 11:09:17,554 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in stop.
2024-02-02 11:09:20,598 INFO: input command: route_in stop 2024-02-02 11:09:20,599 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2024-02-02 11:09:20,599 INFO: Packet sendPacket: <<<send packet: AA 0C 02 00 05 33 BA 2024-02-02 11:09:20,614 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0D 05 00 00 00 05 33 00 B6 2024-02-02 11:09:20,615 INFO: Parser eventParser: syncWord: AA,seqn: 0D,len: 5,opcode: 0000,params: [05 33 00], check_sum: B6 2024-02-02 11:09:20,616 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-02-02 11:09:20,618 INFO: Parser eventParser: event_id: [05 33] 2024-02-02 11:09:20,624 INFO: Parser eventParser: status: [00]
Attach Feature to Source Play
The source play interface, in addition to providing basic audio stream configuration, also supports the attachment of additional features. Currently supported features include:
NREC: Noise reduction algorithm for audio recording.
Append LOCAL PLAY: Simultaneous play through the local speaker alongside the basic audio stream.
The CMD_SRC_PLAY_ATTACH_FEATURE
command is used to configure the required features. Different features have different usage scenarios, and not all combinations of source routes and play routes support all features. Therefore, users must first configure the source route and play route before attaching the desired features. Additionally, the attachment of features must be completed before initiating CMD_SRC_PLAY_ROUTE_OUT_START
or CMD_SRC_PLAY_ROUTE_IN_START
.
Additionally, users can use the CMD_SRC_PLAY_DETACH_FEATURE
command to disable any previously configured features. This command shall be executed before initiating CMD_SRC_PLAY_ROUTE_OUT_START
or CMD_SRC_PLAY_ROUTE_IN_START
.
-
Scenarios for NREC The supported scenarios for NREC are as follows.
Scenarios for NREC Route in (Source Route)
Route out (Play Route)
MIC
CIS
MIC
BIS
MIC
HFP_AG
Note
The NREC algorithm only supports 16k and 32k sampling rates. Therefore, when NREC is attached, users shall ensure that BIS is initiated to 16k, while CIS will preferentially use 16k by default.
-
Scenarios for Append LOCAL PLAY The supported scenarios for NREC are as follows.
Scenarios for Append LOCAL PLAY Route in (Source Route)
Route out (Play Route)
MIC
A2DP
MIC
HFP_AG
MIC
BIS
MIC
CIS
Line-in
A2DP
Line-in
HFP_AG
Line-in
BIS
Line-in
CIS
SPDIF
A2DP
SPDIF
HFP_AG
SPDIF
BIS
SPDIF
CIS
I2S
A2DP
I2S
HFP_AG
I2S
BIS
I2S
CIS
Attach feature process:

Attach Feature
ACI Host CLI Test: Attach Feature to Source Play
For example, set the source route to MIC, the play route to A2DP, and attach Append LOCAL PLAY.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = mic(0x01, 0x00) |
set_route_in mic |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = A2DP(0x01) |
set_route_out a2dp |
CMD_SRC_PLAY_ATTACH_FEATURE(0x3312) |
action = localplay(0x02, 0x00) |
attach_feature localplay |
CMD_SRC_PLAY_ATTACH_FEATURE(0x3313) |
action = localplay(0x02, 0x00) |
detach_feature localplay |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
-
ACI Host CLI test: Connect ACI Device to BUD.
Please refer to Connect to BUD.
-
ACI Host CLI test: Input set route_in mic.
2024-11-11 14:14:25,431 INFO: input command: set_route_in mic 2024-11-11 14:14:25,432 INFO: Parser cmdParser: cmd opcode: 3300 param: [01 01] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2024-11-11 14:14:25,434 INFO: Packet sendPacket: <<<send packet: AA 2A 04 00 00 33 01 01 9D 2024-11-11 14:14:25,506 WARNING: AciHostCLI retrans: retransmit command set_route_in mic due to ack timeout! retry: 1 2024-11-11 14:14:25,507 INFO: Packet sendPacket: <<<send packet: AA 2A 04 00 00 33 01 01 9D 2024-11-11 14:14:25,519 INFO: AciHostCLI continuously_read: >>>receive packet: AA 24 05 00 00 00 00 33 00 A4 2024-11-11 14:14:25,519 INFO: Parser eventParser: syncWord: AA,seqn: 24,len: 5,opcode: 0000,params: [00 33 00], check_sum: A4 2024-11-11 14:14:25,520 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-11-11 14:14:25,520 INFO: Parser eventParser: event_id: [00 33] 2024-11-11 14:14:25,521 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set route_out a2dp.
2024-11-11 14:14:32,537 INFO: input command: set_route_out a2dp 2024-11-11 14:14:32,538 INFO: Parser cmdParser: cmd opcode: 3302 param: [01] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2024-11-11 14:14:32,538 INFO: Packet sendPacket: <<<send packet: AA 2B 03 00 02 33 01 9C 2024-11-11 14:14:32,993 INFO: AciHostCLI continuously_read: >>>receive packet: AA 25 05 00 00 00 02 33 00 A1 2024-11-11 14:14:32,994 INFO: Parser eventParser: syncWord: AA,seqn: 25,len: 5,opcode: 0000,params: [02 33 00], check_sum: A1 2024-11-11 14:14:32,995 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-11-11 14:14:32,995 INFO: Parser eventParser: event_id: [02 33] 2024-11-11 14:14:32,997 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input attach_feature localplay.
2024-11-11 14:14:37,018 INFO: input command: attach_feature localplay 2024-11-11 14:14:37,019 INFO: Parser cmdParser: cmd opcode: 3312 param: [02] name: CMD_SRC_PLAY_ATTACH_FEATURE 2024-11-11 14:14:37,019 INFO: Packet sendPacket: <<<send packet: AA 2C 03 00 12 33 02 8A 2024-11-11 14:14:37,035 INFO: AciHostCLI continuously_read: >>>receive packet: AA 26 05 00 00 00 12 33 00 90 2024-11-11 14:14:37,035 INFO: Parser eventParser: syncWord: AA,seqn: 26,len: 5,opcode: 0000,params: [12 33 00], check_sum: 90 2024-11-11 14:14:37,036 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-11-11 14:14:37,036 INFO: Parser eventParser: event_id: [12 33] 2024-11-11 14:14:37,036 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out start.
2024-11-11 14:14:40,359 INFO: input command: route_out start 2024-11-11 14:14:40,360 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2024-11-11 14:14:40,360 INFO: Packet sendPacket: <<<send packet: AA 2D 02 00 06 33 98 2024-11-11 14:14:40,532 INFO: AciHostCLI continuously_read: >>>receive packet: AA 27 05 00 00 00 06 33 00 9B 2024-11-11 14:14:40,533 INFO: Parser eventParser: syncWord: AA,seqn: 27,len: 5,opcode: 0000,params: [06 33 00], check_sum: 9B 2024-11-11 14:14:40,533 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-11-11 14:14:40,534 INFO: Parser eventParser: event_id: [06 33] 2024-11-11 14:14:40,534 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in start, and music can be heard from both remote buds and local speaker.
2024-11-11 14:14:45,532 INFO: input command: route_in start 2024-11-11 14:14:45,533 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2024-11-11 14:14:45,533 INFO: Packet sendPacket: <<<send packet: AA 2E 02 00 04 33 99 2024-11-11 14:14:45,628 INFO: AciHostCLI continuously_read: >>>receive packet: AA 28 05 00 00 00 04 33 00 9C 2024-11-11 14:14:45,629 INFO: Parser eventParser: syncWord: AA,seqn: 28,len: 5,opcode: 0000,params: [04 33 00], check_sum: 9C 2024-11-11 14:14:45,629 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-11-11 14:14:45,630 INFO: Parser eventParser: event_id: [04 33] 2024-11-11 14:14:45,630 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_out stop.
2024-11-11 14:15:26,933 INFO: input command: route_out stop 2024-11-11 14:15:26,934 INFO: Parser cmdParser: cmd opcode: 3307 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_STOP 2024-11-11 14:15:26,935 INFO: Packet sendPacket: <<<send packet: AA 2F 02 00 07 33 95 2024-11-11 14:15:26,952 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2A 05 00 00 00 07 33 00 97 2024-11-11 14:15:26,954 INFO: Parser eventParser: syncWord: AA,seqn: 2A,len: 5,opcode: 0000,params: [07 33 00], check_sum: 97 2024-11-11 14:15:26,955 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-11-11 14:15:26,955 INFO: Parser eventParser: event_id: [07 33] 2024-11-11 14:15:26,956 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in stop.
2024-11-11 14:15:30,255 INFO: input command: route_in stop 2024-11-11 14:15:30,256 INFO: Parser cmdParser: cmd opcode: 3305 param: [] name: CMD_SRC_PLAY_ROUTE_IN_STOP 2024-11-11 14:15:30,258 INFO: Packet sendPacket: <<<send packet: AA 30 02 00 05 33 96 2024-11-11 14:15:30,276 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2B 05 00 00 00 05 33 00 98 2024-11-11 14:15:30,277 INFO: Parser eventParser: syncWord: AA,seqn: 2B,len: 5,opcode: 0000,params: [05 33 00], check_sum: 98 2024-11-11 14:15:30,278 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-11-11 14:15:30,279 INFO: Parser eventParser: event_id: [05 33] 2024-11-11 14:15:30,280 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input dettach_feature localplay.
2024-11-11 14:15:35,662 INFO: input command: detach_feature localplay 2024-11-11 14:15:35,663 INFO: Parser cmdParser: cmd opcode: 3313 param: [02] name: CMD_SRC_PLAY_DETACH_FEATURE 2024-11-11 14:15:35,663 INFO: Packet sendPacket: <<<send packet: AA 31 03 00 13 33 02 84 2024-11-11 14:15:35,675 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2C 05 00 00 00 13 33 00 89 2024-11-11 14:15:35,677 INFO: Parser eventParser: syncWord: AA,seqn: 2C,len: 5,opcode: 0000,params: [13 33 00], check_sum: 89 2024-11-11 14:15:35,677 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-11-11 14:15:35,678 INFO: Parser eventParser: event_id: [13 33] 2024-11-11 14:15:35,678 INFO: Parser eventParser: status: [00]
ACI Host CLI test: Input route_out start.
2024-11-11 14:15:40,286 INFO: input command: route_out start 2024-11-11 14:15:40,287 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2024-11-11 14:15:40,288 INFO: Packet sendPacket: <<<send packet: AA 32 02 00 06 33 93 2024-11-11 14:15:40,306 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2D 05 00 00 00 06 33 00 95 2024-11-11 14:15:40,309 INFO: Parser eventParser: syncWord: AA,seqn: 2D,len: 5,opcode: 0000,params: [06 33 00], check_sum: 95 2024-11-11 14:15:40,309 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-11-11 14:15:40,310 INFO: Parser eventParser: event_id: [06 33] 2024-11-11 14:15:40,310 INFO: Parser eventParser: status: [00]
ACI Host CLI test: Input route_in start.
2024-11-11 14:15:43,878 INFO: input command: route_in start 2024-11-11 14:15:43,879 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2024-11-11 14:15:43,880 INFO: Packet sendPacket: <<<send packet: AA 33 02 00 04 33 94 2024-11-11 14:15:43,932 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2E 05 00 00 00 04 33 00 96 2024-11-11 14:15:43,933 INFO: Parser eventParser: syncWord: AA,seqn: 2E,len: 5,opcode: 0000,params: [04 33 00], check_sum: 96 2024-11-11 14:15:43,933 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-11-11 14:15:43,934 INFO: Parser eventParser: event_id: [04 33] 2024-11-11 14:15:43,935 INFO: Parser eventParser: status: [00]
Bluetooth Audio Receiver
This chapter introduces the functionality of the bt_audio_receiver application scenario. This functionality is enabled by opening the macro definition F_APP_BT_AUDIO_RECEIVER_DEMO_SUPPORT
in app_flags.h
. This chapter describes how to use these functions and the flow of how to test them, including the MSCs of the ACI Device and ACI Host interaction, and the commands used by ACI Host CLI Tool.
HFP Function

HFP
ACI Host CLI Test: HFP Function
Command |
Parameters |
ACI Host CLI CMD |
Description |
---|---|---|---|
CMD_MMI = 0x0004 |
action = MMI_HF_ANSWER_CALL(0x0003) |
mmi answer |
Answer an incoming call. |
CMD_MMI = 0x0004 |
action = MMI_HF_REJECT_CALL(0x0004) |
mmi reject |
Reject an incoming call. |
CMD_BT_HFP_DIAL_WITH_NUMBER = 0x001B |
number = {…} |
call 10086 |
HFP dial with number 10086. |
MAP Function
Based on the scenario introduced in Connect to Phone, MAP can be used to combine the messaging capabilities of a messaging server device and the user interface capabilities of a client device for browsing, reading, and sending messages.
Before using the MAP function, it is necessary to enable Message access on Android devices, and enable Show Notifications on iOS devices.

MAP before Use
MAP process:

MAP

MAP Get Handle
As introduced in the figure, after the MAP connection is established, the device will set a folder to root\telecom\msg
. The parameters of CMD_MAP_GET_MESSAGE
need to be set according to the handle
value of the specific message in the message list.
ACI Host CLI Test: MAP Function
The ACI Host uses CMD_MAP_CONNECT
with a status parameter to the ACI Device to establish a MAP connection, uses CMD_MAP_GET_FOLDER_LISTING
, CMD_MAP_GET_MESSAGE_LISTING
, and CMD_MAP_GET_MESSAGE
to get folders and messages, and uses CMD_MAP_REG_MSG_NOTIFICATION
to register message notifications.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_MAP_CONNECT(0x3801) |
action = map_connect |
map connect |
CMD_MAP_GET_FOLDER_LISTING(0x3802) |
action = get_folder_list(0x0A) |
map get folder list |
CMD_MAP_DISCONNECT(0x3803) |
action = map_disconnect |
map disconnect |
CMD_MAP_GET_MESSAGE_LISTING(0x3805) |
action = get_msg_list(0x0A) |
map get msg list |
CMD_MAP_REG_MSG_NOTIFICATION(0x3809) |
action = reg_msg_note(0x01) |
map reg msg note |
CMD_MAP_GET_MESSAGE(0x380A) |
action = get_msg(handle_length, handle) |
map get msg |
CMD_MAP_PUSH_MESSAGE(0x3810) |
action = push_msg(msg_length, msg) |
map push msg |
-
ACI Host CLI test: Connect ACI Device to Phone.
Please refer to Connect to Phone.
-
ACI Host CLI test: MAP connect.
2023-03-08 14:40:07,573 INFO: input command: map connect 2023-03-08 14:40:07,574 INFO: Parser cmdParser: cmd opcode: 3801 param: [] name: CMD_MAP_CONNECT 2023-03-08 14:40:07,575 INFO: Packet sendPacket: <<<send packet: AA 1B 02 00 01 38 AA 2023-03-08 14:40:07,579 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1B 05 00 00 00 01 38 00 A7 2023-03-08 14:40:07,579 INFO: Parser eventParser: syncWord: AA,seqn: 1B,len: 5,opcode: 0000,params: [01 38 00], check_sum: A7 2023-03-08 14:40:07,580 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-08 14:40:07,580 INFO: Parser eventParser: event_id: [01 38] 2023-03-08 14:40:07,580 INFO: Parser eventParser: status: [00] 2023-03-08 14:40:07,804 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1C 09 00 24 09 00 41 AF 7B 6C 32 20 85 2023-03-08 14:40:07,804 INFO: Parser eventParser: syncWord: AA,seqn: 1C,len: 9,opcode: 0924,params: [00 41 AF 7B 6C 32 20], check_sum: 85 2023-03-08 14:40:07,806 INFO: Parser eventParser: event name: EVENT_SERVICES_SEARCH_STATE 2023-03-08 14:40:07,807 INFO: Packet sendPacket: <<<send packet: AA 1C 05 00 00 00 24 09 00 B2
-
ACI Host CLI test: MAP get folder list.
2023-03-08 14:40:32,790 INFO: input command: map get_folder_list 2023-03-08 14:40:32,791 INFO: Parser cmdParser: cmd opcode: 3802 param: [0A 00] name: CMD_MAP_GET_FOLDER_LISTING 2023-03-08 14:40:32,792 INFO: Packet sendPacket: <<<send packet: AA 1D 04 00 02 38 0A 00 9B 2023-03-08 14:40:32,803 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1D 05 00 00 00 02 38 00 A4 2023-03-08 14:40:32,804 INFO: Parser eventParser: syncWord: AA,seqn: 1D,len: 5,opcode: 0000,params: [02 38 00], check_sum: A4 2023-03-08 14:40:32,804 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-08 14:40:32,804 INFO: Parser eventParser: event_id: [02 38] 2023-03-08 14:40:32,805 INFO: Parser eventParser: status: [00] 2023-03-08 14:40:33,208 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1E FA 00 04 38 3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 27 31 2E 30 27 20 65 6E 63 6F 64 69 2023-03-08 14:40:33,209 INFO: Parser eventParser: syncWord: AA,seqn: 1E,len: 250,opcode: 3804,params: [3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 27 31 2E 30 27 20 65 6E 63 6F 64 69 6E 67 3D 27 75 74], check_sum: C3 2023-03-08 14:40:33,210 INFO: Packet sendPacket: <<<send packet: AA 1E 05 00 00 00 04 38 00 A1
-
ACI Host CLI test: MAP get message list.
2023-03-08 14:41:04,092 INFO: input command: map get_msg_list 2023-03-08 14:41:04,093 INFO: Parser cmdParser: cmd opcode: 3805 param: [0A 00] name: CMD_MAP_GET_MESSAGE_LISTING 2023-03-08 14:41:04,095 INFO: Packet sendPacket: <<<send packet: AA 1F 04 00 05 38 0A 00 96 2023-03-08 14:41:04,108 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1F 05 00 00 00 05 38 00 9F 2023-03-08 14:41:04,109 INFO: Parser eventParser: syncWord: AA,seqn: 1F,len: 5,opcode: 0000,params: [05 38 00], check_sum: 9F 2023-03-08 14:41:04,109 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-08 14:41:04,109 INFO: Parser eventParser: event_id: [05 38] 2023-03-08 14:41:04,110 INFO: Parser eventParser: status: [00] 2023-03-08 14:41:05,232 INFO: AciHostCLI continuously_read: >>>receive packet: AA 20 CA 03 06 38 3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 27 31 2E 30 27 20 65 6E 63 6F 64 69 2023-03-08 14:41:05,232 INFO: Parser eventParser: syncWord: AA,seqn: 20,len: 970,opcode: 3806,params: [3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 27 31 2E 30 27 20 65 6E 63 6F 64 69 6E 67 3D 27 75 74], check_sum: 6B 2023-03-08 14:41:05,234 INFO: Packet sendPacket: <<<send packet: AA 20 05 00 00 00 06 38 00 9D 2023-03-08 14:41:05,267 INFO: AciHostCLI continuously_read: >>>receive packet: AA 21 CA 03 06 38 31 34 36 31 32 22 20 73 65 6E 64 65 72 5F 61 64 64 72 65 73 73 69 6E 67 3D 22 2023-03-08 14:41:05,268 INFO: Parser eventParser: syncWord: AA,seqn: 21,len: 970,opcode: 3806,params: [31 34 36 31 32 22 20 73 65 6E 64 65 72 5F 61 64 64 72 65 73 73 69 6E 67 3D 22 31 30 36 35 39 31], check_sum: 3E 2023-03-08 14:41:05,269 INFO: Packet sendPacket: <<<send packet: AA 21 05 00 00 00 06 38 00 9C 2023-03-08 14:41:05,378 INFO: AciHostCLI continuously_read: >>>receive packet: AA 22 CA 03 06 38 3D 22 6E 6F 22 20 70 72 6F 74 65 63 74 65 64 3D 22 6E 6F 22 20 2F 3E 0A 20 20 2023-03-08 14:41:05,379 INFO: Parser eventParser: syncWord: AA,seqn: 22,len: 970,opcode: 3806,params: [3D 22 6E 6F 22 20 70 72 6F 74 65 63 74 65 64 3D 22 6E 6F 22 20 2F 3E 0A 20 20 20 20 3C 6D 73 67], check_sum: D5 2023-03-08 14:41:05,381 INFO: Packet sendPacket: <<<send packet: AA 22 05 00 00 00 06 38 00 9B 2023-03-08 14:41:05,401 INFO: AciHostCLI continuously_read: >>>receive packet: AA 23 B6 03 07 38 65 6E 64 65 72 5F 61 64 64 72 65 73 73 69 6E 67 3D 22 31 30 36 35 39 33 31 31 2023-03-08 14:41:05,403 INFO: Parser eventParser: syncWord: AA,seqn: 23,len: 950,opcode: 3807,params: [65 6E 64 65 72 5F 61 64 64 72 65 73 73 69 6E 67 3D 22 31 30 36 35 39 33 31 31 31 33 22 20 72 65], check_sum: 10 2023-03-08 14:41:05,405 INFO: Packet sendPacket: <<<send packet: AA 23 05 00 00 00 07 38 00 99
-
ACI Host CLI test: MAP get message.
2023-03-08 14:41:34,092 INFO: input command: map get_msg 2023-03-08 14:41:34,093 INFO: Parser cmdParser: cmd opcode: 380A param: [22 00 30 00 30 00 34 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 42 00] name: CMD_MAP_GET_MESSAGE 2023-03-08 14:41:34,093 INFO: Packet sendPacket: <<<send packet: AA 24 24 00 0A 38 22 00 30 00 30 00 34 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 2023-03-08 14:41:34,107 INFO: AciHostCLI continuously_read: >>>receive packet: AA 24 05 00 00 00 0A 38 00 95 2023-03-08 14:41:34,108 INFO: Parser eventParser: syncWord: AA,seqn: 24,len: 5,opcode: 0000,params: [0A 38 00], check_sum: 95 2023-03-08 14:41:34,108 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-08 14:41:34,108 INFO: Parser eventParser: event_id: [0A 38] 2023-03-08 14:41:34,108 INFO: Parser eventParser: status: [00] 2023-03-08 14:41:34,460 INFO: AciHostCLI continuously_read: >>>receive packet: AA 25 1B 01 0C 38 42 45 47 49 4E 3A 42 4D 53 47 0D 0A 56 45 52 53 49 4F 4E 3A 31 2E 30 0D 0A 53 2023-03-08 14:41:34,460 INFO: Parser eventParser: syncWord: AA,seqn: 25,len: 283,opcode: 380C,params: [42 45 47 49 4E 3A 42 4D 53 47 0D 0A 56 45 52 53 49 4F 4E 3A 31 2E 30 0D 0A 53 54 41 54 55 53 3A], check_sum: 62 2023-03-08 14:41:34,461 INFO: Packet sendPacket: <<<send packet: AA 25 05 00 00 00 0C 38 00 92
-
ACI Host CLI test: MAP register notification.
2023-03-08 14:43:32,651 INFO: input command: map reg_msg_note 2023-03-08 14:43:32,653 INFO: Parser cmdParser: cmd opcode: 3809 param: [01] name: CMD_MAP_REG_MSG_NOTIFICATION 2023-03-08 14:43:32,654 INFO: Packet sendPacket: <<<send packet: AA 05 03 00 09 38 01 B6 2023-03-08 14:43:32,672 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2A 05 00 00 00 09 38 00 90 2023-03-08 14:43:32,673 INFO: Parser eventParser: syncWord: AA,seqn: 2A,len: 5,opcode: 0000,params: [09 38 00], check_sum: 90 2023-03-08 14:43:32,673 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-08 14:43:32,674 INFO: Parser eventParser: event_id: [09 38] 2023-03-08 14:43:32,674 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: MAP push message.
2023-03-08 14:42:49,284 INFO: input command: map push_msg 2023-03-08 14:42:49,287 INFO: Parser cmdParser: cmd opcode: 3810 param: [F8 00 42 45 47 49 4E 3A 42 4D 53 47 0D 0A 56 45 52 53 49 4F 4E 3A 31 2E 30 0D 0A 53 54 41 54 55] name: CMD_MAP_PUSH_MESSAGE 2023-03-08 14:42:49,289 INFO: Packet sendPacket: <<<send packet: AA 03 FC 00 10 38 F8 00 42 45 47 49 4E 3A 42 4D 53 47 0D 0A 56 45 52 53 49 4F 4E 3A 31 2E 30 0D 2023-03-08 14:42:49,296 INFO: AciHostCLI continuously_read: >>>receive packet: AA 28 05 00 00 00 10 38 00 8B 2023-03-08 14:42:49,296 INFO: Parser eventParser: syncWord: AA,seqn: 28,len: 5,opcode: 0000,params: [10 38 00], check_sum: 8B 2023-03-08 14:42:49,296 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-08 14:42:49,297 INFO: Parser eventParser: event_id: [10 38] 2023-03-08 14:42:49,297 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: MAP disconnect.
2023-03-08 19:15:22,350 INFO: input command: map disconnect 2023-03-08 19:15:22,353 INFO: Parser cmdParser: cmd opcode: 3803 param: [] name: CMD_MAP_DISCONNECT 2023-03-08 19:15:22,354 INFO: Packet sendPacket: <<<send packet: AA 39 02 00 03 38 8A 2023-03-08 19:15:22,368 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2E 05 00 00 00 03 38 00 92 2023-03-08 19:15:22,371 INFO: Parser eventParser: syncWord: AA,seqn: 2E,len: 5,opcode: 0000,params: [03 38 00], check_sum: 92 2023-03-08 19:15:22,373 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-08 19:15:22,373 INFO: Parser eventParser: event_id: [03 38] 2023-03-08 19:15:22,374 INFO: Parser eventParser: status: [00]
PBAP Function
Based on the scenario introduced in Connect to Phone, PBAP can be used to pull phone book objects and combined call history from the server device.
Before using the PBAP function, Android phones need to open Contact access, and iOS phones need to open Sync Contacts.

PBAP before Use
PBAP process:

PBAP
As introduced in the figure, after the PBAP connection is established, the device will set a folder to root\telecom\pb
. The folder will be set to root\telecom\cch
when the device uses CMD_PBAP_DOWNLOAD
with download_cch action.
ACI Host CLI Test: PBAP Function
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_PBAP_DOWNLOAD(0x0420) |
action = download_all(0x03) |
pbap download_all |
CMD_PBAP_DOWNLOAD(0x0420) |
action = download_PB(0x04) |
pbap download_PB |
CMD_PBAP_DOWNLOAD(0x0420) |
action = download_cch(0x05) |
pbap download_cch |
CMD_PBAP_CONNECT(0x0423) |
action = pbap_connect |
pbap connect |
CMD_PBAP_DISCONNECT(0x0426) |
action = pbap_disconnect |
pbap disconnect |
The ACI Host uses CMD_PBAP_CONNECT
to ACI Device to establish PBAP connection, and uses CMD_PBAP_DOWNLOAD
to get phone book and call history.
-
ACI Host CLI test: Connect ACI Device to Phone.
Please refer to Connect to Phone.
-
ACI Host CLI test: PBAP connect.
2023-03-09 16:53:57,753 INFO: input command: pbap connect 2023-03-09 16:53:57,753 INFO: Parser cmdParser: cmd opcode: 0423 param: [] name: CMD_PBAP_CONNECT 2023-03-09 16:53:57,754 INFO: Packet sendPacket: <<<send packet: AA 44 02 00 23 04 83 2023-03-09 16:53:57,762 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1E 05 00 00 00 23 04 00 A6 2023-03-09 16:53:57,763 INFO: Parser eventParser: syncWord: AA,seqn: 1E,len: 5,opcode: 0000,params: [23 04 00], check_sum: A6 2023-03-09 16:53:57,763 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-09 16:53:57,763 INFO: Parser eventParser: event_id: [23 04] 2023-03-09 16:53:57,763 INFO: Parser eventParser: status: [00] 2023-03-09 16:53:58,003 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1F 09 00 24 09 00 41 AF 7B 6C 32 20 82 2023-03-09 16:53:58,003 INFO: Parser eventParser: syncWord: AA,seqn: 1F,len: 9,opcode: 0924,params: [00 41 AF 7B 6C 32 20], check_sum: 82 2023-03-09 16:53:58,004 INFO: Parser eventParser: event name: EVENT_SERVICES_SEARCH_STATE 2023-03-09 16:53:58,004 INFO: Packet sendPacket: <<<send packet: AA 45 05 00 00 00 24 09 00 89
-
ACI Host CLI test: PBAP download phone book.
2023-03-09 16:54:40,282 INFO: input command: pbap download_PB 2023-03-09 16:54:40,283 INFO: Parser cmdParser: cmd opcode: 0420 param: [04] name: CMD_PBAP_DOWNLOAD 2023-03-09 16:54:40,283 INFO: Packet sendPacket: <<<send packet: AA 05 03 00 20 04 04 C0 2023-03-09 16:54:40,298 INFO: AciHostCLI continuously_read: >>>receive packet: AA 24 05 00 00 00 20 04 00 A3 2023-03-09 16:54:40,299 INFO: Parser eventParser: syncWord: AA,seqn: 24,len: 5,opcode: 0000,params: [20 04 00], check_sum: A3 2023-03-09 16:54:40,299 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-09 16:54:40,299 INFO: Parser eventParser: event_id: [20 04] 2023-03-09 16:54:40,299 INFO: Parser eventParser: status: [00] 2023-03-09 16:54:40,426 INFO: AciHostCLI continuously_read: >>>receive packet: AA 25 13 00 02 05 07 02 00 00 00 02 00 C0 F8 EF 2C 41 AF 7B 6C 32 20 BA 2023-03-09 16:54:40,427 INFO: Parser eventParser: syncWord: AA,seqn: 25,len: 19,opcode: 0502,params: [07 02 00 00 00 02 00 C0 F8 EF 2C 41 AF 7B 6C 32 20], check_sum: BA 2023-03-09 16:54:40,427 INFO: Parser eventParser: event name: EVENT_PBAP_DOWNLOAD_START 2023-03-09 16:54:40,428 INFO: Packet sendPacket: <<<send packet: AA 06 05 00 00 00 02 05 00 EE 2023-03-09 16:54:40,633 INFO: AciHostCLI continuously_read: >>>receive packet: AA 26 66 00 00 05 62 00 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 2023-03-09 16:54:40,634 INFO: Parser eventParser: syncWord: AA,seqn: 26,len: 102,opcode: 0500,params: [62 00 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 0D 0A 46 4E 3B 43], check_sum: B9 2023-03-09 16:54:40,635 INFO: Parser eventParser: event name: EVENT_PBAP_REPORT_DATA 2023-03-09 16:54:40,635 INFO: Packet sendPacket: <<<send packet: AA 07 05 00 00 00 00 05 00 EF 2023-03-09 16:54:40,652 INFO: AciHostCLI continuously_read: >>>receive packet: AA 27 43 00 00 05 3F 00 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 2023-03-09 16:54:40,668 INFO: Parser eventParser: syncWord: AA,seqn: 28,len: 9,opcode: 0503,params: [07 41 AF 7B 6C 32 20], check_sum: 97 2023-03-09 16:54:40,669 INFO: Parser eventParser: event name: EVENT_PBAP_DOWNLOAD_CMPL 2023-03-09 16:54:40,669 INFO: Packet sendPacket: <<<send packet: AA 09 05 00 00 00 03 05 00 EA
-
ACI Host CLI test: PBAP download current call history.
2023-03-09 16:55:19,105 INFO: input command: pbap download_cch 2023-03-09 16:55:19,106 INFO: Parser cmdParser: cmd opcode: 0420 param: [05] name: CMD_PBAP_DOWNLOAD 2023-03-09 16:55:19,107 INFO: Packet sendPacket: <<<send packet: AA 0D 03 00 20 04 05 B7 2023-03-09 16:55:19,124 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2C 05 00 00 00 20 04 00 9B 2023-03-09 16:55:19,124 INFO: Parser eventParser: syncWord: AA,seqn: 2C,len: 5,opcode: 0000,params: [20 04 00], check_sum: 9B 2023-03-09 16:55:19,125 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-09 16:55:19,125 INFO: Parser eventParser: event_id: [20 04] 2023-03-09 16:55:19,125 INFO: Parser eventParser: status: [00] 2023-03-09 16:55:19,524 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2D 13 00 02 05 04 2C 01 00 00 2C 01 B7 B8 C4 2C 41 AF 7B 6C 32 20 D3 2023-03-09 16:55:19,525 INFO: Parser eventParser: syncWord: AA,seqn: 2D,len: 19,opcode: 0502,params: [04 2C 01 00 00 2C 01 B7 B8 C4 2C 41 AF 7B 6C 32 20], check_sum: D3 2023-03-09 16:55:19,526 INFO: Parser eventParser: event name: EVENT_PBAP_DOWNLOAD_START 2023-03-09 16:55:19,526 INFO: Packet sendPacket: <<<send packet: AA 0E 05 00 00 00 02 05 00 E6 2023-03-09 16:55:20,158 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2E 76 00 00 05 72 00 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 2023-03-09 16:55:20,159 INFO: Parser eventParser: syncWord: AA,seqn: 2E,len: 118,opcode: 0500,params: [72 00 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 0D 0A 46 4E 3A 0D], check_sum: A4 2023-03-09 16:55:20,159 INFO: Parser eventParser: event name: EVENT_PBAP_REPORT_DATA 2023-03-09 16:55:20,160 INFO: Packet sendPacket: <<<send packet: AA 0F 05 00 00 00 00 05 00 E7 2023-03-09 16:55:20,177 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2F 76 00 00 05 72 00 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 2023-03-09 16:55:20,177 INFO: Parser eventParser: syncWord: AA,seqn: 2F,len: 118,opcode: 0500,params: [72 00 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 0D 0A 46 4E 3A 0D], check_sum: 94 2023-03-09 16:55:20,178 INFO: Parser eventParser: event name: EVENT_PBAP_REPORT_DATA 2023-03-09 16:55:20,178 INFO: Packet sendPacket: <<<send packet: AA 10 05 00 00 00 00 05 00 E6 //PBAP keeps reporting data ... 2023-03-09 16:55:40,239 INFO: AciHostCLI continuously_read: >>>receive packet: AA 7B 09 00 03 05 04 41 AF 7B 6C 32 20 47 2023-03-09 16:55:40,240 INFO: Parser eventParser: syncWord: AA,seqn: 7B,len: 9,opcode: 0503,params: [04 41 AF 7B 6C 32 20], check_sum: 47 2023-03-09 16:55:40,240 INFO: Parser eventParser: event name: EVENT_PBAP_DOWNLOAD_CMPL 2023-03-09 16:55:40,240 INFO: Packet sendPacket: <<<send packet: AA 5B 05 00 00 00 03 05 00 98
-
ACI Host CLI test: PBAP download all.
2023-03-09 16:56:56,241 INFO: input command: pbap download_all 2023-03-09 16:56:56,242 INFO: Parser cmdParser: cmd opcode: 0420 param: [03] name: CMD_PBAP_DOWNLOAD 2023-03-09 16:56:56,242 INFO: Packet sendPacket: <<<send packet: AA 5C 03 00 20 04 03 6A 2023-03-09 16:56:56,262 INFO: AciHostCLI continuously_read: >>>receive packet: AA 7C 05 00 00 00 20 04 00 4B 2023-03-09 16:56:56,263 INFO: Parser eventParser: syncWord: AA,seqn: 7C,len: 5,opcode: 0000,params: [20 04 00], check_sum: 4B 2023-03-09 16:56:56,264 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-09 16:56:56,265 INFO: Parser eventParser: event_id: [20 04] 2023-03-09 16:56:56,265 INFO: Parser eventParser: status: [00] 2023-03-09 16:56:56,821 INFO: AciHostCLI continuously_read: >>>receive packet: AA 7D 13 00 02 05 07 02 00 00 00 02 00 6A 08 C5 2C 41 AF 7B 6C 32 20 D2 2023-03-09 16:56:56,822 INFO: Parser eventParser: syncWord: AA,seqn: 7D,len: 19,opcode: 0502,params: [07 02 00 00 00 02 00 6A 08 C5 2C 41 AF 7B 6C 32 20], check_sum: D2 2023-03-09 16:56:56,822 INFO: Parser eventParser: event name: EVENT_PBAP_DOWNLOAD_START 2023-03-09 16:56:56,822 INFO: Packet sendPacket: <<<send packet: AA 5D 05 00 00 00 02 05 00 97 2023-03-09 16:56:57,027 INFO: AciHostCLI continuously_read: >>>receive packet: AA 7E 66 00 00 05 62 00 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 2023-03-09 16:56:57,028 INFO: Parser eventParser: syncWord: AA,seqn: 7E,len: 102,opcode: 0500,params: [62 00 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 0D 0A 46 4E 3B 43], check_sum: 61 2023-03-09 16:56:57,028 INFO: Parser eventParser: event name: EVENT_PBAP_REPORT_DATA 2023-03-09 16:56:57,029 INFO: Packet sendPacket: <<<send packet: AA 5E 05 00 00 00 00 05 00 98 //PBAP keep reporting data ... 2023-03-09 16:57:18,438 INFO: AciHostCLI continuously_read: >>>receive packet: AA D2 09 00 03 05 04 41 AF 7B 6C 32 20 F0 2023-03-09 16:57:18,438 INFO: Parser eventParser: syncWord: AA,seqn: D2,len: 9,opcode: 0503,params: [04 41 AF 7B 6C 32 20], check_sum: F0 2023-03-09 16:57:18,438 INFO: Parser eventParser: event name: EVENT_PBAP_DOWNLOAD_CMPL 2023-03-09 16:57:18,439 INFO: Packet sendPacket: <<<send packet: AA B1 05 00 00 00 03 05 00 42
-
ACI Host CLI test: PBAP disconnect.
2023-03-09 17:33:30,246 INFO: input command: pbap disconnect 2023-03-09 17:33:30,247 INFO: Parser cmdParser: cmd opcode: 0426 param: [] name: CMD_PBAP_DISCONNECT 2023-03-09 17:33:30,248 INFO: Packet sendPacket: <<<send packet: AA 38 02 00 26 04 8C 2023-03-09 17:33:30,265 INFO: AciHostCLI continuously_read: >>>receive packet: AA 38 05 00 00 00 26 04 00 89 2023-03-09 17:33:30,265 INFO: Parser eventParser: syncWord: AA,seqn: 38,len: 5,opcode: 0000,params: [26 04 00], check_sum: 89 2023-03-09 17:33:30,266 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-09 17:33:30,266 INFO: Parser eventParser: event_id: [26 04] 2023-03-09 17:33:30,266 INFO: Parser eventParser: status: [00] 2023-03-09 17:33:30,361 INFO: AciHostCLI continuously_read: >>>receive packet: AA 39 0B 00 04 00 40 41 AF 7B 6C 32 20 00 00 4F 2023-03-09 17:33:30,361 INFO: Parser eventParser: syncWord: AA,seqn: 39,len: 11,opcode: 0004,params: [40 41 AF 7B 6C 32 20 00 00], check_sum: 4F 2023-03-09 17:33:30,362 INFO: Parser eventParser: event name: EVENT_DISCONNECT_STATUS 2023-03-09 17:33:30,362 INFO: Parser eventParser: link_id: [40] 2023-03-09 17:33:30,362 INFO: Parser eventParser: profile: [41] 2023-03-09 17:33:30,362 INFO: Parser eventParser: bd_addr: [AF 7B 6C 32 20 00] 2023-03-09 17:33:30,362 INFO: Parser eventParser: cause: [00] 2023-03-09 17:33:30,363 INFO: Packet sendPacket: <<<send packet: AA 39 05 00 00 00 04 00 00 BE
CIS Acceptor Function
Firstly, CIS Acceptor needs to start LE Audio advertising, and then CIS Initiator can scan and connect it. After the LE Audio link is connected, CIS Acceptor can control remote media player and telephone call.
CIS Acceptor connection process:

CIS Acceptor Connection
CIS Acceptor media/call control process:

CIS Acceptor Media Control

CIS Acceptor Call Control

CIS Acceptor Volume Control
ACI Host CLI Test: CIS Acceptor Function
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_ADV_START(0x3250) |
lea_adv_start |
|
CMD_LEA_ADV_STOP |
None |
lea_adv_stop |
CMD_LEA_CCP_CALL_CP |
conn_id=0ncall_cp=0x00 |
lea_call_cp accept |
CMD_LEA_CCP_CALL_CP |
conn_id=0ncall_cp=0x01 |
lea_call_cp terminate |
CMD_LEA_CCP_CALL_CP |
conn_id=0ncall_cp=0x02 |
lea_call_cp local_hold |
CMD_LEA_CCP_CALL_CP |
conn_id=0ncall_cp=0x03 |
lea_call_cp local_retrieve |
CMD_LEA_CCP_CALL_CP |
conn_id=0ncall_cp=0x04 |
lea_call_cp originate |
CMD_LEA_CCP_CALL_CP |
conn_id=0ncall_cp=0x05 |
lea_call_cp join |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0nmedia_cp=0x01 |
lea_media_cp play |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0nmedia_cp=0x02 |
lea_media_cp pause |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0nmedia_cp=0x03 |
lea_media_cp fast_rewind |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0nmedia_cp=0x04 |
lea_media_cp fast_forward |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0nmedia_cp=0x05 |
lea_media_cp stop |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0nmedia_cp=0x30 |
lea_media_cp previous_track |
CMD_LEA_MCP_MEDIA_CP |
conn_id=0nmedia_cp=0x31 |
lea_media_cp next_track |
CMD_LEA_VCS_SET |
conn_id=0nvol_type=0x00 |
lea_vcs vol_up |
CMD_LEA_VCS_SET |
conn_id=0nvol_type=0x01 |
lea_vcs vol_down |
CMD_LEA_VCS_SET |
conn_id=0nvol_type=0x02 |
lea_vcs spk_mute |
CMD_LEA_VCS_SET |
conn_id=0nvol_type=0x03 |
lea_vcs spk_unmute |
For detailed information, please refer to CIS Acceptor ACI Host CLI Test.
BIS Acceptor Function
If an assistant exists, the sink could connect with an assistant and ask the assistant to assist it for scanning and get the extended advertising and periodic advertising information. If the assistant doesn’t exist, the sink needs to sync the source autonomously.
BIS sync establish process:

BIS Transmission
ACI Host CLI Test: BIS Acceptor Function
Please refer to LE Audio Acceptor.
Bluetooth Audio Transceiver
This chapter introduces the functionality of the bt_audio_transceiver application scenario. This functionality is enabled by opening the macro definition F_APP_BT_AUDIO_TRANSCEIVER_DEMO_SUPPORT
in app_flags.h
. This chapter describes how to use these functions and the flow of how to test them, including the MSCs of the ACI Device and ACI Host interaction, and the commands used by ACI Host CLI Tool.
A2DP Transparent Transmission (A2DP Output)
Two typical application scenarios are introduced at the beginning of the article. Based on the A2DP scenario, A2DP data can be transferred from the Phone, through ACI Device 1 and ACI Device 2, to the Headset. This function is called A2DP Transparent Transmission.
A2DP Transparent Transmission process:

A2DP Transparent Transmission
ACI Device 1 and ACI Device 2 transmit data through SPI. The SPI role of ACI Device 1 is master and that of ACI Device 2 is the slave. Please set flag F_APP_SPI_ROLE_MASTER
on ACI Device 1 and set flag F_APP_SPI_ROLE_SLAVE
on ACI Device 2 to enable SPI before building the application.
The AVDTP data format between Phone and ACI Device 1 may be different from that between ACI Device 2 and Headset. To solve this mismatch, the Audio Pipe is introduced on ACI Device 2 to convert the format in the route of Phone -> ACI Device 1 to that in the route of ACI Device 2 -> Headset.
ACI Host CLI Test (A2DP Transfer)
Before using the function, the hardware environment needs to be configured:
Bluetooth address modification: Use the MCUConfig Tool to modify the Bluetooth address of ACI Device 2 to make it different from ACI Device 1.
SPI wiring preparation: The recommended connection is
P0_0(SPI_SCK)
,P1_0(SPI_MOSI)
,P0_1(SPI_MISO)
,P1_1(SPI_CS)
,P2_1(PIN_GPIO)
andGND
of ACI Device 1 and ACI Device 2. Developers can connect according to the pin settings inboard.h
.
The play route of Device 2 should be configured to A2DP Source through CMD_A2DP_XMIT_SET_ROUTE_OUT
.
The ACI Host sends CMD_A2DP_XMIT_ROUTE_OUT_CTRL
with status param to ACI Device 2 to start or stop
processing and sending data to Headset. The corresponding UART CMD packet and tool log are as follows.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_A2DP_XMIT_SET_ROUTE_OUT(0x3223) |
action = XMIT_PLAY_ROUTE_A2DP_SRC(0) |
a2dpxmitroute a2dpsrc |
CMD_A2DP_XMIT_ROUTE_OUT_CTRL(0x3220) |
action = XMIT_PLAY_STATE_START(0) |
a2dpxmitctrl start |
CMD_A2DP_XMIT_ROUTE_OUT_CTRL(0x3220) |
action = XMIT_PLAY_STATE_IDLE(1) |
a2dpxmitctrl stop |
-
ACI Host CLI test (ACI Device 2): Initiate ACI Device 2 as SPI slave.
2023-05-15 14:53:17,075 INFO: input command: spiinit slave 2023-05-15 14:53:17,075 INFO: Parser cmdParser: cmd opcode: 3020 param: [01] name: CMD_SPI_INIT 2023-05-15 14:53:17,076 INFO: Packet sendPacket: <<<send packet: AA 03 03 00 20 30 01 C8 2023-05-15 14:53:17,082 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 20 30 00 C7 2023-05-15 14:53:17,083 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [20 30 00], check_sum: C7 2023-05-15 14:53:17,086 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:53:17,087 INFO: Parser eventParser: event_id: [20 30] 2023-05-15 14:53:17,087 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 1): Initiate ACI Device 1 as SPI master.
2023-05-15 14:53:20,655 INFO: input command: spiinit master 2023-05-15 14:53:20,655 INFO: Parser cmdParser: cmd opcode: 3100 param: [00] name: CMD_SPI_INIT 2023-05-15 14:53:20,656 INFO: Packet sendPacket: <<<send packet: AA 03 03 00 20 30 00 C9 2023-05-15 14:53:20,670 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 20 30 00 C7 2023-05-15 14:53:20,671 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [20 30 00], check_sum: C7 2023-05-15 14:53:20,671 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:53:20,672 INFO: Parser eventParser: event_id: [20 30] 2023-05-15 14:53:20,672 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 1): Connect ACI Device 1 to Phone.
Please refer to Connect to Phone.
-
ACI Host CLI test (ACI Device 2): Connect Headset to ACI Device 2.
Please refer to Connect to BUD.
Phone starts to play music.
-
ACI Host CLI test (ACI Device 2): Start or stop transmitting data to Headset.
Use a2dpxmitroute a2dpsrc to configure the output data route to A2DP Source, and input a2dpxmitctrl start to let the Headset get incoming music data from the Phone, input a2dpxmitctrl stop, no data will be transmitted to the Headset, music will stop.
2023-05-15 14:53:58,736 INFO: input command: a2dpxmitroute a2dpsrc 2023-05-15 14:53:58,737 INFO: Parser cmdParser: cmd opcode: 3223 param: [00] name: CMD_A2DP_XMIT_SET_ROUTE_OUT 2023-05-15 14:53:58,737 INFO: Packet sendPacket: <<<send packet: AA 12 03 00 23 32 00 B5 2023-05-15 14:53:58,748 INFO: AciHostCLI continuously_read: >>>receive packet: AA 12 05 00 00 00 23 32 00 B3 2023-05-15 14:53:58,749 INFO: Parser eventParser: syncWord: AA,seqn: 12,len: 5,opcode: 0000,params: [23 32 00], check_sum: B3 2023-05-15 14:53:58,749 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:53:58,750 INFO: Parser eventParser: event_id: [23 32] 2023-05-15 14:53:58,750 INFO: Parser eventParser: status: [00] 2023-05-15 14:54:01,482 INFO: input command: a2dpxmitctrl start 2023-05-15 14:54:01,483 INFO: Parser cmdParser: cmd opcode: 3220 param: [00] name: CMD_A2DP_XMIT_ROUTE_OUT_CTRL 2023-05-15 14:54:01,483 INFO: Packet sendPacket: <<<send packet: AA 13 03 00 20 32 00 B7 2023-05-15 14:54:01,499 INFO: AciHostCLI continuously_read: >>>receive packet: AA 13 05 00 00 00 20 32 00 B5 2023-05-15 14:54:01,499 INFO: Parser eventParser: syncWord: AA,seqn: 13,len: 5,opcode: 0000,params: [20 32 00], check_sum: B5 2023-05-15 14:54:01,500 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:54:01,500 INFO: Parser eventParser: event_id: [20 32] 2023-05-15 14:54:01,501 INFO: Parser eventParser: status: [00] 2023-05-15 14:54:11,089 INFO: input command: a2dpxmitctrl stop 2023-05-15 14:54:11,089 INFO: Parser cmdParser: cmd opcode: 3220 param: [01] name: CMD_A2DP_XMIT_ROUTE_OUT_CTRL 2023-05-15 14:54:11,090 INFO: Packet sendPacket: <<<send packet: AA 14 03 00 20 32 01 B5 2023-05-15 14:54:11,097 INFO: AciHostCLI continuously_read: >>>receive packet: AA 14 05 00 00 00 20 32 00 B4 2023-05-15 14:54:11,101 INFO: Parser eventParser: syncWord: AA,seqn: 14,len: 5,opcode: 0000,params: [20 32 00], check_sum: B4 2023-05-15 14:54:11,103 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:54:11,104 INFO: Parser eventParser: event_id: [20 32] 2023-05-15 14:54:11,104 INFO: Parser eventParser: status: [00]
A2DP Transparent Transmission (BIS Output)
LE Audio is a new Bluetooth wireless standard for transmitting audio. LE Audio operates on the Bluetooth Low Energy radio, which is different from Classic Audio (like A2DP or HFP) that operates on the Bluetooth Classic radio. LE Audio transmits streams through BIS (Broadcast Isochronous Streams) or CIS (Connected Isochronous Streams). Currently, the Bluetooth Audio Transceiver application supports broadcasting audio through BIS.
As a broadcaster, the audio data for broadcasting is necessary. Based on the typical A2DP scenario (Refer to Bluetooth Audio Transceiver), we use the AVDTP data received from the Phone by ACI Device 1 as the raw data for ACI Device 2. The received AVDTP data would be converted to LC3 format supported by LE Audio through the Audio Pipe. On ACI Device 2, a BIG with 1 or 2 BIS would be set up and broadcast the converted LC3 data externally. The topology is shown in the figure below.

Broadcast Source Topology
Before enabling the broadcast source feature, please ensure that the LE isochronous function and PA function are enabled in the MCUConfig Tool, and at least 1 BIG, 2 BIS, and 1 PA are set up.

BIS Configuration
Broadcast Source process:

BIS Transmission
ACI Host CLI Test (BIS Transfer)
The ACI Host sends CMD_LEA_BSRC_INIT
to ACI Device 2 to configure the codec type, BIS number, and encryption mode. The play route of Device 2 should be configured to BIS through
CMD_A2DP_XMIT_SET_ROUTE_OUT
, and the ACI Host sends CMD_A2DP_XMIT_ROUTE_OUT_CTRL
with status param to ACI Device 2 to start or stop processing and sending data to Headset.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_48_4(48k) BIS num = 1 encryption = true ull_mode = true pd = 0x2710 |
bsrcinit 48k_1bis |
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_16_2(16k) BIS num = 1 encryption = false ull_mode = true pd = 0x2710 |
bsrcinit 16k_1bis |
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_48_4(48k) BIS num = 2 encryption = false ull_mode = true pd = 0x2710 |
bsrcinit 48k_2bis |
CMD_LEA_BSRC_INIT(0x3020) |
codec type = CODEC_CFG_ITEM_16_2(16k) BIS num = 2 encryption = false ull_mode = true pd = 0x2710 |
bsrcinit 16k_2bis |
CMD_A2DP_XMIT_SET_ROUTE_OUT(0x3223) |
action = XMIT_PLAY_ROUTE_A2DP_SRC(0) |
a2dpxmitroute bis |
CMD_A2DP_XMIT_ROUTE_OUT_CTRL(0x3220) |
action = XMIT_PLAY_STATE_START(0) |
a2dpxmitctrl start |
CMD_A2DP_XMIT_ROUTE_OUT_CTRL(0x3220) |
action = XMIT_PLAY_STATE_IDLE(1) |
a2dpxmitctrl stop |
The corresponding UART CMD packet and tool log are as follows:
-
ACI Host CLI test (ACI Device 2): Initiate ACI Device 2 as SPI slave.
2023-05-15 14:53:17,075 INFO: input command: spiinit slave 2023-05-15 14:53:17,075 INFO: Parser cmdParser: cmd opcode: 3100 param: [01] name: CMD_SPI_INIT 2023-05-15 14:53:17,076 INFO: Packet sendPacket: <<<send packet: AA 03 03 00 20 30 01 C8 2023-05-15 14:53:17,082 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 20 30 00 C7 2023-05-15 14:53:17,083 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [20 30 00], check_sum: C7 2023-05-15 14:53:17,086 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:53:17,087 INFO: Parser eventParser: event_id: [20 30] 2023-05-15 14:53:17,087 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 1): Initiate ACI Device 1 as SPI master.
2023-05-15 14:53:20,655 INFO: input command: spiinit master 2023-05-15 14:53:20,655 INFO: Parser cmdParser: cmd opcode: 3100 param: [00] name: CMD_SPI_INIT 2023-05-15 14:53:20,656 INFO: Packet sendPacket: <<<send packet: AA 03 03 00 20 30 00 C9 2023-05-15 14:53:20,670 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 20 30 00 C7 2023-05-15 14:53:20,671 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [20 30 00], check_sum: C7 2023-05-15 14:53:20,671 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:53:20,672 INFO: Parser eventParser: event_id: [20 30] 2023-05-15 14:53:20,672 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 2): Initiate broadcast source.
2023-05-15 14:53:25,753 INFO: input command: bsrcinit 48k_1bis 2023-05-15 14:53:25,753 INFO: Parser cmdParser: cmd opcode: 3020 param: [0D 01 00 01 10 27] name: CMD_LEA_BSRC_INIT 2023-05-15 14:53:25,754 INFO: Packet sendPacket: <<<send packet: AA 04 05 00 20 30 0D 01 00 01 10 27 B7 2023-05-15 14:53:25,766 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 20 30 00 C5 2023-05-15 14:53:25,767 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [20 30 00], check_sum: C5 2023-05-15 14:53:25,768 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:53:25,768 INFO: Parser eventParser: event_id: [20 30] 2023-05-15 14:53:25,769 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 1): Connect ACI Device 1 to Phone.
Please refer to Connect to Phone.
Use a2dpxmitroute bis to configure the output data route to BIS, and input a2dpxmitctrl start to let the Headset receive incoming music data from the Phone. If you input a2dpxmitctrl stop, no data will be transmitted to the Headset, and the music will stop.
-
ACI Host CLI test (ACI Device 1): Start streaming.
2023-05-15 14:54:16,535 INFO: input command: a2dpxmitroute bis 2023-05-15 14:54:16,535 INFO: Parser cmdParser: cmd opcode: 3223 param: [01] name: CMD_A2DP_XMIT_SET_ROUTE_OUT 2023-05-15 14:54:16,536 INFO: Packet sendPacket: <<<send packet: AA 15 03 00 23 32 01 B1 2023-05-15 14:54:16,549 INFO: AciHostCLI continuously_read: >>>receive packet: AA 15 05 00 00 00 23 32 00 B0 2023-05-15 14:54:16,550 INFO: Parser eventParser: syncWord: AA,seqn: 15,len: 5,opcode: 0000,params: [23 32 00], check_sum: B0 2023-05-15 14:54:16,551 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:54:16,551 INFO: Parser eventParser: event_id: [23 32] 2023-05-15 14:54:16,552 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 1): Start streaming.
2023-05-15 14:54:26,384 INFO: input command: a2dpxmitctrl start 2023-05-15 14:54:26,384 INFO: Parser cmdParser: cmd opcode: 3220 param: [00] name: CMD_A2DP_XMIT_ROUTE_OUT_CTRL 2023-05-15 14:54:26,385 INFO: Packet sendPacket: <<<send packet: AA 16 03 00 20 32 00 B4 2023-05-15 14:54:26,402 INFO: AciHostCLI continuously_read: >>>receive packet: AA 16 05 00 00 00 20 32 00 B2 2023-05-15 14:54:26,403 INFO: Parser eventParser: syncWord: AA,seqn: 16,len: 5,opcode: 0000,params: [20 32 00], check_sum: B2 2023-05-15 14:54:26,404 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:54:26,404 INFO: Parser eventParser: event_id: [20 32] 2023-05-15 14:54:26,404 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 1): Stop streaming.
2023-05-15 14:54:48,305 INFO: input command: a2dpxmitctrl stop 2023-05-15 14:54:48,305 INFO: Parser cmdParser: cmd opcode: 3220 param: [01] name: CMD_A2DP_XMIT_ROUTE_OUT_CTRL 2023-05-15 14:54:48,306 INFO: Packet sendPacket: <<<send packet: AA 17 03 00 20 32 01 B2 2023-05-15 14:54:48,314 INFO: AciHostCLI continuously_read: >>>receive packet: AA 17 05 00 00 00 20 32 00 B1 2023-05-15 14:54:48,316 INFO: Parser eventParser: syncWord: AA,seqn: 17,len: 5,opcode: 0000,params: [20 32 00], check_sum: B1 2023-05-15 14:54:48,319 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-15 14:54:48,320 INFO: Parser eventParser: event_id: [20 32] 2023-05-15 14:54:48,321 INFO: Parser eventParser: status: [00]
HFP Transparent Transmission
Based on the SCO scenario introduced at the beginning of the article, HFP transparent transmission can be realized by transmitting SCO data from the Phone, through ACI Device 1 and ACI Device 2, to the Headset.
ACI Device 1 and ACI Device 2 transmit data through SPI. The SPI role of ACI Device 1 is master, and that of ACI Device 2 is the slave. Similar to 6.1.1, please set the flag F_APP_SPI_ROLE_MASTER
on ACI Device 1 and set the flag F_APP_SPI_ROLE_SLAVE
on ACI Device 2 before building.
HFP Transparent Transmission process:

HFP Transparent Transmission
In addition, the operations of answering, hanging up, muting the MIC, and increasing or decreasing the speaker volume can be realized only by the host.
HFP Transparent Transmission host control process:

HFP Transparent Transmission Host Control
ACI Host CLI Test (HFP Transfer)
Before using the function, the hardware environment needs to be configured:
Bluetooth address modification: Use MCUConfig Tool to modify the Bluetooth address of ACI Device 2 to make it different from ACI Device 1.
SPI wiring preparation: The recommended connection is
P0_0(SPI_SCK)
,P1_0(SPI_MOSI)
,P0_1(SPI_MISO)
,P1_1(SPI_CS)
,P2_1(PIN_GPIO)
, andGND
of ACI Device 1 and ACI Device 2. Developers can connect according to the pin settings inboard.h
.
The ACI Host sends SPI_AG_SCO_CONNECT
with status param to ACI Device 2 to connect the SCO link between ACI Device 2 and the Headset to send data.
Correspondingly, the ACI Host sends SPI_AG_SCO_DISCONNECT
to ACI Device 2 to disconnect the SCO link between ACI Device 2 and the Headset. The ACI Host CLI commands are hfpag conn and hfpag disconn.
If the phone supports an outband ringtone, commands such as hfpag call_incoming, hfpag call_answer, and hfpag call_terminate are required to make the Headset simulate playing/stopping the ringtone and dropping calls.
The corresponding UART CMD packet and tool log are as follows.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_HFP_AG_CONNECT_SCO(0x0480) |
action = SPI_AG_SCO_CONNECT(0) |
hfpag conn_0 |
CMD_HFP_AG_DISCONNECT_SCO(0x0481) |
action = SPI_AG_SCO_DISCONNECT(0) |
hfpag disconn_0 |
CMD_HFP_AG_CALL_INCOMING(0x0482) |
action = NOTIFY_INCOMING_CALL(0) |
hfpag call_incoming |
CMD_HFP_AG_CALL_ANSWER(0x0483) |
action = ANSWER_INCOMING_CALL(0) |
hfpag call_answer |
CMD_HFP_AG_CALL_TERMINATE(0x0484) |
action = TERMINATE_CALL(0) |
hfpag call_terminate |
CMD_HFP_AG_MIC_GAIN_LEVEL_SET(0x0488) |
action = MIC_MUTE(0x00) |
hfpag mic_mute |
CMD_HFP_AG_MIC_GAIN_LEVEL_SET(0x0488) |
action = MIC_UNMUTE(0x0A) |
hfpag mic_unmute |
CMD_HFP_AG_SPEAKER_GAIN_LEVEL_SET(0x0489) |
action = SPK_VOL_DOWN(0x00) |
hfpag spk_vol_up |
CMD_HFP_AG_SPEAKER_GAIN_LEVEL_SET(0x0489) |
action = SPK_VOL_UP(0x00) |
hfpag spk_vol_down |
CMD_MMI(0x0004) |
action = ANSWER_CALL(0x03) |
mmi answer_call |
CMD_MMI(0x0004) |
action = REJECT_CALL(0x04) |
mmi reject_call |
CMD_MMI(0x0004) |
action = END_CALL(0x05) |
mmi end_active_call |
-
ACI Host CLI test (ACI Device 2): Initiate ACI Device 2 as SPI slave.
Please refer to ACI Host CLI Test (A2DP Transfer).
-
ACI Host CLI test (ACI Device 1): Initiate ACI Device 1 as SPI master.
Please refer to ACI Host CLI Test (A2DP Transfer).
-
ACI Host CLI test (ACI Device 1): Connect ACI Device 1 to Phone.
Please refer to Connect to Phone.
-
ACI Host CLI test (ACI Device 2): Connect Headset to ACI Device 2.
Please refer to Connect to BUD.
Call the Phone connected to ACI Device 1.
-
ACI Host CLI test (ACI Device 2): Connect or disconnect the SCO link between ACI Device 2 and Headset.
If input hfpag conn_0, the Headset will be able to hear incoming sounds from the Phone MIC and make calls, if input hfpag disconn_0, Headset will disconnect the SCO.
2023-03-06 14:34:07,113 INFO: input command: hfpag conn_0 2023-03-06 14:34:07,115 INFO: Parser cmdParser: cmd opcode: 0480 param: [00] name: CMD_HFP_AG_CONNECT_SCO 2023-03-06 14:34:07,116 INFO: Packet sendPacket: <<<send packet: AA 10 03 00 80 04 00 E4 2023-03-06 14:34:07,129 INFO: AciHostCLI continuously_read: >>>receive packet: AA 10 05 00 00 00 80 04 00 E2 2023-03-06 14:34:07,129 INFO: Parser eventParser: syncWord: AA,seqn: 10,len: 5,opcode: 0000,params: [80 04 00], check_sum: E2 2023-03-06 14:34:07,130 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-06 14:34:07,130 INFO: Parser eventParser: event_id: [80 04] 2023-03-06 14:34:07,130 INFO: Parser eventParser: status: [00] 2023-03-06 16:44:30,416 INFO: input command: hfpag disconn_0 2023-03-06 16:44:30,419 INFO: Parser cmdParser: cmd opcode: 0481 param: [00] name: CMD_HFP_AG_DISCONNECT_SCO 2023-03-06 16:44:30,422 INFO: Packet sendPacket: <<<send packet: AA 1C 03 00 81 04 00 D7 2023-03-06 16:44:30,426 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1C 05 00 00 00 81 04 00 D5 2023-03-06 16:44:30,427 INFO: Parser eventParser: syncWord: AA,seqn: 1C,len: 5,opcode: 0000,params: [81 04 00], check_sum: D5 2023-03-06 16:44:30,427 INFO: Parser eventParser: event name: EVENT_ACK 2023-03-06 16:44:30,427 INFO: Parser eventParser: event_id: [81 04] 2023-03-06 16:44:30,428 INFO: Parser eventParser: status: [00]
If the phone supports outband ringtones, ACI Device 2 should perform the following operations when the phone receives a call:
-
ACI Host CLI test (ACI Device 2): Make Headset play ring to simulate incoming call.
2023-05-17 09:46:17,157 INFO: input command: hfpag call_incoming 2023-05-17 09:46:17,158 INFO: Parser cmdParser: cmd opcode: 0482 param: [00 81] name: CMD_HFP_AG_CALL_INCOMING 2023-05-17 09:46:17,159 INFO: Packet sendPacket: <<<send packet: AA 27 04 00 82 04 00 81 49 2023-05-17 09:46:17,169 INFO: AciHostCLI continuously_read: >>>receive packet: AA 27 04 00 35 03 00 01 9C 2023-05-17 09:46:17,172 INFO: Parser eventParser: syncWord: AA,seqn: 27,len: 4,opcode: 0335,params: [00 01], check_sum: 9C 2023-05-17 09:46:17,174 INFO: Packet sendPacket: <<<send packet: AA 28 05 00 00 00 35 03 00 9B 2023-05-17 09:46:17,184 INFO: AciHostCLI continuously_read: >>>receive packet: AA 28 05 00 00 00 82 04 00 C8 2023-05-17 09:46:17,185 INFO: Parser eventParser: syncWord: AA,seqn: 28,len: 5,opcode: 0000,params: [82 04 00], check_sum: C8 2023-05-17 09:46:17,186 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-17 09:46:17,186 INFO: Parser eventParser: event_id: [82 04] 2023-05-17 09:46:17,186 INFO: Parser eventParser: status: [00]
Pick up Phone call.
-
ACI Host CLI test (ACI Device 2): Answer Phone call.
2023-05-17 09:46:34,693 INFO: input command: hfpag call_answer 2023-05-17 09:46:34,693 INFO: Parser cmdParser: cmd opcode: 0483 param: [00] name: CMD_HFP_AG_CALL_ANSWER 2023-05-17 09:46:34,694 INFO: Packet sendPacket: <<<send packet: AA 29 03 00 83 04 00 C8 2023-05-17 09:46:34,712 INFO: AciHostCLI continuously_read: >>>receive packet: AA 29 04 00 35 03 00 03 98 2023-05-17 09:46:34,717 INFO: Parser eventParser: syncWord: AA,seqn: 29,len: 4,opcode: 0335,params: [00 03], check_sum: 98 2023-05-17 09:46:34,719 INFO: Packet sendPacket: <<<send packet: AA 2A 05 00 00 00 35 03 00 99 2023-05-17 09:46:34,728 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2A 05 00 00 00 83 04 00 C5 2023-05-17 09:46:34,728 INFO: Parser eventParser: syncWord: AA,seqn: 2A,len: 5,opcode: 0000,params: [83 04 00], check_sum: C5 2023-05-17 09:46:34,729 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-17 09:46:34,729 INFO: Parser eventParser: event_id: [83 04] 2023-05-17 09:46:34,730 INFO: Parser eventParser: status: [00] 2023-05-17 09:46:35,895 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2B 04 00 38 03 00 02 94 2023-05-17 09:46:35,897 INFO: Parser eventParser: syncWord: AA,seqn: 2B,len: 4,opcode: 0338,params: [00 02], check_sum: 94 2023-05-17 09:46:35,901 INFO: Packet sendPacket: <<<send packet: AA 2B 05 00 00 00 38 03 00 95 2023-05-17 09:46:35,911 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2C 04 00 00 03 00 01 CC 2023-05-17 09:46:35,912 INFO: Parser eventParser: syncWord: AA,seqn: 2C,len: 4,opcode: 0300,params: [00 01], check_sum: CC 2023-05-17 09:46:35,913 INFO: Parser eventParser: event name: APP_EVENT_SCO_STATE 2023-05-17 09:46:35,914 INFO: Parser eventParser: app_link_id: [00] 2023-05-17 09:46:35,914 INFO: Parser eventParser: state: [01] 2023-05-17 09:46:35,915 INFO: Packet sendPacket: <<<send packet: AA 2C 05 00 00 00 00 03 00 CC
Hang up Phone call.
-
ACI Host CLI test (ACI Device 2): Notify Headset that Phone call is terminated.
2023-05-17 09:47:02,069 INFO: input command: hfpag call_terminate 2023-05-17 09:47:02,069 INFO: Parser cmdParser: cmd opcode: 0484 param: [00] name: CMD_HFP_AG_CALL_TERMINATE 2023-05-17 09:47:02,070 INFO: Packet sendPacket: <<<send packet: AA 2D 03 00 84 04 00 C3 2023-05-17 09:47:02,076 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2D 04 00 35 03 00 00 97 2023-05-17 09:47:02,077 INFO: Parser eventParser: syncWord: AA,seqn: 2D,len: 4,opcode: 0335,params: [00 00], check_sum: 97 2023-05-17 09:47:02,082 INFO: Packet sendPacket: <<<send packet: AA 2E 05 00 00 00 35 03 00 95 2023-05-17 09:47:02,091 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2E 05 00 00 00 84 04 00 C0 2023-05-17 09:47:02,094 INFO: Parser eventParser: syncWord: AA,seqn: 2E,len: 5,opcode: 0000,params: [84 04 00], check_sum: C0 2023-05-17 09:47:02,095 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-17 09:47:02,095 INFO: Parser eventParser: event_id: [84 04] 2023-05-17 09:47:02,096 INFO: Parser eventParser: status: [00]
If only host control is used, the following operations need to be performed:
-
ACI Host CLI test (ACI Device 1): Answer call.
2023-05-31 14:46:35,990 INFO: input command: mmi answer_call 2023-05-31 14:46:35,990 INFO: Parser cmdParser: cmd opcode: 0004 param: [00 03] name: CMD_MMI 2023-05-31 14:46:35,991 INFO: Packet sendPacket: <<<send packet: AA 01 04 00 04 00 00 03 F4 2023-05-31 14:46:36,009 INFO: AciHostCLI continuously_read: >>>receive packet: AA 03 05 00 00 00 04 00 00 F4 2023-05-31 14:46:36,011 INFO: Parser eventParser: syncWord: AA,seqn: 03,len: 5,opcode: 0000,params: [04 00 00], check_sum: F4 2023-05-31 14:46:36,012 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 14:46:36,013 INFO: Parser eventParser: event_id: [04 00] 2023-05-31 14:46:36,013 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 1): Reject call.
2023-05-31 16:06:51,592 INFO: input command: mmi reject_call 2023-05-31 16:06:51,596 INFO: Parser cmdParser: cmd opcode: 0004 param: [00 04] name: CMD_MMI 2023-05-31 16:06:51,598 INFO: Packet sendPacket: <<<send packet: AA 02 04 00 04 00 00 04 F2 2023-05-31 16:06:51,613 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 04 00 00 F3 2023-05-31 16:06:51,614 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [04 00 00], check_sum: F3 2023-05-31 16:06:51,615 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 16:06:51,615 INFO: Parser eventParser: event_id: [04 00] 2023-05-31 16:06:51,616 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 2): Mute MIC.
2023-05-31 16:20:02,818 INFO: input command: hfpag mic_mute 2023-05-31 16:20:02,819 INFO: Parser cmdParser: cmd opcode: 0488 param: [00 00] name: CMD_HFP_AG_MIC_GAIN_LEVEL_SET 2023-05-31 16:20:02,819 INFO: Packet sendPacket: <<<send packet: AA 03 04 00 88 04 00 00 E8 2023-05-31 16:20:02,827 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 88 04 00 E5 2023-05-31 16:20:02,830 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [88 04 00], check_sum: E5 2023-05-31 16:20:02,831 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 16:20:02,832 INFO: Parser eventParser: event_id: [88 04] 2023-05-31 16:20:02,832 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 2): Unmute MIC.
2023-05-31 16:21:04,073 INFO: input command: hfpag mic_unmute 2023-05-31 16:21:04,073 INFO: Parser cmdParser: cmd opcode: 0488 param: [00 0A] name: CMD_HFP_AG_MIC_GAIN_LEVEL_SET 2023-05-31 16:21:04,074 INFO: Packet sendPacket: <<<send packet: AA 04 04 00 88 04 00 0A DD 2023-05-31 16:21:04,080 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 05 00 00 00 88 04 00 E4 2023-05-31 16:21:04,082 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 5,opcode: 0000,params: [88 04 00], check_sum: E4 2023-05-31 16:21:04,089 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 16:21:04,090 INFO: Parser eventParser: event_id: [88 04] 2023-05-31 16:21:04,091 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 2): SPK volume up.
2023-05-31 17:09:29,143 INFO: input command: hfpag spk_vol_up 2023-05-31 17:09:29,144 INFO: Parser cmdParser: cmd opcode: 0489 param: [00 0A] name: CMD_HFP_AG_SPEAKER_GAIN_LEVEL_SET 2023-05-31 17:09:29,146 INFO: Packet sendPacket: <<<send packet: AA 05 04 00 89 04 00 0A DB 2023-05-31 17:09:29,158 INFO: AciHostCLI continuously_read: >>>receive packet: AA 07 05 00 00 00 89 04 00 E2 2023-05-31 17:09:29,159 INFO: Parser eventParser: syncWord: AA,seqn: 07,len: 5,opcode: 0000,params: [89 04 00], check_sum: E2 2023-05-31 17:09:29,160 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 17:09:29,160 INFO: Parser eventParser: event_id: [89 04] 2023-05-31 17:09:29,161 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 2): SPK volume down.
2023-05-31 17:10:32,765 INFO: input command: hfpag spk_vol_down 2023-05-31 17:10:32,766 INFO: Parser cmdParser: cmd opcode: 0489 param: [00 00] name: CMD_HFP_AG_SPEAKER_GAIN_LEVEL_SET 2023-05-31 17:10:32,767 INFO: Packet sendPacket: <<<send packet: AA 06 04 00 89 04 00 00 E4 2023-05-31 17:10:32,780 INFO: AciHostCLI continuously_read: >>>receive packet: AA 08 05 00 00 00 89 04 00 E1 2023-05-31 17:10:32,794 INFO: Parser eventParser: syncWord: AA,seqn: 08,len: 5,opcode: 0000,params: [89 04 00], check_sum: E1 2023-05-31 17:10:32,795 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 17:10:32,795 INFO: Parser eventParser: event_id: [89 04] 2023-05-31 17:10:32,796 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test (ACI Device 1): End call.
2023-05-31 17:17:47,759 INFO: input command: mmi end_active_call 2023-05-31 17:17:47,759 INFO: Parser cmdParser: cmd opcode: 0004 param: [00 05] name: CMD_MMI 2023-05-31 17:17:47,760 INFO: Packet sendPacket: <<<send packet: AA 07 04 00 04 00 00 05 EC 2023-05-31 17:17:47,774 INFO: AciHostCLI continuously_read: >>>receive packet: AA 09 05 00 00 00 04 00 00 EE 2023-05-31 17:17:47,787 INFO: Parser eventParser: syncWord: AA,seqn: 09,len: 5,opcode: 0000,params: [04 00 00], check_sum: EE 2023-05-31 17:17:47,787 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-05-31 17:17:47,788 INFO: Parser eventParser: event_id: [04 00] 2023-05-31 17:17:47,788 INFO: Parser eventParser: status: [00]
Bluetooth Audio Transmitter MP3
This chapter introduces the functionality of the bt_audio_transmitter_mp3 application scenario. This functionality is enabled by opening the macro definition F_APP_BT_AUDIO_TRANSMITTER_MP3_DEMO_SUPPORT
in app_flags.h
. This chapter describes how to use these functions and the flow of how to test them, including the MSCs of the ACI Device and ACI Host interaction, and the commands used by ACI Host CLI Tool.
Music Play Function
The interactive process of music playing is analyzed in this chapter, the format of music playing is MP3.
Prerequisites
Music playing process:

Music Play
-
ACI Host CLI test: Session open.
The ACI Host sends
CMD_XM_MUSIC
command withMUSIC_SESSION_OPEN
to start the music-playing process. The ACI Host CLI CMD for starting music playing is music open, the corresponding UART CMD packet and tool log are as follows.ACI Host CLI CMD for Music Open Command
Parameters
ACI Host CLI CMD
CMD_XM_MUSIC = 0x8080
type = MUSIC_SESSION_OPEN(0), seq = 0
music open
2023-01-12 14:08:20,013 INFO: input command: music open 2023-01-12 14:08:20,014 INFO: Parser cmdParser: cmd opcode: 8080 param: [00 00] name: CMD_XM_MUSIC 2023-01-12 14:08:20,014 INFO: Packet sendPacket: <<<send packet: AA 04 04 00 80 80 00 00 73 2023-01-12 14:08:20,026 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 80 80 00 72 2023-01-12 14:08:20,027 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [80 80 00], check_sum: 72 2023-01-12 14:08:20,028 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-01-12 14:08:20,029 INFO: Parser eventParser: event_id: [80 80] 2023-01-12 14:08:20,030 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Session send frame.
ACI Device requests the first music data frame through
EVENT_XM_MUSIC_REQ_FRAME
. Afterward, ACI Device will continue to request music data frames throughEVENT_APP_EVENT_ACK(0x0000)
with statusCMD_SET_STATUS_MUSIC_REQ(8)
.2023-01-12 14:08:20,030 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 02 00 00 85 74 2023-01-12 14:08:20,031 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 2,opcode: 8500,params: [], check_sum: 74 2023-01-12 14:08:20,031 INFO: Parser eventParser: event name: EVENT_XM_MUSIC_REQ_FRAME 2023-01-12 14:08:20,032 INFO: Packet sendPacket: <<<send packet: AA 05 05 00 00 00 00 85 00 71 2023-01-12 14:08:20,032 INFO: Music get_data: 00000000: 49 44 33 03 00 00 00 00 00 52 54 50 45 32 00 00 00 07 00 00 00 A4 FD A4 4F A7 BB 54 49 54 32 00 2023-01-12 14:08:20,033 INFO: Parser cmdParser: cmd opcode: 8080 param: [05 00 49 44 33 03 00 00 00 00 00 52 54 50 45 32 00 00 00 07 00 00 00 A4 FD A4 4F A7 BB 54 49 54] name: CMD_XM_MUSIC 2023-01-12 14:08:20,036 INFO: Packet sendPacket: <<<send packet: AA 06 04 02 00 85 05 00 49 44 33 03 00 00 00 00 00 52 54 50 45 32 00 00 00 07 00 00 00 A4 FD A4 2023-01-12 14:08:20,042 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 05 00 00 00 00 80 80 68 2023-01-12 14:08:20,043 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 5,opcode: 0000,params: [80 80 08], check_sum: 68 2023-01-12 14:08:20,043 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-01-12 14:08:20,044 INFO: Parser eventParser: event_id: [80 80] 2023-01-12 14:08:20,044 INFO: Parser eventParser: status: [08]
-
ACI Host CLI test: Session close.
The ACI Host sends
Session Close
to end the music playing process normally. The ACI Host CLI CMD for stopping music playing is music close, the corresponding UART CMD packet and tool log are as follows.ACI Host CLI CMD for Music Close Command
Parameters
ACI Host CLI CMD
CMD_XM_MUSIC = 0x8080
type = MUSIC_SESSION_CLOSE(4), seq = 0
music close
2023-01-12 14:19:04,386 INFO: Parser cmdParser: cmd opcode: 8080 param: [04 00] name: CMD_XM_MUSIC 2023-01-12 14:19:04,386 INFO: Packet sendPacket: <<<send packet: AA 90 04 00 80 80 04 00 E3 2023-01-12 14:19:04,398 INFO: AciHostCLI continuously_read: >>>receive packet: AA 3F 05 00 00 00 80 80 00 37 2023-01-12 14:19:04,399 INFO: Parser eventParser: syncWord: AA,seqn: 3F,len: 5,opcode: 0000,params: [80 80 00], check_sum: 37 2023-01-12 14:19:04,400 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-01-12 14:19:04,400 INFO: Parser eventParser: event_id: [80 80] 2023-01-12 14:19:04,400 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Session abort.
If the ACK status is not
CMD_SET_STATUS_COMPLETE(0)
orCMD_SET_STATUS_MUSIC_REQ(8)
during playback, the ACI Host will sendSession Abort
to stop the music playing process immediately. The ACI Host CLI CMD for stopping music playing is music abort, the corresponding UART CMD packet and tool log are as follows.ACI Host CLI CMD for Music Abort Command
Parameters
ACI Host CLI CMD
CMD_XM_MUSIC = 0x8080
type = MUSIC_SESSION_ABORT(3), seq = 0
music abort
2023-01-12 14:24:17,764 INFO: input command: music abort 2023-01-12 14:24:17,765 INFO: Parser cmdParser: cmd opcode: 8080 param: [03 00] name: CMD_XM_MUSIC 2023-01-12 14:24:17,765 INFO: Packet sendPacket: <<<send packet: AA 31 04 00 00 85 03 00 43 2023-01-12 14:24:17,774 INFO: AciHostCLI continuously_read: >>>receive packet: AA 71 0A 00 0B 00 00 00 00 00 00 00 00 00 7A 2023-01-12 14:24:17,774 INFO: Parser eventParser: syncWord: AA,seqn: 71,len: 10,opcode: 000B,params: [00 00 00 00 00 00 00 00], check_sum: 7A 2023-01-12 14:24:17,775 INFO: Parser eventParser: event name: EVENT_PLAYER_STATUS 2023-01-12 14:24:17,775 INFO: Parser eventParser: bd_addr: [00 00 00 00 00 00] 2023-01-12 14:24:17,775 INFO: Parser eventParser: play_status: [00] 2023-01-12 14:24:17,776 INFO: Parser eventParser: play_mode: [00] 2023-01-12 14:24:17,776 INFO: Packet sendPacket: <<<send packet: AA 32 05 00 00 00 0B 00 00 BE 2023-01-12 14:24:17,790 INFO: AciHostCLI continuously_read: >>>receive packet: AA 72 05 00 00 00 00 85 00 04 2023-01-12 14:24:17,790 INFO: Parser eventParser: syncWord: AA,seqn: 72,len: 5,opcode: 0000,params: [00 85 00], check_sum: 04 2023-01-12 14:24:17,791 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-01-12 14:24:17,791 INFO: Parser eventParser: event_id: [00 85] 2023-01-12 14:24:17,791 INFO: Parser eventParser: status: [00]
ACI Host CLI Test (Music)
The played music directory is tool\AciHostCLI-Common_SDK\music
.
Local Playback
Command |
Parameters |
ACI Host CLI CMD |
Description |
---|---|---|---|
CMD_XM_MMI = 0x8004 |
action = XM_MMI_MODE_LOCAL_PLAY(1) |
xmmi local |
Switch to local playback mode for music play. |
Connect and configure a SPK to EVB.
-
ACI Host CLI test: Enter local playback mode.
Input xmmi local.
2023-04-23 18:48:59,335 INFO: input command: xmmi local 2023-04-23 18:48:59,337 INFO: Parser cmdParser: cmd opcode: 8004 param: [01] name: CMD_XM_MMI 2023-04-23 18:48:59,338 INFO: Packet sendPacket: <<<send packet: AA 01 03 00 04 80 01 77 2023-04-23 18:48:59,342 INFO: AciHostCLI continuously_read: >>>receive packet: AA 57 05 00 00 00 04 80 00 20 2023-04-23 18:48:59,355 INFO: Parser eventParser: syncWord: AA,seqn: 57,len: 5,opcode: 0000,params: [04 80 00], check_sum: 20 2023-04-23 18:48:59,357 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-23 18:48:59,360 INFO: Parser eventParser: event_id: [04 80] 2023-04-23 18:48:59,367 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Music open.
Input music open, then the played music can be heard from SPK.
-
ACI Host CLI test: Music close.
Input music close, then the played music will be stopped.
A2DP Source Playback
Command |
Parameters |
ACI Host CLI CMD |
Description |
---|---|---|---|
CMD_XM_MMI = 0x8004 |
action = XM_MMI_MODE_A2DP_SOURCE(2) |
xmmi source |
Switch to A2DP Source mode for music play. |
-
ACI Host CLI test: Connect ACI Device to BUD.
Please refer to Connect to BUD.
-
ACI Host CLI test: Enter A2DP Source playback mode.
Input xmmi source.
2023-04-23 18:50:20,276 INFO: input command: xmmi source 2023-04-23 18:50:20,278 INFO: Parser cmdParser: cmd opcode: 8004 param: [02] name: CMD_XM_MMI 2023-04-23 18:50:20,280 INFO: Packet sendPacket: <<<send packet: AA 02 03 00 04 80 02 75 2023-04-23 18:50:20,281 INFO: AciHostCLI continuously_read: >>>receive packet: AA 58 05 00 00 00 04 80 00 1F 2023-04-23 18:50:20,301 INFO: Parser eventParser: syncWord: AA,seqn: 58,len: 5,opcode: 0000,params: [04 80 00], check_sum: 1F 2023-04-23 18:50:20,316 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-04-23 18:50:20,323 INFO: Parser eventParser: event_id: [04 80] 2023-04-23 18:50:20,326 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Music open.
Input music open, then the played music can be heard from BUD.
-
ACI Host CLI test: Music close.
Input music close, then the played music will be stopped.
Bluetooth Audio Integrated Transceiver
This chapter introduces the functionality of the bt_audio_integrated_transceiver application scenario. This functionality is enabled by opening the macro definition F_APP_BT_AUDIO_TRANSCEIVER_DEMO_SUPPORT
and F_APP_INTEGRATED_TRANSCEIVER
in app_flags.h
. This chapter describes how to use these functions and the flow of how to test them, including the MSCs of the ACI Device and ACI Host interaction, and the commands used by ACI Host CLI Tool.
A2DP Integrated Transceiver Transmission (A2DP Output)
Two typical transmit scenarios are introduced at the beginning of the article. Based on the A2DP transmission, A2DP data can be transferred from the Phone, through ACI Device to the Headset.
A2DP integrated transceiver transmission process:

A2DP Integrated Transceiver Transmission
Before using the function, please configure the link numbers by clicking
by MCUConfig Tool.
System Configuration 1

System Configuration 2
ACI Host CLI Test: Integrated Transceiver (A2DP Output)
The ACI Host sends CMD_SRC_PLAY_SET_SRC_ROUTE
to ACI Device to set the A2DP input route, sends CMD_SRC_PLAY_SET_PLAY_ROUTE
to set A2DP output route, sends CMD_SRC_PLAY_ROUTE_IN_START/STOP
to start or stop the A2DP input route, and sends CMD_SRC_PLAY_ROUTE_OUT_START/STOP
to start or stop the A2DP output route.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_SRC_PLAY_SET_SRC_ROUTE(0x3300) |
action = a2dp(0x07, 0x00) |
set_route_in a2dp |
CMD_SRC_PLAY_SET_PLAY_ROUTE(0x3302) |
action = a2dp(0x01) |
set_route_out a2dp |
CMD_SRC_PLAY_ROUTE_IN_START(0x3304) |
None |
route_in start |
CMD_SRC_PLAY_ROUTE_IN_STOP(0x3305) |
None |
route_in stop |
CMD_SRC_PLAY_ROUTE_OUT_START(0x3306) |
None |
route_out start |
CMD_SRC_PLAY_ROUTE_OUT_STOP(0x3307) |
None |
route_out stop |
-
ACI Host CLI test: Connect ACI Device to Phone.
Please refer to Connect to Phone.
-
ACI Host CLI test: Connect ACI Device to BUD.
Please refer to Connect to BUD.
-
ACI Host CLI test: Input set_route_in a2dp.
2024-10-30 14:43:09,715 INFO: input command: set_route_in a2dp 2024-10-30 14:43:09,716 INFO: Parser cmdParser: cmd opcode: 3300 param: [07 00] name: CMD_SRC_PLAY_SET_SRC_ROUTE 2024-10-30 14:43:09,716 INFO: Packet sendPacket: <<<send packet: AA 54 04 00 00 33 07 00 6E 2024-10-30 14:43:09,788 WARNING: AciHostCLI retrans: retransmit command set_route_in a2dp due to ack timeout! retry: 1 2024-10-30 14:43:09,789 INFO: Packet sendPacket: <<<send packet: AA 54 04 00 00 33 07 00 6E 2024-10-30 14:43:09,803 INFO: AciHostCLI continuously_read: >>>receive packet: AA 4A 05 00 00 00 00 33 00 7E 2024-10-30 14:43:09,804 INFO: Parser eventParser: syncWord: AA,seqn: 4A,len: 5,opcode: 0000,params: [00 33 00], check_sum: 7E 2024-10-30 14:43:09,804 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-10-30 14:43:09,805 INFO: Parser eventParser: event_id: [00 33] 2024-10-30 14:43:09,805 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input set_route_out a2dp.
2024-10-30 14:43:14,178 INFO: input command: set_route_out a2dp 2024-10-30 14:43:14,179 INFO: Parser cmdParser: cmd opcode: 3302 param: [01] name: CMD_SRC_PLAY_SET_PLAY_ROUTE 2024-10-30 14:43:14,179 INFO: Packet sendPacket: <<<send packet: AA 55 03 00 02 33 01 72 2024-10-30 14:43:14,250 WARNING: AciHostCLI retrans: retransmit command set_route_out a2dp due to ack timeout! retry: 1 2024-10-30 14:43:14,251 INFO: Packet sendPacket: <<<send packet: AA 55 03 00 02 33 01 72 2024-10-30 14:43:14,260 INFO: AciHostCLI continuously_read: >>>receive packet: AA 4B 05 00 00 00 02 33 00 7B 2024-10-30 14:43:14,261 INFO: Parser eventParser: syncWord: AA,seqn: 4B,len: 5,opcode: 0000,params: [02 33 00], check_sum: 7B 2024-10-30 14:43:14,261 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-10-30 14:43:14,261 INFO: Parser eventParser: event_id: [02 33] 2024-10-30 14:43:14,261 INFO: Parser eventParser: status: [00]
-
Play music on Phone, then ACI Host will receive
APP_EVENT_AVRCP_PLAYER_STATUS
andEVENT_TRACK_CHANGED
.2024-10-30 14:43:33,319 INFO: AciHostCLI continuously_read: >>>receive packet: AA 4C 0A 00 0B 00 41 AF 7B 6C 32 20 01 00 75 2024-10-30 14:43:33,320 INFO: Parser eventParser: syncWord: AA,seqn: 4C,len: 10,opcode: 000B,params: [41 AF 7B 6C 32 20 01 00], check_sum: 75 2024-10-30 14:43:33,320 INFO: Parser eventParser: event name: APP_EVENT_AVRCP_PLAYER_STATUS 2024-10-30 14:43:33,320 INFO: Parser eventParser: bd_addr: [41 AF 7B 6C 32 20] 2024-10-30 14:43:33,322 INFO: Parser eventParser: play_status: [01] 2024-10-30 14:43:33,322 INFO: Parser eventParser: play_mode: [00] 2024-10-30 14:43:33,323 INFO: Packet sendPacket: <<<send packet: AA 56 05 00 00 00 0B 00 00 9A 2024-10-30 14:43:33,335 INFO: AciHostCLI continuously_read: >>>receive packet: AA 4D 10 00 21 00 41 AF 7B 6C 32 20 00 00 00 00 00 00 00 00 59 2024-10-30 14:43:33,336 INFO: Parser eventParser: syncWord: AA,seqn: 4D,len: 16,opcode: 0021,params: [41 AF 7B 6C 32 20 00 00 00 00 00 00 00 00], check_sum: 59 2024-10-30 14:43:33,336 INFO: Parser eventParser: event name: EVENT_TRACK_CHANGED 2024-10-30 14:43:33,337 INFO: Packet sendPacket: <<<send packet: AA 57 05 00 00 00 21 00 00 83
-
ACI Host CLI test: Input route_out start.
2024-10-30 14:43:38,276 INFO: input command: route_out start 2024-10-30 14:43:38,276 INFO: Parser cmdParser: cmd opcode: 3306 param: [] name: CMD_SRC_PLAY_ROUTE_OUT_START 2024-10-30 14:43:38,277 INFO: Packet sendPacket: <<<send packet: AA 58 02 00 06 33 6D 2024-10-30 14:43:38,287 INFO: AciHostCLI continuously_read: >>>receive packet: AA 4E 05 00 00 00 06 33 00 74 2024-10-30 14:43:38,288 INFO: Parser eventParser: syncWord: AA,seqn: 4E,len: 5,opcode: 0000,params: [06 33 00], check_sum: 74 2024-10-30 14:43:38,288 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-10-30 14:43:38,288 INFO: Parser eventParser: event_id: [06 33] 2024-10-30 14:43:38,288 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Input route_in start.
2024-10-30 14:43:40,239 INFO: input command: route_in start 2024-10-30 14:43:40,240 INFO: Parser cmdParser: cmd opcode: 3304 param: [] name: CMD_SRC_PLAY_ROUTE_IN_START 2024-10-30 14:43:40,240 INFO: Packet sendPacket: <<<send packet: AA 59 02 00 04 33 6E 2024-10-30 14:43:40,252 INFO: AciHostCLI continuously_read: >>>receive packet: AA 4F 05 00 00 00 04 33 00 75 2024-10-30 14:43:40,253 INFO: Parser eventParser: syncWord: AA,seqn: 4F,len: 5,opcode: 0000,params: [04 33 00], check_sum: 75 2024-10-30 14:43:40,253 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-10-30 14:43:40,253 INFO: Parser eventParser: event_id: [04 33] 2024-10-30 14:43:40,254 INFO: Parser eventParser: status: [00]
HFP Integrated Transceiver Transmission
Based on the HFP transmission, SCO data can be transferred from the Phone, through ACI Device to the Headset. HFP integrated transceiver transmission process:

HFP Integrated Transceiver Transmission
ACI Host CLI Test: Integrated Transceiver (HFP Output)
ACI Host sends CMD_HFP_AG_CONNECT_SCO
to ACI Device to connect the SCO link between ACI Device and Headset to send data. ACI Host sends CMD_HFP_AG_DISCONNECT_SCO
to ACI Device to disconnect the SCO link between ACI Device and the Headset. ACI Host CLI commands are hfpag conn and hfpag disconn. Before using the function, inquiry and page scan should be set as disable. Since there are two SCO links in this scenario, CMD_SRC_PLAY_SET_MULTI_ESCO
is used to support the coexistence of two links.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_HFP_AG_CONNECT_SCO(0x0480) |
action = SCO_CONNECT(0x01) |
hfpag conn_1 |
CMD_HFP_AG_DISCONNECT_SCO(0x0481) |
action = SCO_DISCONNECT(0x01) |
hfpag disconn_1 |
CMD_SRC_PLAY_SET_MULTI_ESCO(0x3310) |
action = Active(0x01, 0x02) |
set_multi_esco active |
CMD_XM_SET_MODE = 0x0030 |
device_mode = BT_DEVICE_MODE_IDLE(0) |
mode idle |
-
ACI Host CLI test: Connect ACI Device to Phone.
Please refer to Connect to Phone.
-
ACI Host CLI test: Connect ACI Device to BUD.
Please refer to Connect to BUD.
-
ACI Host CLI test: Disable inquiry scan and page scan.
2024-10-31 11:18:32,485 INFO: input command: mode idle 2024-10-31 11:18:32,486 INFO: Parser cmdParser: cmd opcode: 0030 param: [00] name: CMD_XM_SET_MODE 2024-10-31 11:18:32,486 INFO: Packet sendPacket: <<<send packet: AA 1D 03 00 30 00 00 B0 2024-10-31 11:18:32,495 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1C 05 00 00 00 30 00 00 AF 2024-10-31 11:18:32,496 INFO: Parser eventParser: syncWord: AA,seqn: 1C,len: 5,opcode: 0000,params: [30 00 00], check_sum: AF 2024-10-31 11:18:32,497 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-10-31 11:18:32,497 INFO: Parser eventParser: event_id: [30 00] 2024-10-31 11:18:32,497 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Set multilink SCO active.
2024-10-31 11:18:42,533 INFO: input command: set_multi_esco active 2024-10-31 11:18:42,534 INFO: Parser cmdParser: cmd opcode: 3310 param: [01 02] name: CMD_SRC_PLAY_SET_MULTI_ESCO 2024-10-31 11:18:42,534 INFO: Packet sendPacket: <<<send packet: AA 1E 04 00 10 33 01 02 98 2024-10-31 11:18:42,623 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1D 05 00 00 00 10 33 00 9B 2024-10-31 11:18:42,624 INFO: Parser eventParser: syncWord: AA,seqn: 1D,len: 5,opcode: 0000,params: [10 33 00], check_sum: 9B 2024-10-31 11:18:42,624 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-10-31 11:18:42,624 INFO: Parser eventParser: event_id: [10 33] 2024-10-31 11:18:42,625 INFO: Parser eventParser: status: [00]
-
Call the Phone connected to ACI Device.
2024-10-31 11:18:52,144 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1E 04 00 0A 00 00 02 D2 2024-10-31 11:18:52,144 INFO: Parser eventParser: syncWord: AA,seqn: 1E,len: 4,opcode: 000A,params: [00 02], check_sum: D2 2024-10-31 11:18:52,147 INFO: Parser eventParser: event name: APP_EVENT_HFP_CALL_STATUS 2024-10-31 11:18:52,148 INFO: Parser eventParser: link_id: [00] 2024-10-31 11:18:52,148 INFO: Parser eventParser: status: [02] 2024-10-31 11:18:52,149 INFO: Packet sendPacket: <<<send packet: AA 1F 05 00 00 00 0A 00 00 D2 2024-10-31 11:18:53,646 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1F 1D 00 07 04 00 01 01 04 00 00 81 31 35 39 36 32 31 37 33 35 38 30 00 00 00 00 00 00 00 00 2024-10-31 11:18:53,646 INFO: Parser eventParser: syncWord: AA,seqn: 1F,len: 29,opcode: 0407,params: [00 01 01 04 00 00 81 31 35 39 36 32 31 37 33 35 38 30 00 00 00 00 00 00 00 00 00], check_sum: F3 2024-10-31 11:18:53,648 INFO: Parser eventParser: event name: EVENT_CURRENT_CALLS 2024-10-31 11:18:53,649 INFO: Packet sendPacket: <<<send packet: AA 20 05 00 00 00 07 04 00 D0 2024-10-31 11:18:53,805 INFO: AciHostCLI continuously_read: >>>receive packet: AA 20 04 00 00 04 00 02 D6 2024-10-31 11:18:53,806 INFO: Parser eventParser: syncWord: AA,seqn: 20,len: 4,opcode: 0400,params: [00 02], check_sum: D6 2024-10-31 11:18:53,806 INFO: Parser eventParser: event name: APP_EVENT_SCO_STATE 2024-10-31 11:18:53,807 INFO: Parser eventParser: link_id: [00] 2024-10-31 11:18:53,808 INFO: Parser eventParser: state: [02] 2024-10-31 11:18:53,809 INFO: Packet sendPacket: <<<send packet: AA 21 05 00 00 00 00 04 00 D6 2024-10-31 11:18:53,821 INFO: AciHostCLI continuously_read: >>>receive packet: AA 21 04 00 00 04 00 01 D6 2024-10-31 11:18:53,821 INFO: Parser eventParser: syncWord: AA,seqn: 21,len: 4,opcode: 0400,params: [00 01], check_sum: D6 2024-10-31 11:18:53,822 INFO: Parser eventParser: event name: APP_EVENT_SCO_STATE 2024-10-31 11:18:53,822 INFO: Parser eventParser: link_id: [00] 2024-10-31 11:18:53,822 INFO: Parser eventParser: state: [01]
-
ACI Host CLI test: Connect the SCO link between ACI Device and Headset.
2024-10-31 11:19:01,258 INFO: input command: hfpag conn_1 2024-10-31 11:19:01,258 INFO: Parser cmdParser: cmd opcode: 0480 param: [01] name: CMD_HFP_AG_CONNECT_SCO 2024-10-31 11:19:01,259 INFO: Packet sendPacket: <<<send packet: AA 2A 03 00 80 04 01 4E 2024-10-31 11:19:01,266 INFO: AciHostCLI continuously_read: >>>receive packet: AA 27 05 00 00 00 80 04 00 50 2024-10-31 11:19:01,272 INFO: Parser eventParser: syncWord: AA,seqn: 27,len: 5,opcode: 0000,params: [80 04 00], check_sum: 50 2024-10-31 11:19:01,275 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-10-31 11:19:01,276 INFO: Parser eventParser: event_id: [80 04] 2024-10-31 11:19:01,276 INFO: Parser eventParser: status: [00] 2024-10-31 11:19:01,458 INFO: AciHostCLI continuously_read: >>>receive packet: AA 28 04 00 88 03 01 02 46 2024-10-31 11:19:01,458 INFO: Parser eventParser: syncWord: AA,seqn: 28,len: 4,opcode: 0388,params: [01 02], check_sum: 46 2024-10-31 11:19:01,459 INFO: Packet sendPacket: <<<send packet: AA 2B 05 00 00 00 88 03 00 45 2024-10-31 11:19:01,474 INFO: AciHostCLI continuously_read: >>>receive packet: AA 29 04 00 00 04 01 01 CD 2024-10-31 11:19:01,474 INFO: Parser eventParser: syncWord: AA,seqn: 29,len: 4,opcode: 0400,params: [01 01], check_sum: CD 2024-10-31 11:19:01,476 INFO: Parser eventParser: event name: APP_EVENT_SCO_STATE 2024-10-31 11:19:01,476 INFO: Parser eventParser: link_id: [01] 2024-10-31 11:19:01,477 INFO: Parser eventParser: state: [01] 2024-10-31 11:19:01,477 INFO: Packet sendPacket: <<<send packet: AA 2C 05 00 00 00 00 04 00 CB
-
Hang up Phone call.
2024-10-31 11:19:09,365 INFO: AciHostCLI continuously_read: >>>receive packet: AA 2F 1D 00 07 04 00 01 01 00 00 00 81 31 35 39 36 32 31 37 33 35 38 30 00 00 00 00 00 00 00 00 2024-10-31 11:19:09,366 INFO: Parser eventParser: syncWord: AA,seqn: 2F,len: 29,opcode: 0407,params: [00 01 01 00 00 00 81 31 35 39 36 32 31 37 33 35 38 30 00 00 00 00 00 00 00 00 00], check_sum: E7 2024-10-31 11:19:09,368 INFO: Parser eventParser: event name: EVENT_CURRENT_CALLS 2024-10-31 11:19:09,371 INFO: Packet sendPacket: <<<send packet: AA 32 05 00 00 00 07 04 00 BE 2024-10-31 11:19:10,435 INFO: AciHostCLI continuously_read: >>>receive packet: AA 30 04 00 00 04 00 00 C8 2024-10-31 11:19:10,436 INFO: Parser eventParser: syncWord: AA,seqn: 30,len: 4,opcode: 0400,params: [00 00], check_sum: C8 2024-10-31 11:19:10,436 INFO: Parser eventParser: event name: APP_EVENT_SCO_STATE 2024-10-31 11:19:10,437 INFO: Parser eventParser: link_id: [00] 2024-10-31 11:19:10,438 INFO: Parser eventParser: state: [00] 2024-10-31 11:19:10,438 INFO: Packet sendPacket: <<<send packet: AA 33 05 00 00 00 00 04 00 C4 2024-10-31 11:19:10,564 INFO: AciHostCLI continuously_read: >>>receive packet: AA 31 04 00 0A 00 00 00 C1 2024-10-31 11:19:10,564 INFO: Parser eventParser: syncWord: AA,seqn: 31,len: 4,opcode: 000A,params: [00 00], check_sum: C1 2024-10-31 11:19:10,572 INFO: Parser eventParser: event name: APP_EVENT_HFP_CALL_STATUS 2024-10-31 11:19:10,572 INFO: Parser eventParser: link_id: [00] 2024-10-31 11:19:10,573 INFO: Parser eventParser: status: [00] 2024-10-31 11:19:10,574 INFO: Packet sendPacket: <<<send packet: AA 34 05 00 00 00 0A 00 00 BD
-
ACI Host CLI test: Disconnect the SCO link between ACI Device and Headset.
2024-10-31 11:19:16,368 INFO: input command: hfpag disconn_1 2024-10-31 11:19:16,368 INFO: Parser cmdParser: cmd opcode: 0481 param: [01] name: CMD_HFP_AG_DISCONNECT_SCO 2024-10-31 11:19:16,369 INFO: Packet sendPacket: <<<send packet: AA 35 03 00 81 04 01 42 2024-10-31 11:19:16,403 INFO: AciHostCLI continuously_read: >>>receive packet: AA 32 05 00 00 00 81 04 00 44 2024-10-31 11:19:16,406 INFO: Parser eventParser: syncWord: AA,seqn: 32,len: 5,opcode: 0000,params: [81 04 00], check_sum: 44 2024-10-31 11:19:16,409 INFO: Parser eventParser: event name: APP_EVENT_ACK 2024-10-31 11:19:16,409 INFO: Parser eventParser: event_id: [81 04] 2024-10-31 11:19:16,410 INFO: Parser eventParser: status: [00] 2024-10-31 11:19:16,442 INFO: AciHostCLI continuously_read: >>>receive packet: AA 33 04 00 00 04 01 00 C4 2024-10-31 11:19:16,443 INFO: Parser eventParser: syncWord: AA,seqn: 33,len: 4,opcode: 0400,params: [01 00], check_sum: C4 2024-10-31 11:19:16,443 INFO: Parser eventParser: event name: APP_EVENT_SCO_STATE 2024-10-31 11:19:16,444 INFO: Parser eventParser: link_id: [01] 2024-10-31 11:19:16,444 INFO: Parser eventParser: state: [00] 2024-10-31 11:19:16,445 INFO: Packet sendPacket: <<<send packet: AA 36 05 00 00 00 00 04 00 C1
UART DFU
Introduction
DFU (Device Firmware Upgrade) function allows for seamless firmware updates. Bluetooth Audio Transceiver has incorporated a comprehensive DFU system based on UART. This system enables users to upgrade devices effortlessly through the utilization of the ACI Host CLI Tool. By placing the designated upgrade package into a specified folder and configuring the file name and version number, users can execute the device update with a single command.
Prepare the Upgrade Package
In order to perform a DFU process, it is necessary to prepare an upgrade package. The creation of the upgrade package can be accomplished using the MPPG Tool. This involves two main steps:
Generating the OTA header image. During this process, please ensure the appropriate version number is filled in (This version number will later need to be entered in the
config.yml
file in ACI Host CLI Tool). For detailed instructions, refer to Prepare the Image to Update.Packing the generated OTA header image with other images to be upgraded. For detailed instructions, refer to Pack Whole Image.
Once the upgrade package is prepared, place it in the sdk\tool\AciHostCLI-v1.x.x.xx-Common_SDK\dfu
folder. Then, open the config.yml
file and fill in the upgrade package’s file name and version number.

Upgrade Package Configuration
Upon completing the aforementioned steps, simply enter the command dfu start in the ACI Host to initiate the upgrade process for your device.
ACI Host CLI Test: UART DFU
The ACI Host sends CMD_UART_DFU
with various opcodes to execute specific functions. This includes using the UART_DFU_START_REQ
opcode to initiate the DFU, the UART_DFU_DATA_IND
opcode to transmit data packets, the UART_DFU_REBOOT
opcode to reboot the device, and the UART_DFU_ABORT
opcode to terminate the DFU. The device side sends the EVENT_DFU_START_RSP
event to confirm the initiation of the DFU, the EVENT_DFU_DATA_REQ
event to request data packets, and the EVENT_DFU_RESULT
event to notify the ACI Host of the upgrade result.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_UART_DFU(0x3270) |
opcode = UART_DFU_START_REQ(0x0000) |
dfu start |
CMD_UART_DFU(0x3270) |
opcode = UART_DFU_DATA_IND(0x0001) |
None |
CMD_UART_DFU(0x3270) |
opcode = UART_DFU_ABORT(0x0002) |
dfu abort |
CMD_UART_DFU(0x3270) |
opcode = UART_DFU_REBOOT(0x0003) |
None |
-
ACI Host CLI test: Start DFU.
2023-10-27 17:51:21,440 INFO: input command: dfu start 2023-10-27 17:51:21,573 INFO: DFU open: file_size 2434320 2023-10-27 17:51:21,574 INFO: Parser cmdParser: cmd opcode: 3270 param: [00 00 02 00 00 00] name: CMD_UART_DFU 2023-10-27 17:51:21,575 INFO: Packet sendPacket: <<<send packet: AA 06 08 00 70 32 00 00 02 00 00 00 4E 2023-10-27 17:51:21,647 WARNING: AciHostCLI retrans: retransmit command dfu start due to ack timeout! retry: 1 2023-10-27 17:51:21,648 INFO: Packet sendPacket: <<<send packet: AA 06 08 00 70 32 00 00 02 00 00 00 4E 2023-10-27 17:51:21,660 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 70 32 00 55 2023-10-27 17:51:21,661 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [70 32 00], check_sum: 55 2023-10-27 17:51:21,661 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-10-27 17:51:21,662 INFO: Parser eventParser: event_id: [70 32] 2023-10-27 17:51:21,663 INFO: Parser eventParser: status: [00] 2023-10-27 17:51:21,663 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 03 00 60 31 01 66 2023-10-27 17:51:21,664 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 3,opcode: 3160,params: [01], check_sum: 66 2023-10-27 17:51:21,665 INFO: Parser eventParser: event name: EVENT_DFU_START_RSP 2023-10-27 17:51:21,665 INFO: Parser eventParser: status: [01] 2023-10-27 17:51:21,666 INFO: DFU handle_duf_rsp: self.state dfuState.STARTED 2023-10-27 17:51:21,667 INFO: Packet sendPacket: <<<send packet: AA 07 05 00 00 00 60 31 00 63
-
ACI Host CLI test: Transmit data.
2023-10-27 17:51:21,676 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 08 00 61 31 00 00 00 00 48 00 18 2023-10-27 17:51:21,677 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 8,opcode: 3161,params: [00 00 00 00 48 00], check_sum: 18 2023-10-27 17:51:21,677 INFO: Parser eventParser: event name: EVENT_DFU_DATA_REQ 2023-10-27 17:51:21,678 INFO: Parser eventParser: offset: [00 00 00 00] 2023-10-27 17:51:21,679 INFO: Parser eventParser: length: [48 00] 2023-10-27 17:51:21,679 INFO: DFU handle_duf_rsp: next offset 0, length 72 2023-10-27 17:51:21,680 INFO: Packet sendPacket: <<<send packet: AA 08 05 00 00 00 61 31 00 61 2023-10-27 17:51:21,680 INFO: Parser cmdParser: cmd opcode: 3270 param: [01 00 47 4D 54 F3 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 82 0B EC 03 06 01 00 00 00 00 00 00 00 00 00 00 00 00 EC 03 06 00 00 00 00 00 00 00 00 00 00 00 00 00] name: CMD_UART_DFU 2023-10-27 17:51:21,681 INFO: Packet sendPacket: <<<send packet: AA 09 4C 00 70 32 01 00 47 4D 54 F3 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2023-10-27 17:51:21,692 INFO: AciHostCLI continuously_read: >>>receive packet: AA 07 05 00 00 00 70 32 00 52 2023-10-27 17:51:21,693 INFO: Parser eventParser: syncWord: AA,seqn: 07,len: 5,opcode: 0000,params: [70 32 00], check_sum: 52 2023-10-27 17:51:21,693 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-10-27 17:51:21,694 INFO: Parser eventParser: event_id: [70 32] 2023-10-27 17:51:21,694 INFO: Parser eventParser: status: [00] .... 2023-10-27 17:53:08,591 INFO: AciHostCLI continuously_read: >>>receive packet: AA 84 08 00 61 31 F0 F2 24 00 64 00 78 2023-10-27 17:53:08,592 INFO: Parser eventParser: syncWord: AA,seqn: 84,len: 8,opcode: 3161,params: [F0 F2 24 00 64 00], check_sum: 78 2023-10-27 17:53:08,592 INFO: Parser eventParser: event name: EVENT_DFU_DATA_REQ 2023-10-27 17:53:08,593 INFO: Parser eventParser: offset: [F0 F2 24 00] 2023-10-27 17:53:08,593 INFO: Parser eventParser: length: [64 00] 2023-10-27 17:53:08,593 INFO: DFU handle_duf_rsp: next offset 2421488, length 100 2023-10-27 17:53:08,594 INFO: Packet sendPacket: <<<send packet: AA 5E 05 00 00 00 61 31 00 0B 2023-10-27 17:53:08,594 INFO: Parser cmdParser: cmd opcode: 3270 param: [01 00 4F 52 28 00 B0 21 28 00 38 3F 28 00 6C 3E 28 00 A8 28 28 00 24 89 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 06 01 02 06 01 A0 00 FF FF FF FF 1F 00 92 02 94 02 96 02 09 11 19 21 29 31 39 41 49 51 59 61 69 71 79 7F F4 01] name: CMD_UART_DFU 2023-10-27 17:53:08,595 INFO: Packet sendPacket: <<<send packet: AA 5F 68 00 70 32 01 00 4F 52 28 00 B0 21 28 00 38 3F 28 00 6C 3E 28 00 A8 28 28 00 24 89 28 00 2023-10-27 17:53:08,603 INFO: AciHostCLI continuously_read: >>>receive packet: AA 85 05 00 00 00 70 32 00 D4 2023-10-27 17:53:08,604 INFO: Parser eventParser: syncWord: AA,seqn: 85,len: 5,opcode: 0000,params: [70 32 00], check_sum: D4 2023-10-27 17:53:08,605 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-10-27 17:53:08,606 INFO: Parser eventParser: event_id: [70 32] 2023-10-27 17:53:08,606 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: DFU successfully.
2023-10-27 17:53:09,099 INFO: Parser eventParser: syncWord: AA,seqn: 86,len: 3,opcode: 3162,params: [01], check_sum: E3 2023-10-27 17:53:09,100 INFO: Parser eventParser: event name: EVENT_DFU_RESULT 2023-10-27 17:53:09,101 INFO: Parser eventParser: result: [01] 2023-10-27 17:53:09,101 WARNING: DFU handle_dfu_result: result True, note True!!! 2023-10-27 17:53:09,102 INFO: Packet sendPacket: <<<send packet: AA 60 05 00 00 00 62 31 00 08 2023-10-27 17:53:09,103 INFO: DFU finish_dfu!!! 2023-10-27 17:53:09,103 INFO: Parser cmdParser: cmd opcode: 3270 param: [03 00] name: CMD_UART_DFU 2023-10-27 17:53:09,104 INFO: Packet sendPacket: <<<send packet: AA 61 04 00 70 32 03 00 F6 2023-10-27 17:53:09,176 WARNING: AciHostCLI retrans: retransmit command dfu reboot due to ack timeout! retry: 1 2023-10-27 17:53:09,177 INFO: Packet sendPacket: <<<send packet: AA 61 04 00 70 32 03 00 F6 2023-10-27 17:53:09,179 INFO: AciHostCLI continuously_read: >>>receive packet: AA 87 05 00 00 00 70 32 00 D2 2023-10-27 17:53:09,179 INFO: Parser eventParser: syncWord: AA,seqn: 87,len: 5,opcode: 0000,params: [70 32 00], check_sum: D2 2023-10-27 17:53:09,180 INFO: Parser eventParser: event name: APP_EVENT_ACK 2023-10-27 17:53:09,180 INFO: Parser eventParser: event_id: [70 32] 2023-10-27 17:53:09,181 INFO: Parser eventParser: status: [00] 2023-10-27 17:53:09,834 INFO: AciHostCLI continuously_read: >>>receive packet: AA 01 08 00 23 00 15 03 77 56 22 03 CA 2023-10-27 17:53:09,835 INFO: Parser eventParser: syncWord: AA,seqn: 01,len: 8,opcode: 0023,params: [15 03 77 56 22 03], check_sum: CA 2023-10-27 17:53:09,835 INFO: Parser eventParser: event name: EVENT_BT_READY 2023-10-27 17:53:09,836 INFO: Parser eventParser: factory_addr: [15 03 77 56 22 03] 2023-10-27 17:53:09,837 INFO: Packet sendPacket: <<<send packet: AA 62 05 00 00 00 23 00 00 76 2023-10-27 17:53:09,849 INFO: AciHostCLI continuously_read: >>>receive packet: AA 02 03 00 07 00 01 F3 2023-10-27 17:53:09,850 INFO: Parser eventParser: syncWord: AA,seqn: 02,len: 3,opcode: 0007,params: [01], check_sum: F3 2023-10-27 17:53:09,851 INFO: Parser eventParser: event name: EVENT_DEVICE_STATE 2023-10-27 17:53:09,851 INFO: Parser eventParser: device_state: [01] 2023-10-27 17:53:09,852 INFO: Packet sendPacket: <<<send packet: AA 63 05 00 00 00 07 00 00 91
Auracast™
Introduction
Auracast™ is a breakthrough technology based on the Bluetooth LE Audio specification. It offers an efficient and convenient solution for public broadcasting and multi-device audio sharing, drastically transforming the way people interact with others and surrounding environment. This Bluetooth Audio Transceiver application provides a comprehensive solution that fully supports Auracast™ Transmitter, Receiver, and Assistant roles.
Auracast™ Role: Transmitter
The Auracast™ Transmitter is a Bluetooth device capable of transmitting an Auracast™ broadcast. In this application, the Bluetooth Audio Transmitter Demo
has BAP_BROADCAST_SOURCE
enabled in app_lea_flag.h
by default to activate this feature. As a broadcast source, the Transmitter requires audio
data for transmission. The Source Play module effectively fulfills this role by providing
configurable audio paths. It facilitates the acquisition
of audio from inputs such as USB, mic, and I2S, enabling transmission through the BIS.
Auracast™ Role: Receiver
The Auracast™ Receiver is a Bluetooth device capable of receiving an Auracast™ broadcast. In this application, the Bluetooth Audio Receiver Demo
has F_APP_TMAP_BMR_SUPPORT
enabled in app_lea_flag.h
by default to activate this feature. This application supports synchronizing with a random
broadcast source, synchronizing with a specified address broadcast source, and initializing as a Scan Delegator to synchronize broadcast sources via
the Auracast™ Assistant. In this chapter, we will initialize as a Scan Delegator to demonstrate the Auracast™ functionality.
Auracast™ Role: Assistant
The Auracast™ Assistant is a Bluetooth device capable of assisting an Auracast™ Receiver in receiving an Auracast™ broadcast. In this application, the
Bluetooth Audio Transmitter Demo has BAP_BROADCAST_ASSISTANT
enabled in app_lea_flag.h
by default to activate this feature. Typically, an Assistant
has a UI interface (like on a mobile phone) to display all of the available Auracast™ transmitters within range, allowing users to select which broadcast
source to synchronize with the Receiver. In this chapter’s demonstration, the ACI Host can display the scanned broadcast sources and allows selection
through commands.
ACI Host CLI Test
Transmitter
In the demonstration of the source play module, we provide an example using line-in as input and BIS as output. Please refer to the section ACI Host CLI Test: Line-in Source Play (BIS Output).
Receiver
The Receiver shall use the bis_sync_init delegator
command to initialize itself as a scan delegator device, and then broadcast advertisement while waiting
for the Assistant to establish a BLE connection with it. When the Assistant selects the specified broadcast source, it will transfer the broadcast source information
to the Receiver via broadcast adio scan service.
Command |
Parameters |
ACI Host CLI CMD |
---|---|---|
CMD_LEA_SYNC_INIT(0x3254) |
bis_mode = random bis_policy = delegator addr = NULL |
bis_sync_init delegator |
CMD_LEA_ADV_START(0x3250) |
None |
lea_adv_start x |
-
ACI Host CLI test: Initialize as a Scan Delegator Device.
2025-08-13 14:29:42,123 INFO: input command: bis_sync_init delegator 2025-08-13 14:29:42,123 INFO: Parser cmdParser: cmd opcode: 3254 param: [01 00 00 00 00 00 00 00] name: CMD_LEA_SYNC_INIT 2025-08-13 14:29:42,123 INFO: Packet sendPacket: <<<send packet: AA 1B 0A 00 54 32 01 00 00 00 00 00 00 00 54 2025-08-13 14:29:42,133 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 54 32 00 71 2025-08-13 14:29:42,138 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [54 32 00], check_sum: 71 2025-08-13 14:29:42,138 INFO: Parser eventParser: event name: APP_EVENT_ACK 2025-08-13 14:29:42,138 INFO: Parser eventParser: event_id: [54 32] 2025-08-13 14:29:42,138 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Start LE Audio Advertising.
2025-08-13 14:29:43,923 INFO: input command: lea_adv_start x 2025-08-13 14:29:43,923 INFO: Parser cmdParser: cmd opcode: 3250 param: [] name: CMD_LEA_ADV_START 2025-08-13 14:29:43,923 INFO: Packet sendPacket: <<<send packet: AA 1C 02 00 50 32 60 2025-08-13 14:29:43,943 INFO: AciHostCLI continuously_read: >>>receive packet: AA 05 05 00 00 00 50 32 00 74 2025-08-13 14:29:43,943 INFO: Parser eventParser: syncWord: AA,seqn: 05,len: 5,opcode: 0000,params: [50 32 00], check_sum: 74 2025-08-13 14:29:43,943 INFO: Parser eventParser: event name: APP_EVENT_ACK 2025-08-13 14:29:43,943 INFO: Parser eventParser: event_id: [50 32] 2025-08-13 14:29:43,943 INFO: Parser eventParser: status: [00]
-
ACI Host CLI test: Connect with Assistant.
2025-08-13 14:29:53,237 INFO: AciHostCLI continuously_read: >>>receive packet: AA 07 03 00 00 01 00 F5 2025-08-13 14:29:53,237 INFO: Parser eventParser: syncWord: AA,seqn: 07,len: 3,opcode: 0100,params: [00], check_sum: F5 2025-08-13 14:29:53,237 INFO: Parser eventParser: event name: APP_EVENT_LE_CONNECTED 2025-08-13 14:29:53,237 INFO: Parser eventParser: link_id: [00] 2025-08-13 14:29:53,237 INFO: Packet sendPacket: <<<send packet: AA 1E 05 00 00 00 00 01 00 DC 2025-08-13 14:29:53,252 INFO: AciHostCLI continuously_read: >>>receive packet: AA 08 14 00 43 80 02 00 0F 00 02 00 02 27 02 56 22 03 18 00 00 00 F4 01 5B 2025-08-13 14:29:53,252 INFO: Parser eventParser: syncWord: AA,seqn: 08,len: 20,opcode: 8043,params: [02 00 0F 00 02 00 02 27 02 56 22 03 18 00 00 00 F4 01], check_sum: 5B 2025-08-13 14:29:53,252 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_STATE 2025-08-13 14:29:53,257 INFO: Parser eventParser: link_state: [02] 2025-08-13 14:29:53,257 INFO: Parser eventParser: app_link_id: [00] 2025-08-13 14:29:53,257 INFO: Parser eventParser: conn_handle: [0F 00] 2025-08-13 14:29:53,257 INFO: Parser eventParser: role: [02] 2025-08-13 14:29:53,257 INFO: Parser eventParser: remote addr type: [00] 2025-08-13 14:29:53,257 INFO: Parser eventParser: remote addr: [02 27 02 56 22 03] 2025-08-13 14:29:53,257 INFO: Parser eventParser: connInterval: [18 00] 2025-08-13 14:29:53,257 INFO: Parser eventParser: connLatency: [00 00] 2025-08-13 14:29:53,257 INFO: Parser eventParser: supTimeout: [F4 01] 2025-08-13 14:29:53,257 INFO: Packet sendPacket: <<<send packet: AA 1F 05 00 00 00 43 80 00 19 2025-08-13 14:29:53,270 INFO: AciHostCLI continuously_read: >>>receive packet: AA 09 05 00 41 80 00 F4 00 3D 2025-08-13 14:29:53,272 INFO: Parser eventParser: syncWord: AA,seqn: 09,len: 5,opcode: 8041,params: [00 F4 00], check_sum: 3D 2025-08-13 14:29:53,272 INFO: Parser eventParser: event name: EVENT_XM_LE_MTU 2025-08-13 14:29:53,272 INFO: Parser eventParser: mtu_size: [00 F4] 2025-08-13 14:29:53,272 INFO: Packet sendPacket: <<<send packet: AA 20 05 00 00 00 41 80 00 1A 2025-08-13 14:29:54,434 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0A 07 00 46 80 00 0D A7 04 00 71 2025-08-13 14:29:54,434 INFO: Parser eventParser: syncWord: AA,seqn: 0A,len: 7,opcode: 8046,params: [00 0D A7 04 00], check_sum: 71 2025-08-13 14:29:54,439 INFO: Parser eventParser: event name: EVENT_XM_LE_USER_CONFIRMATION_REQ 2025-08-13 14:29:54,439 INFO: Parser eventParser: app_link_id: [00] 2025-08-13 14:29:54,439 INFO: Parser eventParser: code: [0D A7 04 00] 2025-08-13 14:29:54,439 INFO: Packet sendPacket: <<<send packet: AA 21 05 00 00 00 46 80 00 14 2025-08-13 14:29:55,819 INFO: input command: lecfm t 2025-08-13 14:29:55,819 INFO: Parser cmdParser: cmd opcode: 8049 param: [00 01] name: CMD_XM_LE_USER_CFM_REQ 2025-08-13 14:29:55,819 INFO: Packet sendPacket: <<<send packet: AA 22 04 00 49 80 00 01 10 2025-08-13 14:29:55,904 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0B 05 00 00 00 49 80 00 27 2025-08-13 14:29:55,904 INFO: Parser eventParser: syncWord: AA,seqn: 0B,len: 5,opcode: 0000,params: [49 80 00], check_sum: 27 2025-08-13 14:29:55,904 INFO: Parser eventParser: event name: APP_EVENT_ACK 2025-08-13 14:29:55,904 INFO: Parser eventParser: event_id: [49 80] 2025-08-13 14:29:55,904 INFO: Parser eventParser: status: [00] 2025-08-13 14:29:58,508 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0C 0B 00 02 01 00 00 00 02 27 02 56 22 03 40 2025-08-13 14:29:58,508 INFO: Parser eventParser: syncWord: AA,seqn: 0C,len: 11,opcode: 0102,params: [00 00 00 02 27 02 56 22 03], check_sum: 40 2025-08-13 14:29:58,508 INFO: Parser eventParser: event name: APP_EVENT_LE_PAIR_STATUS 2025-08-13 14:29:58,508 INFO: Parser eventParser: link_id: [00] 2025-08-13 14:29:58,508 INFO: Parser eventParser: cause: [00 00] 2025-08-13 14:29:58,513 INFO: Parser eventParser: resolved_addr: [02 27 02 56 22 03] 2025-08-13 14:29:58,513 INFO: Packet sendPacket: <<<send packet: AA 23 05 00 00 00 02 01 00 D5
Assistant
The Auracast™ Assistant’s job is to look for all of the available Auracast™ Transmitters within range and then present them to the user in a way that lets them make a choice. Once the user has selected an available broadcast audio stream, the Auracast™ Assistant will synchronize with the specified broadcast source and transfer the sync information to the Receiver via the broadcast adio scan service.
Enter the command baas scan to scan nearby advertisements and filter out Auracast™ Transmitter devices. Then synchronize using the pa_sync command, and send the sync information to the Receiver using bst_start.
-
ACI Host CLI test: Connect with Receiver.
2025-08-13 14:29:46,174 INFO: input command: lea_scan start 2025-08-13 14:29:46,174 INFO: Parser cmdParser: cmd opcode: 3023 param: [00] name: CMD_LEA_SCAN 2025-08-13 14:29:46,176 INFO: Packet sendPacket: <<<send packet: AA 2D 03 00 23 30 00 7D 2025-08-13 14:29:46,259 INFO: AciHostCLI continuously_read: >>>receive packet: AA 04 05 00 00 00 23 30 00 A4 2025-08-13 14:29:46,259 INFO: Parser eventParser: syncWord: AA,seqn: 04,len: 5,opcode: 0000,params: [23 30 00], check_sum: A4 2025-08-13 14:29:46,264 INFO: Parser eventParser: event name: APP_EVENT_ACK 2025-08-13 14:29:46,264 INFO: Parser eventParser: event_id: [23 30] 2025-08-13 14:29:46,264 INFO: Parser eventParser: status: [00] 2025-08-13 14:29:46,309 INFO: AciHostCLI continuously_read: >>>receive packet: AA 06 34 00 40 01 01 00 00 06 23 06 56 22 03 0A 38 37 36 33 45 41 55 2D 32 33 00 00 00 00 00 00 2025-08-13 14:29:46,309 INFO: Parser eventParser: syncWord: AA,seqn: 06,len: 52,opcode: 0140,params: [01 00 00 06 23 06 56 22 03 0A 38 37 36 33 45 41 55 2D 32 33 00 00 00 00 00 00 00 00 00 00 00 00], check_sum: 8B 2025-08-13 14:29:46,309 INFO: Parser eventParser: event name: APP_EVENT_LE_AUDIO_SCAN_INFO 2025-08-13 14:29:46,309 INFO: Parser eventParser: event_type: [01 00] 2025-08-13 14:29:46,309 INFO: Parser eventParser: addr_type: [00] 2025-08-13 14:29:46,309 INFO: Parser eventParser: addr: [06 23 06 56 22 03] 2025-08-13 14:29:46,309 INFO: Parser eventParser: name_len: [0A] 2025-08-13 14:29:46,309 INFO: Parser eventParser: name: [38 37 36 33 45 41 55 2D 32 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 2025-08-13 14:29:46,309 INFO: Parser eventParser: name: 8763EAU-23 2025-08-13 14:29:49,892 INFO: input command: le conn_idx 2025-08-13 14:29:49,892 INFO: Parser cmdParser: device index: 0 addr_type 0 bd_addr: 06 23 06 56 22 03 , name: 8763EAU-23 2025-08-13 14:29:52,721 INFO: Parser cmdParser: input dev_index: 0 2025-08-13 14:29:52,721 INFO: Parser cmdParser: cmd opcode: 010E param: [03 00 06 23 06 56 22 03 00 E8 03] name: CMD_LE_CREATE_CONN 2025-08-13 14:29:52,721 INFO: Packet sendPacket: <<<send packet: AA 38 0D 00 0E 01 03 00 06 23 06 56 22 03 00 E8 03 14 2025-08-13 14:29:52,891 INFO: AciHostCLI continuously_read: >>>receive packet: AA 0F 05 00 00 00 0E 01 00 DD 2025-08-13 14:29:52,891 INFO: Parser eventParser: syncWord: AA,seqn: 0F,len: 5,opcode: 0000,params: [0E 01 00], check_sum: DD 2025-08-13 14:29:52,896 INFO: Parser eventParser: event name: APP_EVENT_ACK 2025-08-13 14:29:52,896 INFO: Parser eventParser: event_id: [0E 01] 2025-08-13 14:29:52,896 INFO: Parser eventParser: status: [00] 2025-08-13 14:29:53,212 INFO: AciHostCLI continuously_read: >>>receive packet: AA 10 05 00 07 01 00 02 02 DF 2025-08-13 14:29:53,212 INFO: Parser eventParser: syncWord: AA,seqn: 10,len: 5,opcode: 0107,params: [00 02 02], check_sum: DF 2025-08-13 14:29:53,212 INFO: Parser eventParser: event name: EVENT_LE_PHY_UPD 2025-08-13 14:29:53,212 INFO: Parser eventParser: app_link_id: [00] 2025-08-13 14:29:53,212 INFO: Parser eventParser: tx_phy: [02] 2025-08-13 14:29:53,217 INFO: Parser eventParser: rx_phy: [02] 2025-08-13 14:29:53,217 INFO: Packet sendPacket: <<<send packet: AA 39 05 00 00 00 07 01 00 BA 2025-08-13 14:29:53,227 INFO: AciHostCLI continuously_read: >>>receive packet: AA 11 03 00 00 01 00 EB 2025-08-13 14:29:53,232 INFO: Parser eventParser: syncWord: AA,seqn: 11,len: 3,opcode: 0100,params: [00], check_sum: EB 2025-08-13 14:29:53,232 INFO: Parser eventParser: event name: APP_EVENT_LE_CONNECTED 2025-08-13 14:29:53,232 INFO: Parser eventParser: link_id: [00] 2025-08-13 14:29:53,232 INFO: Packet sendPacket: <<<send packet: AA 3A 05 00 00 00 00 01 00 C0 2025-08-13 14:29:53,247 INFO: AciHostCLI continuously_read: >>>receive packet: AA 12 14 00 43 80 02 00 06 00 01 00 06 23 06 56 22 03 18 00 00 00 F4 01 57 2025-08-13 14:29:53,247 INFO: Parser eventParser: syncWord: AA,seqn: 12,len: 20,opcode: 8043,params: [02 00 06 00 01 00 06 23 06 56 22 03 18 00 00 00 F4 01], check_sum: 57 2025-08-13 14:29:53,247 INFO: Parser eventParser: event name: EVENT_XM_LE_CON_STATE 2025-08-13 14:29:53,247 INFO: Parser eventParser: link_state: [02] 2025-08-13 14:29:53,247 INFO: Parser eventParser: app_link_id: [00] 2025-08-13 14:29:53,247 INFO: Parser eventParser: conn_handle: [06 00] 2025-08-13 14:29:53,247 INFO: Parser eventParser: role: [01] 2025-08-13 14:29:53,247 INFO: Parser eventParser: remote addr type: [00] 2025-08-13 14:29:53,247 INFO: Parser eventParser: remote addr: [06 23 06 56 22 03] 2025-08-13 14:29:53,247 INFO: Parser eventParser: connInterval: [18 00] 2025-08-13 14:29:53,252 INFO: Parser eventParser: connLatency: [00 00] 2025-08-13 14:29:53,252 INFO: Parser eventParser: supTimeout: [F4 01] 2025-08-13 14:29:53,252 INFO: Packet sendPacket: <<<send packet: AA 3B 05 00 00 00 43 80 00 FD 2025-08-13 14:29:53,262 INFO: AciHostCLI continuously_read: >>>receive packet: AA 13 05 00 41 80 00 F4 00 33 2025-08-13 14:29:53,262 INFO: Parser eventParser: syncWord: AA,seqn: 13,len: 5,opcode: 8041,params: [00 F4 00], check_sum: 33 2025-08-13 14:29:53,262 INFO: Parser eventParser: event name: EVENT_XM_LE_MTU 2025-08-13 14:29:53,262 INFO: Parser eventParser: mtu_size: [00 F4] 2025-08-13 14:29:53,262 INFO: Packet sendPacket: <<<send packet: AA 3C 05 00 00 00 41 80 00 FE 2025-08-13 14:29:54,474 INFO: AciHostCLI continuously_read: >>>receive packet: AA 14 07 00 46 80 00 0D A7 04 00 67 2025-08-13 14:29:54,479 INFO: Parser eventParser: syncWord: AA,seqn: 14,len: 7,opcode: 8046,params: [00 0D A7 04 00], check_sum: 67 2025-08-13 14:29:54,479 INFO: Parser eventParser: event name: EVENT_XM_LE_USER_CONFIRMATION_REQ 2025-08-13 14:29:54,479 INFO: Parser eventParser: app_link_id: [00] 2025-08-13 14:29:54,479 INFO: Parser eventParser: code: [0D A7 04 00] 2025-08-13 14:29:54,479 INFO: Packet sendPacket: <<<send packet: AA 3D 05 00 00 00 46 80 00 F8 2025-08-13 14:29:58,155 INFO: input command: lecfm t 2025-08-13 14:29:58,155 INFO: Parser cmdParser: cmd opcode: 8049 param: [00 01] name: CMD_XM_LE_USER_CFM_REQ 2025-08-13 14:29:58,155 INFO: Packet sendPacket: <<<send packet: AA 3E 04 00 49 80 00 01 F4 2025-08-13 14:29:58,233 INFO: AciHostCLI continuously_read: >>>receive packet: AA 15 05 00 00 00 49 80 00 1D 2025-08-13 14:29:58,234 INFO: Parser eventParser: syncWord: AA,seqn: 15,len: 5,opcode: 0000,params: [49 80 00], check_sum: 1D 2025-08-13 14:29:58,234 INFO: Parser eventParser: event name: APP_EVENT_ACK 2025-08-13 14:29:58,234 INFO: Parser eventParser: event_id: [49 80] 2025-08-13 14:29:58,235 INFO: Parser eventParser: status: [00] 2025-08-13 14:29:58,474 INFO: AciHostCLI continuously_read: >>>receive packet: AA 16 0B 00 02 01 00 00 00 06 23 06 56 22 03 32 2025-08-13 14:29:58,474 INFO: Parser eventParser: syncWord: AA,seqn: 16,len: 11,opcode: 0102,params: [00 00 00 06 23 06 56 22 03], check_sum: 32 2025-08-13 14:29:58,474 INFO: Parser eventParser: event name: APP_EVENT_LE_PAIR_STATUS 2025-08-13 14:29:58,475 INFO: Parser eventParser: link_id: [00] 2025-08-13 14:29:58,475 INFO: Parser eventParser: cause: [00 00] 2025-08-13 14:29:58,475 INFO: Parser eventParser: resolved_addr: [06 23 06 56 22 03] 2025-08-13 14:29:58,475 INFO: Packet sendPacket: <<<send packet: AA 3F 05 00 00 00 02 01 00 B9
-
ACI Host CLI test: Scan for Nearby Broadcast Sources.
025-08-13 14:30:13,198 INFO: input command: baas scan 2025-08-13 14:30:13,200 INFO: Parser cmdParser: cmd opcode: 302F param: [00] name: CMD_LEA_BAAS_SCAN 2025-08-13 14:30:13,200 INFO: Packet sendPacket: <<<send packet: AA 44 03 00 2F 30 00 5A 2025-08-13 14:30:13,280 WARNING: AciHostCLI retrans: retransmit command baas scan due to ack timeout! retry: 1 2025-08-13 14:30:13,531 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1C 34 00 46 01 01 00 00 03 25 03 56 22 03 0A 38 37 36 33 45 41 55 2D 32 35 00 00 00 00 00 00 2025-08-13 14:30:13,531 INFO: Parser eventParser: syncWord: AA,seqn: 1C,len: 52,opcode: 0146,params: [01 00 00 03 25 03 56 22 03 0A 38 37 36 33 45 41 55 2D 32 35 00 00 00 00 00 00 00 00 00 00 00 00], check_sum: 71 2025-08-13 14:30:13,531 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAAS_SCAN_INFO 2025-08-13 14:30:13,531 INFO: Parser eventParser: scan_baas_dev_count: [01 00] 2025-08-13 14:30:13,531 INFO: Parser eventParser: addr_type: [00] 2025-08-13 14:30:13,531 INFO: Parser eventParser: addr: [03 25 03 56 22 03] 2025-08-13 14:30:13,531 INFO: Parser eventParser: name_len: [0A] 2025-08-13 14:30:13,531 INFO: Parser eventParser: name: [38 37 36 33 45 41 55 2D 32 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 2025-08-13 14:30:13,531 INFO: Packet sendPacket: <<<send packet: AA 47 05 00 00 00 46 01 00 6D 2025-08-13 14:30:13,546 INFO: AciHostCLI continuously_read: >>>receive packet: AA 1F 05 00 00 00 2F 30 00 7D 2025-08-13 14:30:13,546 INFO: Parser eventParser: syncWord: AA,seqn: 1F,len: 5,opcode: 0000,params: [2F 30 00], check_sum: 7D 2025-08-13 14:30:13,546 INFO: Parser eventParser: event name: APP_EVENT_ACK 2025-08-13 14:30:13,546 INFO: Parser eventParser: event_id: [2F 30] 2025-08-13 14:30:13,546 INFO: Parser eventParser: status: [00] 2025-08-13 14:30:15,401 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_BAAS_SCAN_INFO 2025-08-13 14:30:15,401 INFO: Parser eventParser: scan_baas_dev_count: [02 00] 2025-08-13 14:30:15,401 INFO: Parser eventParser: addr_type: [00] 2025-08-13 14:30:15,401 INFO: Parser eventParser: addr: [03 03 03 66 66 66] 2025-08-13 14:30:15,401 INFO: Parser eventParser: name_len: [0C] 2025-08-13 14:30:15,401 INFO: Parser eventParser: name: [77 6D 79 5F 38 37 37 33 47 5F 30 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00] 2025-08-13 14:30:15,401 INFO: Packet sendPacket: <<<send packet: AA 48 05 00 00 00 46 01 00 6C
-
ACI Host CLI test: Synchronize with the Specified Device.
2025-08-13 14:30:21,452 INFO: input command: pa_sync dev0 2025-08-13 14:30:21,452 INFO: Parser cmdParser: cmd opcode: 3030 param: [00] name: CMD_LEA_PA_SYNC_DEV 2025-08-13 14:30:21,452 INFO: Packet sendPacket: <<<send packet: AA 49 03 00 30 30 00 54 2025-08-13 14:30:21,527 WARNING: AciHostCLI retrans: retransmit command pa_sync dev0 due to ack timeout! retry: 1 2025-08-13 14:30:21,527 INFO: Packet sendPacket: <<<send packet: AA 49 03 00 30 30 00 54 2025-08-13 14:30:21,537 INFO: AciHostCLI continuously_read: >>>receive packet: AA 21 04 00 45 01 00 00 95 2025-08-13 14:30:21,537 INFO: Parser eventParser: syncWord: AA,seqn: 21,len: 4,opcode: 0145,params: [00 00], check_sum: 95 2025-08-13 14:30:21,537 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_ADD_SYNC_HANDLE 2025-08-13 14:30:21,537 INFO: Parser eventParser: sync_handle_count: [00] 2025-08-13 14:30:21,537 INFO: Packet sendPacket: <<<send packet: AA 4A 05 00 00 00 45 01 00 6B 2025-08-13 14:30:21,552 INFO: AciHostCLI continuously_read: >>>receive packet: AA 22 05 00 00 00 30 30 00 79 2025-08-13 14:30:21,552 INFO: Parser eventParser: syncWord: AA,seqn: 22,len: 5,opcode: 0000,params: [30 30 00], check_sum: 79 2025-08-13 14:30:21,552 INFO: Parser eventParser: event name: APP_EVENT_ACK 2025-08-13 14:30:21,552 INFO: Parser eventParser: event_id: [30 30] 2025-08-13 14:30:21,552 INFO: Parser eventParser: status: [00] 2025-08-13 14:30:21,809 INFO: AciHostCLI continuously_read: >>>receive packet: AA 23 03 00 47 01 04 8E 2025-08-13 14:30:21,809 INFO: Parser eventParser: syncWord: AA,seqn: 23,len: 3,opcode: 0147,params: [04], check_sum: 8E 2025-08-13 14:30:21,809 INFO: Parser eventParser: event name: EVENT_LE_AUDIO_PA_SYNC_STATE 2025-08-13 14:30:21,809 INFO: Parser eventParser: sync_state: [04] 2025-08-13 14:30:21,809 INFO: Packet sendPacket: <<<send packet: AA 4B 05 00 00 00 47 01 00 68
-
ACI Host CLI test: Send the Synchronization Information to the Receiver.
2025-08-13 14:30:24,633 INFO: input command: bst_start group_0_sync_0 2025-08-13 14:30:24,633 INFO: Parser cmdParser: cmd opcode: 3029 param: [00 00] name: CMD_LEA_BST_START 2025-08-13 14:30:24,638 INFO: Packet sendPacket: <<<send packet: AA 4C 04 00 29 30 00 00 57 2025-08-13 14:30:24,653 INFO: AciHostCLI continuously_read: >>>receive packet: AA 24 05 00 00 00 29 30 00 7E 2025-08-13 14:30:24,653 INFO: Parser eventParser: syncWord: AA,seqn: 24,len: 5,opcode: 0000,params: [29 30 00], check_sum: 7E 2025-08-13 14:30:24,653 INFO: Parser eventParser: event name: APP_EVENT_ACK 2025-08-13 14:30:24,653 INFO: Parser eventParser: event_id: [29 30] 2025-08-13 14:30:24,653 INFO: Parser eventParser: status: [00]