diff --git a/404.html b/404.html index 4c0e3dd..c313a1e 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 c90365d..75776c6 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 c6ae614..1ded85a 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 b58e375..7d4f2d2 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 5850fc8..a17d757 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 09a9924..13eaf7f 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 c9607d1..bf5f371 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 cced23e..7567b87 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 1bbc3c6..4c3de02 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 adc097d..492a6b5 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 ffeff59..23c7b3e 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 58048c4..33b254a 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 d138200..d419195 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 6d35350..e8dc729 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 ce04038..df0ba1d 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 ff7ff99..6e2291f 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 653b3d2..5fef164 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 5f700a4..59902f4 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 88fb040..7fbe66e 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 15ea220..8cc74d7 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 1769fb9..12860f3 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 0abc848..35619ff 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 aaf9231..48b3539 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 8ef2f7f..0eb4345 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 f2308a0..725c57e 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 cd54963..5d5eb82 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 0000000..9bdd211 --- /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 c6f5f51..7df9684 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 c3cee80..8cddb27 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 2cd5ce6..49b64a2 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 5df1482..154ce2a 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 e498f7a..9ff6aba 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 4157981..2b8ce00 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 2c9b1d6..b10b6fd 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 578c35c..ffa412f 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 67bef7d..6a346df 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 d4d00cf..da30fd7 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 1263a53..8c45955 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 1a5ae63..51cb6db 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 120a3aa..d2df6e9 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 eb29fcf..6eb5115 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 e5e7c26..070f13d 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 bc8f33f..e3fd7fa 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 76222e4..d010893 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 7dd7dec..d7ca124 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 6553404..c40c96c 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 27f69b7..98c5a0f 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 0f674af..127b923 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 50a6b46..d06fdd7 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 b57d647..a5a1f68 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 a418cf4..3bda8a1 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 43e0187..43057cb 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 5d76359..2e68e4b 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 c7e7098..3cac703 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 cb6d6ec..2e2f40c 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 2b68a0b..fee55cf 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 23c0249..02a1a25 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 90bf4ad..8aef045 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 1234468..8d615dc 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 6ae59a1..bbd384b 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 52ebfcd..40a630b 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 + + + + +
  • + + + +