Add the GMAP shell module with support for running the various audio configurations in an easy way. Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
83 lines
2.9 KiB
ReStructuredText
83 lines
2.9 KiB
ReStructuredText
Bluetooth: Gaming Audio Profile Shell
|
|
#####################################
|
|
|
|
This document describes how to run the Gaming Audio Profile shell functionality.
|
|
Unlike most other low-layer profiles, GMAP is a profile that exists and has a service (GMAS) on all
|
|
devices. Thus both the initiator and acceptor (or central and peripheral) should do a discovery of
|
|
the remote device's GMAS to see what GMAP roles and features they support.
|
|
|
|
Using the GMAP Shell
|
|
********************
|
|
|
|
When the Bluetooth stack has been initialized (:code:`bt init`), the GMAS can be registered by
|
|
by calling :code:`gmap init`. It is also strongly suggested to enable BAP via :code:`bap init`.
|
|
|
|
.. code-block:: console
|
|
|
|
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>
|
|
|
|
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).
|
|
|
|
Example Central with GMAP UGT role
|
|
**********************************
|
|
|
|
Connect and establish Gaming Audio streams using Audio Configuration (AC) 3
|
|
(some logging has been omitted for clarity):
|
|
|
|
.. code-block:: console
|
|
|
|
uart:~$ bt init
|
|
uart:~$ bap init
|
|
uart:~$ gmap init
|
|
uart:~$ bt connect <address>
|
|
uart:~$ gatt exchange-mtu
|
|
uart:~$ bap discover
|
|
Discover complete: err 0
|
|
uart:~$ cap_initiator discover
|
|
discovery completed with CSIS
|
|
uart:~$ gmap discover
|
|
gmap discovered for conn 0x2001c7d8:
|
|
role 0x0f
|
|
ugg_feat 0x07
|
|
ugt_feat 0x6f
|
|
bgs_feat 0x01
|
|
bgr_feat 0x03
|
|
uart:~$ gmap ac_3 32_2_gr 32_2_gs
|
|
Starting 2 streams for AC_3
|
|
stream 0x20020060 config operation rsp_code 0 reason 0
|
|
stream 0x200204d0 config operation rsp_code 0 reason 0
|
|
stream 0x200204d0 qos operation rsp_code 0 reason 0
|
|
stream 0x20020060 qos operation rsp_code 0 reason 0
|
|
Stream 0x20020060 enabled
|
|
stream 0x200204d0 enable operation rsp_code 0 reason 0
|
|
Stream 0x200204d0 enabled
|
|
stream 0x20020060 enable operation rsp_code 0 reason 0
|
|
Stream 0x20020060 started
|
|
stream 0x200204d0 start operation rsp_code 0 reason 0
|
|
Stream 0x200204d0 started
|
|
Unicast start completed
|
|
uart:~$ bap start_sine
|
|
Started transmitting on default_stream 0x20020060
|
|
[0]: stream 0x20020060 : TX LC3: 80 (seq_num 24800)
|