connectivity/bluetooth/api/audio/shell/gmap.html · connectivity/bluetooth/api/audio/shell/gmap.rst 공식 원문 ↗

Zephyr 3.7.0 · Connectivity · Bluetooth · Audio Shell

Gaming Audio Profile shell

양쪽 device의 GMAP role·feature를 발견하고 gaming LC3 stream을 구성합니다.

Official pathconnectivity/bluetooth/api/audio/shell/gmap.html
Source fileconnectivity/bluetooth/api/audio/shell/gmap.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

UGT·UGG·BGR·BGS role과 Audio Configuration 3의 두 stream 예제를 설명합니다.

Service

GMAS

Roles

UGT · UGG · BGR · BGS

Example

AC 3

Streams

Gaming send · receive

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 5BF183C5CE6EAE20BDCF5EBA283AEDD53338DB23FBC844ED56718EB99FDD2E28
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

   uart:~$ gmap --help
   gmap - Bluetooth GMAP shell commands
   Subcommands:
     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).

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:~$ 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
   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)

Part 3

한국어 전문 번역

Gaming Audio Profile shell

GMAP은 다른 여러 low-layer profile과 달리 모든 device에 profile과 GMAS service가 존재합니다. 따라서 Initiator와 Acceptor, 즉 Central과 Peripheral 양쪽 모두 remote GMAS를 discover해 상대가 지원하는 GMAP role과 feature를 확인해야 합니다.

Bluetooth stack 초기화 뒤 gmap init으로 GMAS를 등록하며 bap init도 함께 실행하는 것을 강하게 권장합니다.

uart:~$ gmap --help
gmap - Bluetooth GMAP shell commands
Subcommands:
  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

set_role은 device가 해당 role의 BAP configuration을 지원하는 경우 runtime에 UGT, UGG, BGR 또는 BGS role로 변경합니다. Audio Configuration 명령은 GMAP이 허용하는 unicast·broadcast 구성을 준비합니다.

GMAP UGT Central 예제

Audio Configuration 3으로 gaming audio stream 두 개를 구성합니다. BAP discovery와 CAP·GMAP discovery에서 remote role·feature bit를 확인하고 gaming receive·send용 LC3 preset을 고른 뒤 gmap ac_3이 codec, QoS, enable과 start procedure를 실행합니다. 마지막에는 default stream으로 LC3 sine data를 전송합니다.

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:~$ 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
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)

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.