diff --git a/404.html b/404.html index 2163212f..b5f41705 100644 --- a/404.html +++ b/404.html @@ -852,6 +852,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/api/examples.html b/api/examples.html index ba213b16..fe724492 100644 --- a/api/examples.html +++ b/api/examples.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/api/guide.html b/api/guide.html index ac0eca45..c8c6449b 100644 --- a/api/guide.html +++ b/api/guide.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/api/reference.html b/api/reference.html index fe91569b..fcb3807f 100644 --- a/api/reference.html +++ b/api/reference.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge @@ -1370,7 +1384,11 @@ address[0] is the LSB of the address, address[5] is the MSB.

    1814 1815 1816 -1817
    class Address:
    +1817
    +1818
    +1819
    +1820
    +1821
    class Address:
         '''
         Bluetooth Address (see Bluetooth spec Vol 6, Part B - 1.3 DEVICE ADDRESS)
         NOTE: the address bytes are stored in little-endian byte order here, so
    @@ -1488,6 +1506,16 @@ address[0] is the LSB of the address, address[5] is the MSB.

    def to_bytes(self): return self.address_bytes + def to_string(self, with_type_qualifier=True): + ''' + String representation of the address, MSB first, with an optional type + qualifier. + ''' + result = ':'.join([f'{x:02X}' for x in reversed(self.address_bytes)]) + if not with_type_qualifier or not self.is_public: + return result + return result + '/P' + def __bytes__(self): return self.to_bytes() @@ -1501,13 +1529,7 @@ address[0] is the LSB of the address, address[5] is the MSB.

    ) def __str__(self): - ''' - String representation of the address, MSB first - ''' - result = ':'.join([f'{x:02X}' for x in reversed(self.address_bytes)]) - if not self.is_public: - return result - return result + '/P' + return self.to_string()
    @@ -1606,31 +1628,34 @@ the type is set to PUBLIC_DEVICE_ADDRESS.

    -

    -__str__() +

    +to_string(with_type_qualifier=True) -

    +
    -

    String representation of the address, MSB first

    +

    String representation of the address, MSB first, with an optional type +qualifier.

    Source code in bumble/hci.py -
    1810
    -1811
    -1812
    -1813
    -1814
    -1815
    -1816
    -1817
    def __str__(self):
    +        
    1798
    +1799
    +1800
    +1801
    +1802
    +1803
    +1804
    +1805
    +1806
    def to_string(self, with_type_qualifier=True):
         '''
    -    String representation of the address, MSB first
    +    String representation of the address, MSB first, with an optional type
    +    qualifier.
         '''
         result = ':'.join([f'{x:02X}' for x in reversed(self.address_bytes)])
    -    if not self.is_public:
    +    if not with_type_qualifier or not self.is_public:
             return result
         return result + '/P'
     
    @@ -1660,11 +1685,7 @@ the type is set to PUBLIC_DEVICE_ADDRESS.

    Source code in bumble/hci.py -
    1848
    -1849
    -1850
    -1851
    -1852
    +          
    1852
     1853
     1854
     1855
    @@ -1689,7 +1710,11 @@ the type is set to PUBLIC_DEVICE_ADDRESS.

    1874 1875 1876 -1877
    class HCI_Packet:
    +1877
    +1878
    +1879
    +1880
    +1881
    class HCI_Packet:
         '''
         Abstract Base class for HCI packets
         '''
    @@ -1758,11 +1783,7 @@ the type is set to PUBLIC_DEVICE_ADDRESS.

    Source code in bumble/hci.py -
    1892
    -1893
    -1894
    -1895
    -1896
    +          
    1896
     1897
     1898
     1899
    @@ -1854,7 +1875,11 @@ the type is set to PUBLIC_DEVICE_ADDRESS.

    1985 1986 1987 -1988
    class HCI_Command(HCI_Packet):
    +1988
    +1989
    +1990
    +1991
    +1992
    class HCI_Command(HCI_Packet):
         '''
         See Bluetooth spec @ Vol 2, Part E - 5.4.1 HCI Command Packet
         '''
    @@ -1986,11 +2011,7 @@ the type is set to PUBLIC_DEVICE_ADDRESS.

    Source code in bumble/hci.py -
    1900
    -1901
    -1902
    -1903
    -1904
    +        
    1904
     1905
     1906
     1907
    @@ -2013,7 +2034,11 @@ the type is set to PUBLIC_DEVICE_ADDRESS.

    1924 1925 1926 -1927
    @staticmethod
    +1927
    +1928
    +1929
    +1930
    +1931
    @staticmethod
     def command(fields=(), return_parameters_fields=()):
         '''
         Decorator used to declare and register subclasses
    @@ -2070,16 +2095,16 @@ the type is set to PUBLIC_DEVICE_ADDRESS.

    Source code in bumble/hci.py -
    2031
    -2032
    -2033
    -2034
    -2035
    +          
    2035
     2036
     2037
     2038
     2039
    -2040
    @HCI_Command.command(
    +2040
    +2041
    +2042
    +2043
    +2044
    @HCI_Command.command(
         [
             ('connection_handle', 2),
             ('reason', {'size': 1, 'mapper': HCI_Constant.error_name}),
    diff --git a/apps_and_tools/bench.html b/apps_and_tools/bench.html
    index 0408f8eb..f2429676 100644
    --- a/apps_and_tools/bench.html
    +++ b/apps_and_tools/bench.html
    @@ -869,6 +869,20 @@
       
       
       
    +    
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge @@ -1403,13 +1417,13 @@ connecting to the Peripheral running a Receiver, as a GATT server.

    -
  • + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/apps_and_tools/gatt_dump.html b/apps_and_tools/gatt_dump.html index fe29f1e2..7edc167b 100644 --- a/apps_and_tools/gatt_dump.html +++ b/apps_and_tools/gatt_dump.html @@ -859,6 +859,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/apps_and_tools/gg_bridge.html b/apps_and_tools/gg_bridge.html index bfc6eddd..0fa3b76f 100644 --- a/apps_and_tools/gg_bridge.html +++ b/apps_and_tools/gg_bridge.html @@ -859,6 +859,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/apps_and_tools/hci_bridge.html b/apps_and_tools/hci_bridge.html index 6d2dbe27..c239425d 100644 --- a/apps_and_tools/hci_bridge.html +++ b/apps_and_tools/hci_bridge.html @@ -858,6 +858,20 @@ + +
  • + + Speaker + +
  • + + + + + + + + @@ -1257,7 +1271,7 @@ a Bluetooth host, and we are connecting it to a virtual controller attached to a diff --git a/apps_and_tools/index.html b/apps_and_tools/index.html index 2fdbf7c3..47f4fce3 100644 --- a/apps_and_tools/index.html +++ b/apps_and_tools/index.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge @@ -1225,6 +1239,7 @@ These include:

  • HCI Bridge - a HCI transport bridge to connect two HCI transports and filter/snoop the HCI packets
  • Golden Gate Bridge - a bridge between GATT and UDP to use with the Golden Gate "stack tool"
  • Show - Parse a file with HCI packets and print the details of each packet in a human readable form
  • +
  • Speaker - Virtual Bluetooth speaker, with a command line and browser-based UI.
  • Link Relay - WebSocket relay for virtual RemoteLink instances to communicate with each other.
  • diff --git a/apps_and_tools/link_relay.html b/apps_and_tools/link_relay.html index b335992e..32db43a8 100644 --- a/apps_and_tools/link_relay.html +++ b/apps_and_tools/link_relay.html @@ -859,6 +859,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/apps_and_tools/pair.html b/apps_and_tools/pair.html index dccbc06a..37f71062 100644 --- a/apps_and_tools/pair.html +++ b/apps_and_tools/pair.html @@ -859,6 +859,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/apps_and_tools/show.html b/apps_and_tools/show.html index 005facf2..7504adca 100644 --- a/apps_and_tools/show.html +++ b/apps_and_tools/show.html @@ -859,6 +859,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/apps_and_tools/speaker.html b/apps_and_tools/speaker.html new file mode 100644 index 00000000..97e7c24c --- /dev/null +++ b/apps_and_tools/speaker.html @@ -0,0 +1,1381 @@ + + + + + + + + + + + + + + + + Speaker - Bumble + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + +
    +
    + + + + +

    SPEAKER APP

    +

    logo

    +

    The Speaker app is virtual Bluetooth speaker (A2DP sink). +The app runs as a command-line executable, but also offers an optional simple +web-browser-based user interface.

    +

    General Usage

    +

    You can invoke the app either as bumble-speaker when installed as command +from pip, or python3 apps/speaker/speaker.py when running from a source +distribution.

    +
    Usage: speaker.py [OPTIONS] TRANSPORT
    +
    +  Run the speaker.
    +
    +Options:
    +  --codec [sbc|aac]          [default: aac]
    +  --discover                 Discover remote endpoints once connected
    +  --output NAME              Send audio to this named output (may be used more
    +                             than once for multiple outputs)
    +  --ui-port HTTP_PORT        HTTP port for the UI server  [default: 7654]
    +  --connect ADDRESS_OR_NAME  Address or name to connect to
    +  --device-config FILENAME   Device configuration file
    +  --help                     Show this message and exit.
    +
    +

    Connection

    +

    By default, the virtual speaker will wait for another device (like a phone or +computer) to connect to it (and possibly pair). Alternatively, the speaker can +be told to initiate a connection to a remote device, using the --connect +option.

    +

    Outputs

    +

    The speaker can have one or more outputs. By default, the only output is a text +display on the console, as well as a browser-based user interface if connected. +In addition, a file output can be used, in which case the received audio data is +saved to a specified file. +Finally, if the host computer on which your are running the application has ffplay +as an available command line executable, the @ffplay output can be selected, in +which case the received audio will be played on the computer's builtin speakers via +a pipe to ffplay. (see the ffplay documentation +for details)

    +

    Web User Interface

    +

    When the speaker app starts, it prints out on the console the local URL at which you +may point a browser (Chrome recommended for full functionality). The console line +specifying the local UI URL will look like: +

    UI HTTP server at http://127.0.0.1:7654
    +

    +

    By default, the web UI will show the status of the connection, as well as a realtime +graph of the received audio bandwidth. +In order to also hear the received audio, you need to click the Audio on button +(this is due to the fact that most browsers will require some user interface with the +page before granting access to the audio output APIs).

    +

    Examples

    +

    In the following examples, we use a single USB Bluetooth controllers usb:0. Other +transports can be used of course.

    +
    +

    Start the speaker and wait for a connection

    +
    $ bumble-speaker usb:0
    +
    +
    +
    +

    Start the speaker and save the AAC audio to a file named audio.aac.

    +
    $ bumble-speaker --output audio.aac usb:0
    +
    +
    +
    +

    Start the speaker and save the SBC audio to a file named audio.sbc.

    +
    $ bumble-speaker --codec sbc --output audio.sbc usb:0
    +
    +
    +
    +

    Start the speaker and connect it to a phone at address B8:7B:C5:05:57:ED.

    +
    $ bumble-speaker --connect B8:7B:C5:05:57:ED usb:0
    +
    +
    + + + + + +
    + +
    +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/apps_and_tools/unbond.html b/apps_and_tools/unbond.html index dfb36ab0..840ca3f0 100644 --- a/apps_and_tools/unbond.html +++ b/apps_and_tools/unbond.html @@ -859,6 +859,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/apps_and_tools/usb_probe.html b/apps_and_tools/usb_probe.html index 8c1a6879..1540508f 100644 --- a/apps_and_tools/usb_probe.html +++ b/apps_and_tools/usb_probe.html @@ -859,6 +859,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/components/controller.html b/components/controller.html index 3e73823e..da2ca39c 100644 --- a/components/controller.html +++ b/components/controller.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/components/gatt.html b/components/gatt.html index b0425f70..ed95eae9 100644 --- a/components/gatt.html +++ b/components/gatt.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/components/host.html b/components/host.html index ec25e47b..a7a18831 100644 --- a/components/host.html +++ b/components/host.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/components/security_manager.html b/components/security_manager.html index b2c10ac8..2ad1fbf8 100644 --- a/components/security_manager.html +++ b/components/security_manager.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/development/code_style.html b/development/code_style.html index 6d5405b0..3e525f0b 100644 --- a/development/code_style.html +++ b/development/code_style.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/development/contributing.html b/development/contributing.html index dbdcb04f..80f47377 100644 --- a/development/contributing.html +++ b/development/contributing.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/development/python_environments.html b/development/python_environments.html index 6f26b0f4..8c570ab7 100644 --- a/development/python_environments.html +++ b/development/python_environments.html @@ -934,6 +934,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/examples/index.html b/examples/index.html index b6a91389..3f917841 100644 --- a/examples/index.html +++ b/examples/index.html @@ -857,6 +857,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/getting_started.html b/getting_started.html index 7dfc5d67..ab038bde 100644 --- a/getting_started.html +++ b/getting_started.html @@ -867,6 +867,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/hardware/index.html b/hardware/index.html index 18cf960f..f06ca4d7 100644 --- a/hardware/index.html +++ b/hardware/index.html @@ -857,6 +857,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/images/speaker_screenshot.png b/images/speaker_screenshot.png new file mode 100644 index 00000000..fd34880e Binary files /dev/null and b/images/speaker_screenshot.png differ diff --git a/index.html b/index.html index 6f4b5418..8ced3902 100644 --- a/index.html +++ b/index.html @@ -1077,6 +1077,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/objects.inv b/objects.inv index 99cad962..ecf54e0f 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/platforms/android.html b/platforms/android.html index 1fabd572..05568b09 100644 --- a/platforms/android.html +++ b/platforms/android.html @@ -857,6 +857,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/platforms/index.html b/platforms/index.html index 5539bc71..198e829c 100644 --- a/platforms/index.html +++ b/platforms/index.html @@ -857,6 +857,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/platforms/linux.html b/platforms/linux.html index f91e50dc..bce12105 100644 --- a/platforms/linux.html +++ b/platforms/linux.html @@ -857,6 +857,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/platforms/macos.html b/platforms/macos.html index da89de16..9c43c4fc 100644 --- a/platforms/macos.html +++ b/platforms/macos.html @@ -857,6 +857,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/platforms/windows.html b/platforms/windows.html index 5a135746..5d62ce56 100644 --- a/platforms/windows.html +++ b/platforms/windows.html @@ -857,6 +857,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/sitemap.xml b/sitemap.xml index 251e4a86..d5052d62 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,252 +2,257 @@ None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 daily None - 2023-05-03 + 2023-06-10 + daily + + + None + 2023-06-10 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 534ce0c3..d62cfa07 100644 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ diff --git a/transports/android_emulator.html b/transports/android_emulator.html index 1214d3c0..ebb902aa 100644 --- a/transports/android_emulator.html +++ b/transports/android_emulator.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/file.html b/transports/file.html index 5d76556e..12227889 100644 --- a/transports/file.html +++ b/transports/file.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/hci_socket.html b/transports/hci_socket.html index 9c1312e9..0061cc19 100644 --- a/transports/hci_socket.html +++ b/transports/hci_socket.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/index.html b/transports/index.html index decc4260..a50dc3be 100644 --- a/transports/index.html +++ b/transports/index.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/pty.html b/transports/pty.html index 329ddcbb..4338180b 100644 --- a/transports/pty.html +++ b/transports/pty.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/serial.html b/transports/serial.html index 24b54b68..5a414a11 100644 --- a/transports/serial.html +++ b/transports/serial.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/tcp_client.html b/transports/tcp_client.html index 9e765199..8b91a44b 100644 --- a/transports/tcp_client.html +++ b/transports/tcp_client.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/tcp_server.html b/transports/tcp_server.html index 7650bfd8..dc0e1620 100644 --- a/transports/tcp_server.html +++ b/transports/tcp_server.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/udp.html b/transports/udp.html index 194900a0..e88b48de 100644 --- a/transports/udp.html +++ b/transports/udp.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/usb.html b/transports/usb.html index a04ddb76..f2fddb56 100644 --- a/transports/usb.html +++ b/transports/usb.html @@ -961,6 +961,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/vhci.html b/transports/vhci.html index 0a5354e1..1d2bf4c9 100644 --- a/transports/vhci.html +++ b/transports/vhci.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/ws_client.html b/transports/ws_client.html index bf645049..de925db7 100644 --- a/transports/ws_client.html +++ b/transports/ws_client.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/transports/ws_server.html b/transports/ws_server.html index 0db9e77d..4e64c746 100644 --- a/transports/ws_server.html +++ b/transports/ws_server.html @@ -900,6 +900,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/use_cases/index.html b/use_cases/index.html index 8d70c4f7..7ae98890 100644 --- a/use_cases/index.html +++ b/use_cases/index.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/use_cases/use_case_1.html b/use_cases/use_case_1.html index 4e727670..0021dc96 100644 --- a/use_cases/use_case_1.html +++ b/use_cases/use_case_1.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/use_cases/use_case_2.html b/use_cases/use_case_2.html index f1aeca7d..a35df4f5 100644 --- a/use_cases/use_case_2.html +++ b/use_cases/use_case_2.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/use_cases/use_case_3.html b/use_cases/use_case_3.html index 6ab73eee..ef2ecab9 100644 --- a/use_cases/use_case_3.html +++ b/use_cases/use_case_3.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/use_cases/use_case_4.html b/use_cases/use_case_4.html index b085601e..c3377096 100644 --- a/use_cases/use_case_4.html +++ b/use_cases/use_case_4.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/use_cases/use_case_5.html b/use_cases/use_case_5.html index 6bef7fec..bc30cf82 100644 --- a/use_cases/use_case_5.html +++ b/use_cases/use_case_5.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge diff --git a/use_cases/use_case_6.html b/use_cases/use_case_6.html index 5670d61e..87058dc7 100644 --- a/use_cases/use_case_6.html +++ b/use_cases/use_case_6.html @@ -869,6 +869,20 @@ +
  • + + Speaker + +
  • + + + + + + + + +
  • HCI Bridge