Bluetooth: Audio: Shell: Runtime config of CAP/GMAP ACs

Modifies the audio configuration (ac) commands for CAP
and GMAP to use the default presets instead of supplying
the preset as arguments. This will allow the user to
use the `bap preset` command to configure everything in the
codec configuration before the AC commands are issued.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit is contained in:
Emil Gydesen 2024-03-15 11:46:31 +01:00 committed by Alberto Escolar
commit 2b7f5dce25
6 changed files with 125 additions and 126 deletions

View file

@ -78,16 +78,39 @@ The CAP initiator also supports broadcast audio as a source.
.. code-block:: console
cap_initiator --help
uart:~$ cap_initiator --help
cap_initiator - Bluetooth CAP initiator shell commands
Subcommands:
discover :Discover CAS
unicast_start :Unicast Start [csip] [sinks <cnt> (default 1)] [sources <cnt>
(default 1)] [conns (<cnt> | all) (default 1)]
unicast_list :Unicast list streams
unicast_update :Unicast Update <all | stream [stream [stream...]]>
unicast_stop :Unicast stop streams [stream [stream [stream...]]] (all by default)
unicast_cancel :Unicast cancel current procedure
discover : Discover CAS
unicast_start : Unicast Start [csip] [sinks <cnt> (default 1)] [sources
<cnt> (default 1)] [conns (<cnt> | all) (default 1)]
unicast_list : Unicast list streams
unicast_update : Unicast Update <all | stream [stream [stream...]]>
unicast_stop :Unicast stop streams [stream [stream [stream...]]] (all by default)
unicast_cancel : Unicast cancel current procedure
ac_1 : Unicast audio configuration 1
ac_2 : Unicast audio configuration 2
ac_3 : Unicast audio configuration 3
ac_4 : Unicast audio configuration 4
ac_5 : Unicast audio configuration 5
ac_6_i : Unicast audio configuration 6(i)
ac_6_ii : Unicast audio configuration 6(ii)
ac_7_i : Unicast audio configuration 7(i)
ac_7_ii : Unicast audio configuration 7(ii)
ac_8_i : Unicast audio configuration 8(i)
ac_8_ii : Unicast audio configuration 8(ii)
ac_9_i : Unicast audio configuration 9(i)
ac_9_ii : Unicast audio configuration 9(ii)
ac_10 : Unicast audio configuration 10
ac_11_i : Unicast audio configuration 11(i)
ac_11_ii : Unicast audio configuration 11(ii)
broadcast_start :
broadcast_update : <meta>
broadcast_stop :
broadcast_delete :
ac_12 : Broadcast audio configuration 12
ac_13 : Broadcast audio configuration 13
ac_14 : Broadcast audio configuration 14
Before being able to perform any stream operation, the device must also perform the
:code:`bap discover` operation to discover the ASEs and PAC records. The :code:`bap init`
@ -183,7 +206,8 @@ The following commands will setup a CAP broadcast source using the 16_2_1 preset
bap init
bt adv-create nconn-nscan ext-adv name
bt per-adv-param
cap_initiator ac_12 16_2_1
bap preset broadcast 16_2_1
cap_initiator ac_12
bt adv-data discov
bt per-adv-data
cap_initiator broadcast_start

View file

@ -14,27 +14,27 @@ by calling :code:`gmap init`. It is also strongly suggested to enable BAP via :c
.. code-block:: console
gmap --help
uart:~$ gmap --help
gmap - Bluetooth GMAP shell commands
Subcommands:
init :[none]
set_role :[ugt | ugg | bgr | bgs]
discover :[none]
ac_1 :<sink preset>
ac_2 :<source preset>
ac_3 :<sink preset> <source preset>
ac_4 :<sink preset>
ac_5 :<sink preset> <source preset>
ac_6_i :<sink preset>
ac_6_ii :<sink preset>
ac_7_ii :<sink preset> <source preset>
ac_8_i :<sink preset> <source preset>
ac_8_ii :<sink preset> <source preset>
ac_11_i :<sink preset> <source preset>
ac_11_ii :<sink preset> <source preset>
ac_12 :<preset>
ac_13 :<preset>
ac_14 :<preset>
init : [none]
set_role : [ugt | ugg | bgr | bgs]
discover : [none]
ac_1 : Unicast audio configuration 1
ac_2 : Unicast audio configuration 2
ac_3 : Unicast audio configuration 3
ac_4 : Unicast audio configuration 4
ac_5 : Unicast audio configuration 5
ac_6_i : Unicast audio configuration 6(i)
ac_6_ii : Unicast audio configuration 6(ii)
ac_7_ii : Unicast audio configuration 7(ii)
ac_8_i : Unicast audio configuration 8(i)
ac_8_ii : Unicast audio configuration 8(ii)
ac_11_i : Unicast audio configuration 11(i)
ac_11_ii : Unicast audio configuration 11(ii)
ac_12 : Broadcast audio configuration 12
ac_13 : Broadcast audio configuration 13
ac_14 : Broadcast audio configuration 14
The :code:`set_role` command can be used to change the role at runtime, assuming that the device
supports the role (the GMAP roles depend on some BAP configurations).
@ -63,7 +63,9 @@ Connect and establish Gaming Audio streams using Audio Configuration (AC) 3
ugt_feat 0x6f
bgs_feat 0x01
bgr_feat 0x03
uart:~$ gmap ac_3 32_2_gr 32_2_gs
uart:~$ bap preset sink 32_2_gr
uart:~$ bap preset source 32_2_gs
uart:~$ gmap ac_3
Starting 2 streams for AC_3
stream 0x20020060 config operation rsp_code 0 reason 0
stream 0x200204d0 config operation rsp_code 0 reason 0