Skip to content

Commit 2b7f5dc

Browse files
Thalleyaescolar
authored andcommitted
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 <[email protected]>
1 parent dd7e77b commit 2b7f5dc

File tree

6 files changed

+125
-126
lines changed

6 files changed

+125
-126
lines changed

doc/connectivity/bluetooth/api/shell/cap.rst

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,39 @@ The CAP initiator also supports broadcast audio as a source.
7878

7979
.. code-block:: console
8080
81-
cap_initiator --help
81+
uart:~$ cap_initiator --help
8282
cap_initiator - Bluetooth CAP initiator shell commands
8383
Subcommands:
84-
discover :Discover CAS
85-
unicast_start :Unicast Start [csip] [sinks <cnt> (default 1)] [sources <cnt>
86-
(default 1)] [conns (<cnt> | all) (default 1)]
87-
unicast_list :Unicast list streams
88-
unicast_update :Unicast Update <all | stream [stream [stream...]]>
89-
unicast_stop :Unicast stop streams [stream [stream [stream...]]] (all by default)
90-
unicast_cancel :Unicast cancel current procedure
84+
discover : Discover CAS
85+
unicast_start : Unicast Start [csip] [sinks <cnt> (default 1)] [sources
86+
<cnt> (default 1)] [conns (<cnt> | all) (default 1)]
87+
unicast_list : Unicast list streams
88+
unicast_update : Unicast Update <all | stream [stream [stream...]]>
89+
unicast_stop :Unicast stop streams [stream [stream [stream...]]] (all by default)
90+
unicast_cancel : Unicast cancel current procedure
91+
ac_1 : Unicast audio configuration 1
92+
ac_2 : Unicast audio configuration 2
93+
ac_3 : Unicast audio configuration 3
94+
ac_4 : Unicast audio configuration 4
95+
ac_5 : Unicast audio configuration 5
96+
ac_6_i : Unicast audio configuration 6(i)
97+
ac_6_ii : Unicast audio configuration 6(ii)
98+
ac_7_i : Unicast audio configuration 7(i)
99+
ac_7_ii : Unicast audio configuration 7(ii)
100+
ac_8_i : Unicast audio configuration 8(i)
101+
ac_8_ii : Unicast audio configuration 8(ii)
102+
ac_9_i : Unicast audio configuration 9(i)
103+
ac_9_ii : Unicast audio configuration 9(ii)
104+
ac_10 : Unicast audio configuration 10
105+
ac_11_i : Unicast audio configuration 11(i)
106+
ac_11_ii : Unicast audio configuration 11(ii)
107+
broadcast_start :
108+
broadcast_update : <meta>
109+
broadcast_stop :
110+
broadcast_delete :
111+
ac_12 : Broadcast audio configuration 12
112+
ac_13 : Broadcast audio configuration 13
113+
ac_14 : Broadcast audio configuration 14
91114
92115
Before being able to perform any stream operation, the device must also perform the
93116
: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
183206
bap init
184207
bt adv-create nconn-nscan ext-adv name
185208
bt per-adv-param
186-
cap_initiator ac_12 16_2_1
209+
bap preset broadcast 16_2_1
210+
cap_initiator ac_12
187211
bt adv-data discov
188212
bt per-adv-data
189213
cap_initiator broadcast_start

doc/connectivity/bluetooth/api/shell/gmap.rst

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,27 @@ by calling :code:`gmap init`. It is also strongly suggested to enable BAP via :c
1414

1515
.. code-block:: console
1616
17-
gmap --help
17+
uart:~$ gmap --help
1818
gmap - Bluetooth GMAP shell commands
1919
Subcommands:
20-
init :[none]
21-
set_role :[ugt | ugg | bgr | bgs]
22-
discover :[none]
23-
ac_1 :<sink preset>
24-
ac_2 :<source preset>
25-
ac_3 :<sink preset> <source preset>
26-
ac_4 :<sink preset>
27-
ac_5 :<sink preset> <source preset>
28-
ac_6_i :<sink preset>
29-
ac_6_ii :<sink preset>
30-
ac_7_ii :<sink preset> <source preset>
31-
ac_8_i :<sink preset> <source preset>
32-
ac_8_ii :<sink preset> <source preset>
33-
ac_11_i :<sink preset> <source preset>
34-
ac_11_ii :<sink preset> <source preset>
35-
ac_12 :<preset>
36-
ac_13 :<preset>
37-
ac_14 :<preset>
20+
init : [none]
21+
set_role : [ugt | ugg | bgr | bgs]
22+
discover : [none]
23+
ac_1 : Unicast audio configuration 1
24+
ac_2 : Unicast audio configuration 2
25+
ac_3 : Unicast audio configuration 3
26+
ac_4 : Unicast audio configuration 4
27+
ac_5 : Unicast audio configuration 5
28+
ac_6_i : Unicast audio configuration 6(i)
29+
ac_6_ii : Unicast audio configuration 6(ii)
30+
ac_7_ii : Unicast audio configuration 7(ii)
31+
ac_8_i : Unicast audio configuration 8(i)
32+
ac_8_ii : Unicast audio configuration 8(ii)
33+
ac_11_i : Unicast audio configuration 11(i)
34+
ac_11_ii : Unicast audio configuration 11(ii)
35+
ac_12 : Broadcast audio configuration 12
36+
ac_13 : Broadcast audio configuration 13
37+
ac_14 : Broadcast audio configuration 14
3838
3939
The :code:`set_role` command can be used to change the role at runtime, assuming that the device
4040
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
6363
ugt_feat 0x6f
6464
bgs_feat 0x01
6565
bgr_feat 0x03
66-
uart:~$ gmap ac_3 32_2_gr 32_2_gs
66+
uart:~$ bap preset sink 32_2_gr
67+
uart:~$ bap preset source 32_2_gs
68+
uart:~$ gmap ac_3
6769
Starting 2 streams for AC_3
6870
stream 0x20020060 config operation rsp_code 0 reason 0
6971
stream 0x200204d0 config operation rsp_code 0 reason 0

subsys/bluetooth/audio/shell/audio.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,7 @@ int bap_ac_create_unicast_group(const struct bap_unicast_ac_param *param,
155155
struct shell_stream *snk_uni_streams[], size_t snk_cnt,
156156
struct shell_stream *src_uni_streams[], size_t src_cnt);
157157

158-
int cap_ac_unicast(const struct shell *sh, size_t argc, char **argv,
159-
const struct bap_unicast_ac_param *param);
158+
int cap_ac_unicast(const struct shell *sh, const struct bap_unicast_ac_param *param);
160159
#endif /* CONFIG_BT_BAP_UNICAST_CLIENT */
161160
#endif /* CONFIG_BT_BAP_UNICAST */
162161

@@ -946,6 +945,7 @@ int cap_ac_broadcast(const struct shell *sh, size_t argc, char **argv,
946945

947946
extern struct shell_stream broadcast_source_streams[CONFIG_BT_BAP_BROADCAST_SRC_STREAM_COUNT];
948947
extern struct broadcast_source default_source;
948+
extern struct named_lc3_preset default_broadcast_source_preset;
949949
#endif /* CONFIG_BT_BAP_BROADCAST_SOURCE */
950950

951951
static inline bool print_base_subgroup_bis_cb(const struct bt_bap_base_subgroup_bis *bis,

subsys/bluetooth/audio/shell/bap.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ struct named_lc3_preset default_sink_preset = {"16_2_1",
7878
BT_BAP_LC3_UNICAST_PRESET_16_2_1(LOCATION, CONTEXT)};
7979
struct named_lc3_preset default_source_preset = {
8080
"16_2_1", BT_BAP_LC3_UNICAST_PRESET_16_2_1(LOCATION, CONTEXT)};
81-
static struct named_lc3_preset default_broadcast_source_preset = {
81+
struct named_lc3_preset default_broadcast_source_preset = {
8282
"16_2_1", BT_BAP_LC3_BROADCAST_PRESET_16_2_1(LOCATION, CONTEXT)};
8383
#endif /* IS_BAP_INITIATOR */
8484

0 commit comments

Comments
 (0)