diff --git a/404.html b/404.html index 4c0e3dd9..c313a1ee 100644 --- a/404.html +++ b/404.html @@ -1742,6 +1742,8 @@ + + @@ -1802,6 +1804,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/api/examples.html b/api/examples.html index c90365db..75776c6d 100644 --- a/api/examples.html +++ b/api/examples.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/api/guide.html b/api/guide.html index c6ae6147..1ded85a0 100644 --- a/api/guide.html +++ b/api/guide.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/api/reference.html b/api/reference.html index b58e3753..7d4f2d23 100644 --- a/api/reference.html +++ b/api/reference.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + @@ -2007,61 +2029,7 @@ address[0] is the LSB of the address, address[5] is the MSB.

    Source code in bumble/hci.py -
    1739
    -1740
    -1741
    -1742
    -1743
    -1744
    -1745
    -1746
    -1747
    -1748
    -1749
    -1750
    -1751
    -1752
    -1753
    -1754
    -1755
    -1756
    -1757
    -1758
    -1759
    -1760
    -1761
    -1762
    -1763
    -1764
    -1765
    -1766
    -1767
    -1768
    -1769
    -1770
    -1771
    -1772
    -1773
    -1774
    -1775
    -1776
    -1777
    -1778
    -1779
    -1780
    -1781
    -1782
    -1783
    -1784
    -1785
    -1786
    -1787
    -1788
    -1789
    -1790
    -1791
    -1792
    -1793
    +              
    1793
     1794
     1795
     1796
    @@ -2148,7 +2116,61 @@ address[0] is the LSB of the address, address[5] is the MSB.

    1877 1878 1879 -1880
    class Address:
    +1880
    +1881
    +1882
    +1883
    +1884
    +1885
    +1886
    +1887
    +1888
    +1889
    +1890
    +1891
    +1892
    +1893
    +1894
    +1895
    +1896
    +1897
    +1898
    +1899
    +1900
    +1901
    +1902
    +1903
    +1904
    +1905
    +1906
    +1907
    +1908
    +1909
    +1910
    +1911
    +1912
    +1913
    +1914
    +1915
    +1916
    +1917
    +1918
    +1919
    +1920
    +1921
    +1922
    +1923
    +1924
    +1925
    +1926
    +1927
    +1928
    +1929
    +1930
    +1931
    +1932
    +1933
    +1934
    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
    @@ -2327,33 +2349,33 @@ the type is set to PUBLIC_DEVICE_ADDRESS.

    Source code in bumble/hci.py -
    1795
    -1796
    -1797
    -1798
    -1799
    -1800
    -1801
    -1802
    -1803
    -1804
    -1805
    -1806
    -1807
    -1808
    -1809
    -1810
    -1811
    -1812
    -1813
    -1814
    -1815
    -1816
    -1817
    -1818
    -1819
    -1820
    -1821
    def __init__(
    +            
    1849
    +1850
    +1851
    +1852
    +1853
    +1854
    +1855
    +1856
    +1857
    +1858
    +1859
    +1860
    +1861
    +1862
    +1863
    +1864
    +1865
    +1866
    +1867
    +1868
    +1869
    +1870
    +1871
    +1872
    +1873
    +1874
    +1875
    def __init__(
         self, address: Union[bytes, str], address_type: int = RANDOM_DEVICE_ADDRESS
     ):
         '''
    @@ -2405,15 +2427,15 @@ qualifier.

    Source code in bumble/hci.py -
    1857
    -1858
    -1859
    -1860
    -1861
    -1862
    -1863
    -1864
    -1865
    def to_string(self, with_type_qualifier=True):
    +            
    1911
    +1912
    +1913
    +1914
    +1915
    +1916
    +1917
    +1918
    +1919
    def to_string(self, with_type_qualifier=True):
         '''
         String representation of the address, MSB first, with an optional type
         qualifier.
    @@ -2449,36 +2471,39 @@ qualifier.

    Source code in bumble/hci.py -
    1911
    -1912
    -1913
    -1914
    -1915
    -1916
    -1917
    -1918
    -1919
    -1920
    -1921
    -1922
    -1923
    -1924
    -1925
    -1926
    -1927
    -1928
    -1929
    -1930
    -1931
    -1932
    -1933
    -1934
    -1935
    -1936
    -1937
    -1938
    -1939
    -1940
    class HCI_Packet:
    +              
    1966
    +1967
    +1968
    +1969
    +1970
    +1971
    +1972
    +1973
    +1974
    +1975
    +1976
    +1977
    +1978
    +1979
    +1980
    +1981
    +1982
    +1983
    +1984
    +1985
    +1986
    +1987
    +1988
    +1989
    +1990
    +1991
    +1992
    +1993
    +1994
    +1995
    +1996
    +1997
    +1998
    class HCI_Packet:
         '''
         Abstract Base class for HCI packets
         '''
    @@ -2495,6 +2520,9 @@ qualifier.

    if packet_type == HCI_ACL_DATA_PACKET: return HCI_AclDataPacket.from_bytes(packet) + if packet_type == HCI_SYNCHRONOUS_DATA_PACKET: + return HCI_SynchronousDataPacket.from_bytes(packet) + if packet_type == HCI_EVENT_PACKET: return HCI_Event.from_bytes(packet) @@ -2547,65 +2575,7 @@ qualifier.

    Source code in bumble/hci.py -
    1955
    -1956
    -1957
    -1958
    -1959
    -1960
    -1961
    -1962
    -1963
    -1964
    -1965
    -1966
    -1967
    -1968
    -1969
    -1970
    -1971
    -1972
    -1973
    -1974
    -1975
    -1976
    -1977
    -1978
    -1979
    -1980
    -1981
    -1982
    -1983
    -1984
    -1985
    -1986
    -1987
    -1988
    -1989
    -1990
    -1991
    -1992
    -1993
    -1994
    -1995
    -1996
    -1997
    -1998
    -1999
    -2000
    -2001
    -2002
    -2003
    -2004
    -2005
    -2006
    -2007
    -2008
    -2009
    -2010
    -2011
    -2012
    -2013
    +              
    2013
     2014
     2015
     2016
    @@ -2666,7 +2636,65 @@ qualifier.

    2071 2072 2073 -2074
    class HCI_Command(HCI_Packet):
    +2074
    +2075
    +2076
    +2077
    +2078
    +2079
    +2080
    +2081
    +2082
    +2083
    +2084
    +2085
    +2086
    +2087
    +2088
    +2089
    +2090
    +2091
    +2092
    +2093
    +2094
    +2095
    +2096
    +2097
    +2098
    +2099
    +2100
    +2101
    +2102
    +2103
    +2104
    +2105
    +2106
    +2107
    +2108
    +2109
    +2110
    +2111
    +2112
    +2113
    +2114
    +2115
    +2116
    +2117
    +2118
    +2119
    +2120
    +2121
    +2122
    +2123
    +2124
    +2125
    +2126
    +2127
    +2128
    +2129
    +2130
    +2131
    +2132
    class HCI_Command(HCI_Packet):
         '''
         See Bluetooth spec @ Vol 2, Part E - 5.4.1 HCI Command Packet
         '''
    @@ -2823,34 +2851,34 @@ qualifier.

    Source code in bumble/hci.py -
    1964
    -1965
    -1966
    -1967
    -1968
    -1969
    -1970
    -1971
    -1972
    -1973
    -1974
    -1975
    -1976
    -1977
    -1978
    -1979
    -1980
    -1981
    -1982
    -1983
    -1984
    -1985
    -1986
    -1987
    -1988
    -1989
    -1990
    -1991
    @staticmethod
    +            
    2022
    +2023
    +2024
    +2025
    +2026
    +2027
    +2028
    +2029
    +2030
    +2031
    +2032
    +2033
    +2034
    +2035
    +2036
    +2037
    +2038
    +2039
    +2040
    +2041
    +2042
    +2043
    +2044
    +2045
    +2046
    +2047
    +2048
    +2049
    @staticmethod
     def command(fields=(), return_parameters_fields=()):
         '''
         Decorator used to declare and register subclasses
    @@ -2907,16 +2935,16 @@ qualifier.

    Source code in bumble/hci.py -
    2120
    -2121
    -2122
    -2123
    -2124
    -2125
    -2126
    -2127
    -2128
    -2129
    @HCI_Command.command(
    +              
    2178
    +2179
    +2180
    +2181
    +2182
    +2183
    +2184
    +2185
    +2186
    +2187
    @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 5850fc85..a17d7576 100644
    --- a/apps_and_tools/bench.html
    +++ b/apps_and_tools/bench.html
    @@ -1763,6 +1763,8 @@
           
             
           
    +        
    +      
         
         
         
    @@ -1823,6 +1825,26 @@
     
                   
                 
    +              
    +                
    +  
    +  
    +  
    +    
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/console.html b/apps_and_tools/console.html index 09a9924e..13eaf7f3 100644 --- a/apps_and_tools/console.html +++ b/apps_and_tools/console.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/gatt_dump.html b/apps_and_tools/gatt_dump.html index c9607d11..bf5f3712 100644 --- a/apps_and_tools/gatt_dump.html +++ b/apps_and_tools/gatt_dump.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/gg_bridge.html b/apps_and_tools/gg_bridge.html index cced23e6..7567b878 100644 --- a/apps_and_tools/gg_bridge.html +++ b/apps_and_tools/gg_bridge.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/hci_bridge.html b/apps_and_tools/hci_bridge.html index 1bbc3c64..4c3de028 100644 --- a/apps_and_tools/hci_bridge.html +++ b/apps_and_tools/hci_bridge.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/index.html b/apps_and_tools/index.html index adc097d3..492a6b5b 100644 --- a/apps_and_tools/index.html +++ b/apps_and_tools/index.html @@ -1753,6 +1753,8 @@ + + @@ -1813,6 +1815,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/link_relay.html b/apps_and_tools/link_relay.html index ffeff59f..23c7b3e5 100644 --- a/apps_and_tools/link_relay.html +++ b/apps_and_tools/link_relay.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/pair.html b/apps_and_tools/pair.html index 58048c49..33b254ad 100644 --- a/apps_and_tools/pair.html +++ b/apps_and_tools/pair.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/show.html b/apps_and_tools/show.html index d1382005..d4191959 100644 --- a/apps_and_tools/show.html +++ b/apps_and_tools/show.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/speaker.html b/apps_and_tools/speaker.html index 6d35350f..e8dc7294 100644 --- a/apps_and_tools/speaker.html +++ b/apps_and_tools/speaker.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/unbond.html b/apps_and_tools/unbond.html index ce04038d..df0ba1d8 100644 --- a/apps_and_tools/unbond.html +++ b/apps_and_tools/unbond.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/apps_and_tools/usb_probe.html b/apps_and_tools/usb_probe.html index ff7ff99a..6e2291ff 100644 --- a/apps_and_tools/usb_probe.html +++ b/apps_and_tools/usb_probe.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/components/controller.html b/components/controller.html index 653b3d29..5fef1644 100644 --- a/components/controller.html +++ b/components/controller.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/components/gatt.html b/components/gatt.html index 5f700a49..59902f4b 100644 --- a/components/gatt.html +++ b/components/gatt.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/components/host.html b/components/host.html index 88fb0403..7fbe66ef 100644 --- a/components/host.html +++ b/components/host.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/components/security_manager.html b/components/security_manager.html index 15ea2204..8cc74d72 100644 --- a/components/security_manager.html +++ b/components/security_manager.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/development/code_style.html b/development/code_style.html index 1769fb91..12860f38 100644 --- a/development/code_style.html +++ b/development/code_style.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/development/contributing.html b/development/contributing.html index 0abc8485..35619fff 100644 --- a/development/contributing.html +++ b/development/contributing.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/development/python_environments.html b/development/python_environments.html index aaf92314..48b35396 100644 --- a/development/python_environments.html +++ b/development/python_environments.html @@ -1834,6 +1834,8 @@ + + @@ -1894,6 +1896,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/drivers/index.html b/drivers/index.html index 8ef2f7fb..0eb43458 100644 --- a/drivers/index.html +++ b/drivers/index.html @@ -1753,6 +1753,8 @@ + + @@ -1813,6 +1815,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/drivers/realtek.html b/drivers/realtek.html index f2308a0f..725c57e1 100644 --- a/drivers/realtek.html +++ b/drivers/realtek.html @@ -1807,6 +1807,8 @@ + + @@ -1867,6 +1869,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/examples/index.html b/examples/index.html index cd549637..5d5eb82f 100644 --- a/examples/index.html +++ b/examples/index.html @@ -1753,6 +1753,8 @@ + + @@ -1813,6 +1815,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/extras/android_bt_bench.html b/extras/android_bt_bench.html new file mode 100644 index 00000000..9bdd2111 --- /dev/null +++ b/extras/android_bt_bench.html @@ -0,0 +1,2315 @@ + + + + + + + + + + + + + + + + + + + + + + + Android BT Bench - Bumble + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + +

    ANDROID BENCH APP

    +

    This Android app that is compatible with the Bumble bench command line app. +This app can be used to test the throughput and latency between two Android +devices, or between an Android device and another device running the Bumble +bench app. +Only the RFComm Client, RFComm Server, L2CAP Client and L2CAP Server modes are +supported.

    +

    Building

    +

    You can build the app by running ./gradlew build (use gradlew.bat on Windows) from the BtBench top level directory. +You can also build with Android Studio: open the BtBench project. You can build and/or debug from there.

    +

    If the build succeeds, you can find the app APKs (debug and release) at:

    +
      +
    • [Release] app/build/outputs/apk/release/app-release-unsigned.apk
    • +
    • [Debug] app/build/outputs/apk/debug/app-debug.apk
    • +
    +

    Running

    +

    Starting the app

    +

    You can start the app from the Android launcher, from Android Studio, or with adb

    +

    Launching from the launcher

    +

    Just tap the app icon on the launcher, check the parameters, and tap +one of the benchmark action buttons.

    +

    Launching with adb

    +

    Using the am command, you can start the activity, and pass it arguments so that you can +automatically start the benchmark test, and/or set the parameters.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Parameter NameParameter TypeDescription
    autostartStringBenchmark to start. (rfcomm-client, rfcomm-server, l2cap-client or l2cap-server)
    packet-countIntegerNumber of packets to send (rfcomm-client and l2cap-client only)
    packet-sizeIntegerNumber of bytes per packet (rfcomm-client and l2cap-client only)
    peer-bluetooth-addressIntegerPeer Bluetooth address to connect to (rfcomm-client and l2cap-client
    +
    +

    Launching from adb with auto-start

    +

    In this example, we auto-start the Rfcomm Server bench action. +

    $ adb shell am start -n com.github.google.bumble.btbench/.MainActivity --es autostart rfcomm-server
    +

    +
    +
    +

    Launching from adb with auto-start and some parameters

    +

    In this example, we auto-start the Rfcomm Client bench action, set the packet count to 100, +and the packet size to 1024, and connect to DA:4C:10:DE:17:02 +

    $ adb shell am start -n com.github.google.bumble.btbench/.MainActivity --es autostart rfcomm-client --ei packet-count 100 --ei packet-size 1024 --es peer-bluetooth-address DA:4C:10:DE:17:02
    +

    +
    +

    Selecting a Peer Bluetooth Address

    +

    The app's main activity has a "Peer Bluetooth Address" setting where you can change the address.

    +
    +

    Bluetooth Address for L2CAP vs RFComm

    +

    For BLE (L2CAP mode), the address of a device typically changes regularly (it is randomized for privacy), whereas the Bluetooth Classic addresses will remain the same (RFComm mode). +If two devices are paired and bonded, then they will each "see" a non-changing address for each other even with BLE (Resolvable Private Address)

    +
    + + + + + + +
    +
    + + +
    + +
    + + + + +
    +
    +
    +
    + + + + + + + + + + \ No newline at end of file diff --git a/extras/android_remote_hci.html b/extras/android_remote_hci.html index c6f5f517..7df96846 100644 --- a/extras/android_remote_hci.html +++ b/extras/android_remote_hci.html @@ -12,7 +12,7 @@ - + @@ -1752,6 +1752,8 @@ + + @@ -1867,6 +1869,13 @@

    Stopping the bluetooth process

    -

    Since the Bluetooth HAL service can only accept one client, and that in normal conditions -that client is the Android's bluetooth stack, it is required to first shut down the +

    Since the Bluetooth HAL service can only accept one client, and that in normal conditions +that client is the Android's bluetooth stack, it is required to first shut down the Android bluetooth stack process.

    Checking if the Bluetooth process is running

    @@ -2263,7 +2328,30 @@ Airplane Mode, then rebooting. The bluetooth process should, in theory, not rest
    $ adb shell cmd bluetooth_manager disable
     
    -

    Starting the app

    +

    Running as a command line app

    +

    You push the built APK to a temporary location on the phone's filesystem, then launch the command +line executable with an adb shell command.

    +
    +

    Pushing the executable

    +

    $ adb push app/build/outputs/apk/release/app-release-unsigned.apk /data/local/tmp/remotehci.apk
    +
    +Do this every time you rebuild. Alternatively, you can push the debug APK instead: +
    $ adb push app/build/outputs/apk/debug/app-debug.apk /data/local/tmp/remotehci.apk
    +

    +
    +
    +

    Start the proxy from the command line

    +

    adb shell "CLASSPATH=/data/local/tmp/remotehci.apk app_process /system/bin com.github.google.bumble.remotehci.CommandLineInterface"
    +
    +This will run the proxy, listening on the default TCP port. +If you want a different port, pass it as a command line parameter

    +
    +
    +

    Start the proxy from the command line with a specific TCP port

    +
    adb shell "CLASSPATH=/data/local/tmp/remotehci.apk app_process /system/bin com.github.google.bumble.remotehci.CommandLineInterface 12345"
    +
    +
    +

    Running as a normal app

    You can start the app from the Android launcher, from Android Studio, or with adb

    Launching from the launcher

    Just tap the app icon on the launcher, check the TCP port that is configured, and tap @@ -2284,10 +2372,10 @@ automatically start the proxy, and/or set the port number.

    Selecting a TCP port

    The RemoteHCI app's main activity has a "TCP Port" setting where you can change the port on -which the proxy is accepting connections. If the default value isn't suitable, you can +which the proxy is accepting connections. If the default value isn't suitable, you can change it there (you can also use the special value 0 to let the OS assign a port number for you).

    Connecting to the proxy

    -

    To connect the Bumble stack to the proxy, you need to be able to reach the phone's network +

    To connect the Bumble stack to the proxy, you need to be able to reach the phone's network stack. This can be done over the phone's WiFi connection, or, alternatively, using an adb TCP forward (which should be faster than over WiFi).

    @@ -2295,7 +2383,7 @@ TCP forward (which should be faster than over WiFi).

    To connect to the proxy via an adb TCP forward, use:

    $ adb forward tcp:<outside-port> tcp:<inside-port>
     
    -Where <outside-port> is the port number for a listening socket on your laptop or +Where <outside-port> is the port number for a listening socket on your laptop or desktop machine, and is the TCP port selected in the app's user interface. Those two ports may be the same, of course. For example, with the default TCP port 9993: @@ -2303,7 +2391,7 @@ For example, with the default TCP port 9993:

    Once you've ensured that you can reach the proxy's TCP port on the phone, either directly or -via an adb forward, you can then use it as a Bumble transport, using the transport name: +via an adb forward, you can then use it as a Bumble transport, using the transport name: tcp-client:<host>:<port> syntax.

    Connecting a Bumble client

    @@ -2350,13 +2438,13 @@ Assuming you have set up an adb forward on port 9993: -
  • + + + + Android BT Bench + + + + +
  • + + + + @@ -1976,6 +1998,13 @@ Android Remote HCI + + +
  • + + Android BT Bench + +
  • @@ -1999,6 +2028,11 @@

    Allows using an Android phone's built-in Bluetooth controller with a Bumble stack running on a development machine. See Android Remote HCI for details.

    +

    Android BT Bench

    +

    An Android app that is compatible with the Bumble bench command line app. +This app can be used to test the throughput and latency between two Android +devices, or between an Android device and another device running the Bumble +bench app.

    diff --git a/getting_started.html b/getting_started.html index c3cee802..8cddb27c 100644 --- a/getting_started.html +++ b/getting_started.html @@ -1761,6 +1761,8 @@ + + @@ -1821,6 +1823,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/hardware/index.html b/hardware/index.html index 2cd5ce60..49b64a21 100644 --- a/hardware/index.html +++ b/hardware/index.html @@ -1753,6 +1753,8 @@ + + @@ -1813,6 +1815,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/hive/index.html b/hive/index.html index 5df14822..154ce2ae 100644 --- a/hive/index.html +++ b/hive/index.html @@ -9,7 +9,7 @@ - + @@ -1751,6 +1751,8 @@ + + @@ -1811,6 +1813,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + @@ -2074,7 +2096,7 @@ name for the radio you want to use (ex: usb:0 for the first USB don diff --git a/hive/web/scanner/scanner.py b/hive/web/scanner/scanner.py index e498f7a1..9ff6aba9 100644 --- a/hive/web/scanner/scanner.py +++ b/hive/web/scanner/scanner.py @@ -67,6 +67,7 @@ class Scanner: self.scan_entries[advertisement.address] = self.ScanEntry(advertisement) self.emit_update() + # ----------------------------------------------------------------------------- def main(hci_source, hci_sink): return Scanner(hci_source, hci_sink) diff --git a/hive/web/speaker/speaker.py b/hive/web/speaker/speaker.py index 4157981f..2b8ce006 100644 --- a/hive/web/speaker/speaker.py +++ b/hive/web/speaker/speaker.py @@ -172,9 +172,7 @@ class Speaker: connection.on('disconnection', self.on_bluetooth_disconnection) peer_name = '' if connection.peer_name is None else connection.peer_name peer_address = connection.peer_address.to_string(False) - self.emit( - 'connection', {'peer_name': peer_name, 'peer_address': peer_address} - ) + self.emit('connection', {'peer_name': peer_name, 'peer_address': peer_address}) def on_bluetooth_disconnection(self, reason): print(f'Disconnection ({reason})') diff --git a/index.html b/index.html index 2c9b1d68..b10b6fd2 100644 --- a/index.html +++ b/index.html @@ -1982,6 +1982,8 @@ + + @@ -2042,6 +2044,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/platforms/android.html b/platforms/android.html index 578c35c2..ffa412fb 100644 --- a/platforms/android.html +++ b/platforms/android.html @@ -1834,6 +1834,8 @@ + + @@ -1894,6 +1896,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/platforms/index.html b/platforms/index.html index 67bef7d4..6a346df2 100644 --- a/platforms/index.html +++ b/platforms/index.html @@ -1753,6 +1753,8 @@ + + @@ -1813,6 +1815,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/platforms/linux.html b/platforms/linux.html index d4d00cfe..da30fd72 100644 --- a/platforms/linux.html +++ b/platforms/linux.html @@ -1901,6 +1901,8 @@ + + @@ -1961,6 +1963,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/platforms/macos.html b/platforms/macos.html index 1263a531..8c459559 100644 --- a/platforms/macos.html +++ b/platforms/macos.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/platforms/windows.html b/platforms/windows.html index 1a5ae63f..51cb6db7 100644 --- a/platforms/windows.html +++ b/platforms/windows.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/platforms/zephyr.html b/platforms/zephyr.html index 120a3aa1..d2df6e94 100644 --- a/platforms/zephyr.html +++ b/platforms/zephyr.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/sitemap.xml.gz b/sitemap.xml.gz index eb29fcfe..6eb5115d 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 e5e7c26b..070f13de 100644 --- a/transports/android_emulator.html +++ b/transports/android_emulator.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/file.html b/transports/file.html index bc8f33f0..e3fd7fab 100644 --- a/transports/file.html +++ b/transports/file.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/hci_socket.html b/transports/hci_socket.html index 76222e4c..d010893c 100644 --- a/transports/hci_socket.html +++ b/transports/hci_socket.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/index.html b/transports/index.html index 7dd7dec6..d7ca1242 100644 --- a/transports/index.html +++ b/transports/index.html @@ -1753,6 +1753,8 @@ + + @@ -1813,6 +1815,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/pty.html b/transports/pty.html index 6553404b..c40c96c8 100644 --- a/transports/pty.html +++ b/transports/pty.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/serial.html b/transports/serial.html index 27f69b7e..98c5a0f8 100644 --- a/transports/serial.html +++ b/transports/serial.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/tcp_client.html b/transports/tcp_client.html index 0f674af6..127b9239 100644 --- a/transports/tcp_client.html +++ b/transports/tcp_client.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/tcp_server.html b/transports/tcp_server.html index 50a6b466..d06fdd7a 100644 --- a/transports/tcp_server.html +++ b/transports/tcp_server.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/udp.html b/transports/udp.html index b57d647f..a5a1f68c 100644 --- a/transports/udp.html +++ b/transports/udp.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/usb.html b/transports/usb.html index a418cf4c..3bda8a15 100644 --- a/transports/usb.html +++ b/transports/usb.html @@ -1861,6 +1861,8 @@ + + @@ -1921,6 +1923,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/vhci.html b/transports/vhci.html index 43e01873..43057cbb 100644 --- a/transports/vhci.html +++ b/transports/vhci.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/ws_client.html b/transports/ws_client.html index 5d76359f..2e68e4b6 100644 --- a/transports/ws_client.html +++ b/transports/ws_client.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/transports/ws_server.html b/transports/ws_server.html index c7e70983..3cac7035 100644 --- a/transports/ws_server.html +++ b/transports/ws_server.html @@ -1800,6 +1800,8 @@ + + @@ -1860,6 +1862,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/use_cases/index.html b/use_cases/index.html index cb6d6ecd..2e2f40c6 100644 --- a/use_cases/index.html +++ b/use_cases/index.html @@ -1753,6 +1753,8 @@ + + @@ -1813,6 +1815,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/use_cases/use_case_1.html b/use_cases/use_case_1.html index 2b68a0bb..fee55cf4 100644 --- a/use_cases/use_case_1.html +++ b/use_cases/use_case_1.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/use_cases/use_case_2.html b/use_cases/use_case_2.html index 23c0249b..02a1a256 100644 --- a/use_cases/use_case_2.html +++ b/use_cases/use_case_2.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/use_cases/use_case_3.html b/use_cases/use_case_3.html index 90bf4ad5..8aef0452 100644 --- a/use_cases/use_case_3.html +++ b/use_cases/use_case_3.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/use_cases/use_case_4.html b/use_cases/use_case_4.html index 1234468d..8d615dca 100644 --- a/use_cases/use_case_4.html +++ b/use_cases/use_case_4.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/use_cases/use_case_5.html b/use_cases/use_case_5.html index 6ae59a16..bbd384bb 100644 --- a/use_cases/use_case_5.html +++ b/use_cases/use_case_5.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + + diff --git a/use_cases/use_case_6.html b/use_cases/use_case_6.html index 52ebfcd3..40a630b7 100644 --- a/use_cases/use_case_6.html +++ b/use_cases/use_case_6.html @@ -1763,6 +1763,8 @@ + + @@ -1823,6 +1825,26 @@ + + + + + +
  • + + + + + Android BT Bench + + + + +
  • + + + +