mirror of
https://github.com/google/bumble.git
synced 2026-06-18 10:12:27 +00:00
Deployed 8400ff0 with MkDocs version: 1.5.3
This commit is contained in:
@@ -1742,6 +1742,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1802,6 +1804,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="/extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
+248
-220
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -2007,61 +2029,7 @@ address[0] is the LSB of the address, address[5] is the MSB.</p>
|
||||
|
||||
<details class="quote">
|
||||
<summary>Source code in <code>bumble/hci.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1739</span>
|
||||
<span class="normal">1740</span>
|
||||
<span class="normal">1741</span>
|
||||
<span class="normal">1742</span>
|
||||
<span class="normal">1743</span>
|
||||
<span class="normal">1744</span>
|
||||
<span class="normal">1745</span>
|
||||
<span class="normal">1746</span>
|
||||
<span class="normal">1747</span>
|
||||
<span class="normal">1748</span>
|
||||
<span class="normal">1749</span>
|
||||
<span class="normal">1750</span>
|
||||
<span class="normal">1751</span>
|
||||
<span class="normal">1752</span>
|
||||
<span class="normal">1753</span>
|
||||
<span class="normal">1754</span>
|
||||
<span class="normal">1755</span>
|
||||
<span class="normal">1756</span>
|
||||
<span class="normal">1757</span>
|
||||
<span class="normal">1758</span>
|
||||
<span class="normal">1759</span>
|
||||
<span class="normal">1760</span>
|
||||
<span class="normal">1761</span>
|
||||
<span class="normal">1762</span>
|
||||
<span class="normal">1763</span>
|
||||
<span class="normal">1764</span>
|
||||
<span class="normal">1765</span>
|
||||
<span class="normal">1766</span>
|
||||
<span class="normal">1767</span>
|
||||
<span class="normal">1768</span>
|
||||
<span class="normal">1769</span>
|
||||
<span class="normal">1770</span>
|
||||
<span class="normal">1771</span>
|
||||
<span class="normal">1772</span>
|
||||
<span class="normal">1773</span>
|
||||
<span class="normal">1774</span>
|
||||
<span class="normal">1775</span>
|
||||
<span class="normal">1776</span>
|
||||
<span class="normal">1777</span>
|
||||
<span class="normal">1778</span>
|
||||
<span class="normal">1779</span>
|
||||
<span class="normal">1780</span>
|
||||
<span class="normal">1781</span>
|
||||
<span class="normal">1782</span>
|
||||
<span class="normal">1783</span>
|
||||
<span class="normal">1784</span>
|
||||
<span class="normal">1785</span>
|
||||
<span class="normal">1786</span>
|
||||
<span class="normal">1787</span>
|
||||
<span class="normal">1788</span>
|
||||
<span class="normal">1789</span>
|
||||
<span class="normal">1790</span>
|
||||
<span class="normal">1791</span>
|
||||
<span class="normal">1792</span>
|
||||
<span class="normal">1793</span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1793</span>
|
||||
<span class="normal">1794</span>
|
||||
<span class="normal">1795</span>
|
||||
<span class="normal">1796</span>
|
||||
@@ -2148,7 +2116,61 @@ address[0] is the LSB of the address, address[5] is the MSB.</p>
|
||||
<span class="normal">1877</span>
|
||||
<span class="normal">1878</span>
|
||||
<span class="normal">1879</span>
|
||||
<span class="normal">1880</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span> <span class="nc">Address</span><span class="p">:</span>
|
||||
<span class="normal">1880</span>
|
||||
<span class="normal">1881</span>
|
||||
<span class="normal">1882</span>
|
||||
<span class="normal">1883</span>
|
||||
<span class="normal">1884</span>
|
||||
<span class="normal">1885</span>
|
||||
<span class="normal">1886</span>
|
||||
<span class="normal">1887</span>
|
||||
<span class="normal">1888</span>
|
||||
<span class="normal">1889</span>
|
||||
<span class="normal">1890</span>
|
||||
<span class="normal">1891</span>
|
||||
<span class="normal">1892</span>
|
||||
<span class="normal">1893</span>
|
||||
<span class="normal">1894</span>
|
||||
<span class="normal">1895</span>
|
||||
<span class="normal">1896</span>
|
||||
<span class="normal">1897</span>
|
||||
<span class="normal">1898</span>
|
||||
<span class="normal">1899</span>
|
||||
<span class="normal">1900</span>
|
||||
<span class="normal">1901</span>
|
||||
<span class="normal">1902</span>
|
||||
<span class="normal">1903</span>
|
||||
<span class="normal">1904</span>
|
||||
<span class="normal">1905</span>
|
||||
<span class="normal">1906</span>
|
||||
<span class="normal">1907</span>
|
||||
<span class="normal">1908</span>
|
||||
<span class="normal">1909</span>
|
||||
<span class="normal">1910</span>
|
||||
<span class="normal">1911</span>
|
||||
<span class="normal">1912</span>
|
||||
<span class="normal">1913</span>
|
||||
<span class="normal">1914</span>
|
||||
<span class="normal">1915</span>
|
||||
<span class="normal">1916</span>
|
||||
<span class="normal">1917</span>
|
||||
<span class="normal">1918</span>
|
||||
<span class="normal">1919</span>
|
||||
<span class="normal">1920</span>
|
||||
<span class="normal">1921</span>
|
||||
<span class="normal">1922</span>
|
||||
<span class="normal">1923</span>
|
||||
<span class="normal">1924</span>
|
||||
<span class="normal">1925</span>
|
||||
<span class="normal">1926</span>
|
||||
<span class="normal">1927</span>
|
||||
<span class="normal">1928</span>
|
||||
<span class="normal">1929</span>
|
||||
<span class="normal">1930</span>
|
||||
<span class="normal">1931</span>
|
||||
<span class="normal">1932</span>
|
||||
<span class="normal">1933</span>
|
||||
<span class="normal">1934</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span> <span class="nc">Address</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">'''</span>
|
||||
<span class="sd"> Bluetooth Address (see Bluetooth spec Vol 6, Part B - 1.3 DEVICE ADDRESS)</span>
|
||||
<span class="sd"> NOTE: the address bytes are stored in little-endian byte order here, so</span>
|
||||
@@ -2327,33 +2349,33 @@ the type is set to PUBLIC_DEVICE_ADDRESS.</p>
|
||||
|
||||
<details class="quote">
|
||||
<summary>Source code in <code>bumble/hci.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1795</span>
|
||||
<span class="normal">1796</span>
|
||||
<span class="normal">1797</span>
|
||||
<span class="normal">1798</span>
|
||||
<span class="normal">1799</span>
|
||||
<span class="normal">1800</span>
|
||||
<span class="normal">1801</span>
|
||||
<span class="normal">1802</span>
|
||||
<span class="normal">1803</span>
|
||||
<span class="normal">1804</span>
|
||||
<span class="normal">1805</span>
|
||||
<span class="normal">1806</span>
|
||||
<span class="normal">1807</span>
|
||||
<span class="normal">1808</span>
|
||||
<span class="normal">1809</span>
|
||||
<span class="normal">1810</span>
|
||||
<span class="normal">1811</span>
|
||||
<span class="normal">1812</span>
|
||||
<span class="normal">1813</span>
|
||||
<span class="normal">1814</span>
|
||||
<span class="normal">1815</span>
|
||||
<span class="normal">1816</span>
|
||||
<span class="normal">1817</span>
|
||||
<span class="normal">1818</span>
|
||||
<span class="normal">1819</span>
|
||||
<span class="normal">1820</span>
|
||||
<span class="normal">1821</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1849</span>
|
||||
<span class="normal">1850</span>
|
||||
<span class="normal">1851</span>
|
||||
<span class="normal">1852</span>
|
||||
<span class="normal">1853</span>
|
||||
<span class="normal">1854</span>
|
||||
<span class="normal">1855</span>
|
||||
<span class="normal">1856</span>
|
||||
<span class="normal">1857</span>
|
||||
<span class="normal">1858</span>
|
||||
<span class="normal">1859</span>
|
||||
<span class="normal">1860</span>
|
||||
<span class="normal">1861</span>
|
||||
<span class="normal">1862</span>
|
||||
<span class="normal">1863</span>
|
||||
<span class="normal">1864</span>
|
||||
<span class="normal">1865</span>
|
||||
<span class="normal">1866</span>
|
||||
<span class="normal">1867</span>
|
||||
<span class="normal">1868</span>
|
||||
<span class="normal">1869</span>
|
||||
<span class="normal">1870</span>
|
||||
<span class="normal">1871</span>
|
||||
<span class="normal">1872</span>
|
||||
<span class="normal">1873</span>
|
||||
<span class="normal">1874</span>
|
||||
<span class="normal">1875</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span>
|
||||
<span class="bp">self</span><span class="p">,</span> <span class="n">address</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">bytes</span><span class="p">,</span> <span class="nb">str</span><span class="p">],</span> <span class="n">address_type</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="n">RANDOM_DEVICE_ADDRESS</span>
|
||||
<span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">'''</span>
|
||||
@@ -2405,15 +2427,15 @@ qualifier.</p>
|
||||
|
||||
<details class="quote">
|
||||
<summary>Source code in <code>bumble/hci.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1857</span>
|
||||
<span class="normal">1858</span>
|
||||
<span class="normal">1859</span>
|
||||
<span class="normal">1860</span>
|
||||
<span class="normal">1861</span>
|
||||
<span class="normal">1862</span>
|
||||
<span class="normal">1863</span>
|
||||
<span class="normal">1864</span>
|
||||
<span class="normal">1865</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">to_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">with_type_qualifier</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1911</span>
|
||||
<span class="normal">1912</span>
|
||||
<span class="normal">1913</span>
|
||||
<span class="normal">1914</span>
|
||||
<span class="normal">1915</span>
|
||||
<span class="normal">1916</span>
|
||||
<span class="normal">1917</span>
|
||||
<span class="normal">1918</span>
|
||||
<span class="normal">1919</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span> <span class="nf">to_string</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">with_type_qualifier</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">'''</span>
|
||||
<span class="sd"> String representation of the address, MSB first, with an optional type</span>
|
||||
<span class="sd"> qualifier.</span>
|
||||
@@ -2449,36 +2471,39 @@ qualifier.</p>
|
||||
|
||||
<details class="quote">
|
||||
<summary>Source code in <code>bumble/hci.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1911</span>
|
||||
<span class="normal">1912</span>
|
||||
<span class="normal">1913</span>
|
||||
<span class="normal">1914</span>
|
||||
<span class="normal">1915</span>
|
||||
<span class="normal">1916</span>
|
||||
<span class="normal">1917</span>
|
||||
<span class="normal">1918</span>
|
||||
<span class="normal">1919</span>
|
||||
<span class="normal">1920</span>
|
||||
<span class="normal">1921</span>
|
||||
<span class="normal">1922</span>
|
||||
<span class="normal">1923</span>
|
||||
<span class="normal">1924</span>
|
||||
<span class="normal">1925</span>
|
||||
<span class="normal">1926</span>
|
||||
<span class="normal">1927</span>
|
||||
<span class="normal">1928</span>
|
||||
<span class="normal">1929</span>
|
||||
<span class="normal">1930</span>
|
||||
<span class="normal">1931</span>
|
||||
<span class="normal">1932</span>
|
||||
<span class="normal">1933</span>
|
||||
<span class="normal">1934</span>
|
||||
<span class="normal">1935</span>
|
||||
<span class="normal">1936</span>
|
||||
<span class="normal">1937</span>
|
||||
<span class="normal">1938</span>
|
||||
<span class="normal">1939</span>
|
||||
<span class="normal">1940</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span> <span class="nc">HCI_Packet</span><span class="p">:</span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1966</span>
|
||||
<span class="normal">1967</span>
|
||||
<span class="normal">1968</span>
|
||||
<span class="normal">1969</span>
|
||||
<span class="normal">1970</span>
|
||||
<span class="normal">1971</span>
|
||||
<span class="normal">1972</span>
|
||||
<span class="normal">1973</span>
|
||||
<span class="normal">1974</span>
|
||||
<span class="normal">1975</span>
|
||||
<span class="normal">1976</span>
|
||||
<span class="normal">1977</span>
|
||||
<span class="normal">1978</span>
|
||||
<span class="normal">1979</span>
|
||||
<span class="normal">1980</span>
|
||||
<span class="normal">1981</span>
|
||||
<span class="normal">1982</span>
|
||||
<span class="normal">1983</span>
|
||||
<span class="normal">1984</span>
|
||||
<span class="normal">1985</span>
|
||||
<span class="normal">1986</span>
|
||||
<span class="normal">1987</span>
|
||||
<span class="normal">1988</span>
|
||||
<span class="normal">1989</span>
|
||||
<span class="normal">1990</span>
|
||||
<span class="normal">1991</span>
|
||||
<span class="normal">1992</span>
|
||||
<span class="normal">1993</span>
|
||||
<span class="normal">1994</span>
|
||||
<span class="normal">1995</span>
|
||||
<span class="normal">1996</span>
|
||||
<span class="normal">1997</span>
|
||||
<span class="normal">1998</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span> <span class="nc">HCI_Packet</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">'''</span>
|
||||
<span class="sd"> Abstract Base class for HCI packets</span>
|
||||
<span class="sd"> '''</span>
|
||||
@@ -2495,6 +2520,9 @@ qualifier.</p>
|
||||
<span class="k">if</span> <span class="n">packet_type</span> <span class="o">==</span> <span class="n">HCI_ACL_DATA_PACKET</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">HCI_AclDataPacket</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">packet</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">packet_type</span> <span class="o">==</span> <span class="n">HCI_SYNCHRONOUS_DATA_PACKET</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">HCI_SynchronousDataPacket</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">packet</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">packet_type</span> <span class="o">==</span> <span class="n">HCI_EVENT_PACKET</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">HCI_Event</span><span class="o">.</span><span class="n">from_bytes</span><span class="p">(</span><span class="n">packet</span><span class="p">)</span>
|
||||
|
||||
@@ -2547,65 +2575,7 @@ qualifier.</p>
|
||||
|
||||
<details class="quote">
|
||||
<summary>Source code in <code>bumble/hci.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1955</span>
|
||||
<span class="normal">1956</span>
|
||||
<span class="normal">1957</span>
|
||||
<span class="normal">1958</span>
|
||||
<span class="normal">1959</span>
|
||||
<span class="normal">1960</span>
|
||||
<span class="normal">1961</span>
|
||||
<span class="normal">1962</span>
|
||||
<span class="normal">1963</span>
|
||||
<span class="normal">1964</span>
|
||||
<span class="normal">1965</span>
|
||||
<span class="normal">1966</span>
|
||||
<span class="normal">1967</span>
|
||||
<span class="normal">1968</span>
|
||||
<span class="normal">1969</span>
|
||||
<span class="normal">1970</span>
|
||||
<span class="normal">1971</span>
|
||||
<span class="normal">1972</span>
|
||||
<span class="normal">1973</span>
|
||||
<span class="normal">1974</span>
|
||||
<span class="normal">1975</span>
|
||||
<span class="normal">1976</span>
|
||||
<span class="normal">1977</span>
|
||||
<span class="normal">1978</span>
|
||||
<span class="normal">1979</span>
|
||||
<span class="normal">1980</span>
|
||||
<span class="normal">1981</span>
|
||||
<span class="normal">1982</span>
|
||||
<span class="normal">1983</span>
|
||||
<span class="normal">1984</span>
|
||||
<span class="normal">1985</span>
|
||||
<span class="normal">1986</span>
|
||||
<span class="normal">1987</span>
|
||||
<span class="normal">1988</span>
|
||||
<span class="normal">1989</span>
|
||||
<span class="normal">1990</span>
|
||||
<span class="normal">1991</span>
|
||||
<span class="normal">1992</span>
|
||||
<span class="normal">1993</span>
|
||||
<span class="normal">1994</span>
|
||||
<span class="normal">1995</span>
|
||||
<span class="normal">1996</span>
|
||||
<span class="normal">1997</span>
|
||||
<span class="normal">1998</span>
|
||||
<span class="normal">1999</span>
|
||||
<span class="normal">2000</span>
|
||||
<span class="normal">2001</span>
|
||||
<span class="normal">2002</span>
|
||||
<span class="normal">2003</span>
|
||||
<span class="normal">2004</span>
|
||||
<span class="normal">2005</span>
|
||||
<span class="normal">2006</span>
|
||||
<span class="normal">2007</span>
|
||||
<span class="normal">2008</span>
|
||||
<span class="normal">2009</span>
|
||||
<span class="normal">2010</span>
|
||||
<span class="normal">2011</span>
|
||||
<span class="normal">2012</span>
|
||||
<span class="normal">2013</span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">2013</span>
|
||||
<span class="normal">2014</span>
|
||||
<span class="normal">2015</span>
|
||||
<span class="normal">2016</span>
|
||||
@@ -2666,7 +2636,65 @@ qualifier.</p>
|
||||
<span class="normal">2071</span>
|
||||
<span class="normal">2072</span>
|
||||
<span class="normal">2073</span>
|
||||
<span class="normal">2074</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span> <span class="nc">HCI_Command</span><span class="p">(</span><span class="n">HCI_Packet</span><span class="p">):</span>
|
||||
<span class="normal">2074</span>
|
||||
<span class="normal">2075</span>
|
||||
<span class="normal">2076</span>
|
||||
<span class="normal">2077</span>
|
||||
<span class="normal">2078</span>
|
||||
<span class="normal">2079</span>
|
||||
<span class="normal">2080</span>
|
||||
<span class="normal">2081</span>
|
||||
<span class="normal">2082</span>
|
||||
<span class="normal">2083</span>
|
||||
<span class="normal">2084</span>
|
||||
<span class="normal">2085</span>
|
||||
<span class="normal">2086</span>
|
||||
<span class="normal">2087</span>
|
||||
<span class="normal">2088</span>
|
||||
<span class="normal">2089</span>
|
||||
<span class="normal">2090</span>
|
||||
<span class="normal">2091</span>
|
||||
<span class="normal">2092</span>
|
||||
<span class="normal">2093</span>
|
||||
<span class="normal">2094</span>
|
||||
<span class="normal">2095</span>
|
||||
<span class="normal">2096</span>
|
||||
<span class="normal">2097</span>
|
||||
<span class="normal">2098</span>
|
||||
<span class="normal">2099</span>
|
||||
<span class="normal">2100</span>
|
||||
<span class="normal">2101</span>
|
||||
<span class="normal">2102</span>
|
||||
<span class="normal">2103</span>
|
||||
<span class="normal">2104</span>
|
||||
<span class="normal">2105</span>
|
||||
<span class="normal">2106</span>
|
||||
<span class="normal">2107</span>
|
||||
<span class="normal">2108</span>
|
||||
<span class="normal">2109</span>
|
||||
<span class="normal">2110</span>
|
||||
<span class="normal">2111</span>
|
||||
<span class="normal">2112</span>
|
||||
<span class="normal">2113</span>
|
||||
<span class="normal">2114</span>
|
||||
<span class="normal">2115</span>
|
||||
<span class="normal">2116</span>
|
||||
<span class="normal">2117</span>
|
||||
<span class="normal">2118</span>
|
||||
<span class="normal">2119</span>
|
||||
<span class="normal">2120</span>
|
||||
<span class="normal">2121</span>
|
||||
<span class="normal">2122</span>
|
||||
<span class="normal">2123</span>
|
||||
<span class="normal">2124</span>
|
||||
<span class="normal">2125</span>
|
||||
<span class="normal">2126</span>
|
||||
<span class="normal">2127</span>
|
||||
<span class="normal">2128</span>
|
||||
<span class="normal">2129</span>
|
||||
<span class="normal">2130</span>
|
||||
<span class="normal">2131</span>
|
||||
<span class="normal">2132</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span> <span class="nc">HCI_Command</span><span class="p">(</span><span class="n">HCI_Packet</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">'''</span>
|
||||
<span class="sd"> See Bluetooth spec @ Vol 2, Part E - 5.4.1 HCI Command Packet</span>
|
||||
<span class="sd"> '''</span>
|
||||
@@ -2823,34 +2851,34 @@ qualifier.</p>
|
||||
|
||||
<details class="quote">
|
||||
<summary>Source code in <code>bumble/hci.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1964</span>
|
||||
<span class="normal">1965</span>
|
||||
<span class="normal">1966</span>
|
||||
<span class="normal">1967</span>
|
||||
<span class="normal">1968</span>
|
||||
<span class="normal">1969</span>
|
||||
<span class="normal">1970</span>
|
||||
<span class="normal">1971</span>
|
||||
<span class="normal">1972</span>
|
||||
<span class="normal">1973</span>
|
||||
<span class="normal">1974</span>
|
||||
<span class="normal">1975</span>
|
||||
<span class="normal">1976</span>
|
||||
<span class="normal">1977</span>
|
||||
<span class="normal">1978</span>
|
||||
<span class="normal">1979</span>
|
||||
<span class="normal">1980</span>
|
||||
<span class="normal">1981</span>
|
||||
<span class="normal">1982</span>
|
||||
<span class="normal">1983</span>
|
||||
<span class="normal">1984</span>
|
||||
<span class="normal">1985</span>
|
||||
<span class="normal">1986</span>
|
||||
<span class="normal">1987</span>
|
||||
<span class="normal">1988</span>
|
||||
<span class="normal">1989</span>
|
||||
<span class="normal">1990</span>
|
||||
<span class="normal">1991</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nd">@staticmethod</span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">2022</span>
|
||||
<span class="normal">2023</span>
|
||||
<span class="normal">2024</span>
|
||||
<span class="normal">2025</span>
|
||||
<span class="normal">2026</span>
|
||||
<span class="normal">2027</span>
|
||||
<span class="normal">2028</span>
|
||||
<span class="normal">2029</span>
|
||||
<span class="normal">2030</span>
|
||||
<span class="normal">2031</span>
|
||||
<span class="normal">2032</span>
|
||||
<span class="normal">2033</span>
|
||||
<span class="normal">2034</span>
|
||||
<span class="normal">2035</span>
|
||||
<span class="normal">2036</span>
|
||||
<span class="normal">2037</span>
|
||||
<span class="normal">2038</span>
|
||||
<span class="normal">2039</span>
|
||||
<span class="normal">2040</span>
|
||||
<span class="normal">2041</span>
|
||||
<span class="normal">2042</span>
|
||||
<span class="normal">2043</span>
|
||||
<span class="normal">2044</span>
|
||||
<span class="normal">2045</span>
|
||||
<span class="normal">2046</span>
|
||||
<span class="normal">2047</span>
|
||||
<span class="normal">2048</span>
|
||||
<span class="normal">2049</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nd">@staticmethod</span>
|
||||
<span class="k">def</span> <span class="nf">command</span><span class="p">(</span><span class="n">fields</span><span class="o">=</span><span class="p">(),</span> <span class="n">return_parameters_fields</span><span class="o">=</span><span class="p">()):</span>
|
||||
<span class="w"> </span><span class="sd">'''</span>
|
||||
<span class="sd"> Decorator used to declare and register subclasses</span>
|
||||
@@ -2907,16 +2935,16 @@ qualifier.</p>
|
||||
|
||||
<details class="quote">
|
||||
<summary>Source code in <code>bumble/hci.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">2120</span>
|
||||
<span class="normal">2121</span>
|
||||
<span class="normal">2122</span>
|
||||
<span class="normal">2123</span>
|
||||
<span class="normal">2124</span>
|
||||
<span class="normal">2125</span>
|
||||
<span class="normal">2126</span>
|
||||
<span class="normal">2127</span>
|
||||
<span class="normal">2128</span>
|
||||
<span class="normal">2129</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nd">@HCI_Command</span><span class="o">.</span><span class="n">command</span><span class="p">(</span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">2178</span>
|
||||
<span class="normal">2179</span>
|
||||
<span class="normal">2180</span>
|
||||
<span class="normal">2181</span>
|
||||
<span class="normal">2182</span>
|
||||
<span class="normal">2183</span>
|
||||
<span class="normal">2184</span>
|
||||
<span class="normal">2185</span>
|
||||
<span class="normal">2186</span>
|
||||
<span class="normal">2187</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nd">@HCI_Command</span><span class="o">.</span><span class="n">command</span><span class="p">(</span>
|
||||
<span class="p">[</span>
|
||||
<span class="p">(</span><span class="s1">'connection_handle'</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s1">'reason'</span><span class="p">,</span> <span class="p">{</span><span class="s1">'size'</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s1">'mapper'</span><span class="p">:</span> <span class="n">HCI_Constant</span><span class="o">.</span><span class="n">error_name</span><span class="p">}),</span>
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1753,6 +1753,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1813,6 +1815,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1834,6 +1834,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1894,6 +1896,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1753,6 +1753,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1813,6 +1815,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1807,6 +1807,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1867,6 +1869,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1753,6 +1753,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1813,6 +1815,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+110
-22
@@ -12,7 +12,7 @@
|
||||
<link rel="prev" href="index.html">
|
||||
|
||||
|
||||
<link rel="next" href="../hive/index.html">
|
||||
<link rel="next" href="android_bt_bench.html">
|
||||
|
||||
|
||||
<link rel="icon" href="../images/favicon.ico">
|
||||
@@ -1752,6 +1752,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1867,6 +1869,13 @@
|
||||
<nav class="md-nav" aria-label="Preconditions">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#root-shell" class="md-nav__link">
|
||||
Root Shell
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#disabling-selinux" class="md-nav__link">
|
||||
Disabling SELinux
|
||||
@@ -1887,11 +1896,18 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#starting-the-app" class="md-nav__link">
|
||||
Starting the app
|
||||
<a href="#running-as-a-command-line-app" class="md-nav__link">
|
||||
Running as a command line app
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Starting the app">
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#running-as-a-normal-app" class="md-nav__link">
|
||||
Running as a normal app
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Running as a normal app">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1941,6 +1957,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -2122,6 +2158,13 @@
|
||||
<nav class="md-nav" aria-label="Preconditions">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#root-shell" class="md-nav__link">
|
||||
Root Shell
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#disabling-selinux" class="md-nav__link">
|
||||
Disabling SELinux
|
||||
@@ -2142,11 +2185,18 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#starting-the-app" class="md-nav__link">
|
||||
Starting the app
|
||||
<a href="#running-as-a-command-line-app" class="md-nav__link">
|
||||
Running as a command line app
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Starting the app">
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#running-as-a-normal-app" class="md-nav__link">
|
||||
Running as a normal app
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Running as a normal app">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -2203,15 +2253,15 @@
|
||||
|
||||
|
||||
<h1 id="android-remote-hci-app">ANDROID REMOTE HCI APP<a class="headerlink" href="#android-remote-hci-app" title="Permanent link">¶</a></h1>
|
||||
<p>This application allows using an android phone's built-in Bluetooth controller with
|
||||
<p>This application allows using an android phone's built-in Bluetooth controller with
|
||||
a Bumble host stack running outside the phone (typically a development laptop or desktop).
|
||||
The app runs an HCI proxy between a TCP socket on the "outside" and the Bluetooth HCI HAL
|
||||
on the "inside". (See <a href="https://source.android.com/docs/core/connect/bluetooth">this page</a> for a high level
|
||||
on the "inside". (See <a href="https://source.android.com/docs/core/connect/bluetooth">this page</a> for a high level
|
||||
description of the Android Bluetooth HCI HAL).
|
||||
The HCI packets received on the TCP socket are forwarded to the phone's controller, and the
|
||||
The HCI packets received on the TCP socket are forwarded to the phone's controller, and the
|
||||
packets coming from the controller are forwarded to the TCP socket.</p>
|
||||
<h2 id="building">Building<a class="headerlink" href="#building" title="Permanent link">¶</a></h2>
|
||||
<p>You can build the app by running <code>./gradlew build</code> (use <code>gradlew.bat</code> on Windows) from the <code>RemoteHCI</code> top level directory.
|
||||
<p>You can build the app by running <code>./gradlew build</code> (use <code>gradlew.bat</code> on Windows) from the <code>extras/android/RemoteHCI</code> top level directory.
|
||||
You can also build with Android Studio: open the <code>RemoteHCI</code> project. You can build and/or debug from there.</p>
|
||||
<p>If the build succeeds, you can find the app APKs (debug and release) at:</p>
|
||||
<ul>
|
||||
@@ -2219,9 +2269,24 @@ You can also build with Android Studio: open the <code>RemoteHCI</code> project.
|
||||
<li>[Debug] <code>app/build/outputs/apk/debug/app-debug.apk</code></li>
|
||||
</ul>
|
||||
<h2 id="running">Running<a class="headerlink" href="#running" title="Permanent link">¶</a></h2>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>In the following examples, it is assumed that shell commands are executed while in the
|
||||
app's root directory, <code>extras/android/RemoteHCI</code>. If you are in a different directory,
|
||||
adjust the relative paths accordingly.</p>
|
||||
</div>
|
||||
<h3 id="preconditions">Preconditions<a class="headerlink" href="#preconditions" title="Permanent link">¶</a></h3>
|
||||
<p>When the proxy starts (tapping the "Start" button in the app's main activity), it will try to
|
||||
bind to the Bluetooth HAL. This requires disabling SELinux temporarily, and being the only HAL client.</p>
|
||||
<p>When the proxy starts (tapping the "Start" button in the app's main activity, or running the proxy
|
||||
from an <code>adb shell</code> command line), it will try to bind to the Bluetooth HAL.
|
||||
This requires that there is no other HAL client, and requires certain privileges.
|
||||
For running as a regular app, this requires disabling SELinux temporarily.
|
||||
For running as a command-line executable, this just requires a root shell.</p>
|
||||
<h4 id="root-shell">Root Shell<a class="headerlink" href="#root-shell" title="Permanent link">¶</a></h4>
|
||||
<div class="admonition tip">
|
||||
<p class="admonition-title">Restart <code>adb</code> as root</p>
|
||||
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>adb<span class="w"> </span>root
|
||||
</code></pre></div>
|
||||
</div>
|
||||
<h4 id="disabling-selinux">Disabling SELinux<a class="headerlink" href="#disabling-selinux" title="Permanent link">¶</a></h4>
|
||||
<p>Binding to the Bluetooth HCI HAL requires certain SELinux permissions that can't simply be changed
|
||||
on a device without rebuilding its system image. To bypass these restrictions, you will need
|
||||
@@ -2243,8 +2308,8 @@ development phone).</p>
|
||||
<p>This state will also reset to the normal SELinux enforcement when you reboot.</p>
|
||||
</div>
|
||||
<h4 id="stopping-the-bluetooth-process">Stopping the bluetooth process<a class="headerlink" href="#stopping-the-bluetooth-process" title="Permanent link">¶</a></h4>
|
||||
<p>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
|
||||
<p>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.</p>
|
||||
<div class="admonition tip">
|
||||
<p class="admonition-title">Checking if the Bluetooth process is running</p>
|
||||
@@ -2263,7 +2328,30 @@ Airplane Mode, then rebooting. The bluetooth process should, in theory, not rest
|
||||
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>adb<span class="w"> </span>shell<span class="w"> </span>cmd<span class="w"> </span>bluetooth_manager<span class="w"> </span>disable
|
||||
</code></pre></div>
|
||||
</div>
|
||||
<h3 id="starting-the-app">Starting the app<a class="headerlink" href="#starting-the-app" title="Permanent link">¶</a></h3>
|
||||
<h3 id="running-as-a-command-line-app">Running as a command line app<a class="headerlink" href="#running-as-a-command-line-app" title="Permanent link">¶</a></h3>
|
||||
<p>You push the built APK to a temporary location on the phone's filesystem, then launch the command
|
||||
line executable with an <code>adb shell</code> command.</p>
|
||||
<div class="admonition tip">
|
||||
<p class="admonition-title">Pushing the executable</p>
|
||||
<p><div class="highlight"><pre><span></span><code>$<span class="w"> </span>adb<span class="w"> </span>push<span class="w"> </span>app/build/outputs/apk/release/app-release-unsigned.apk<span class="w"> </span>/data/local/tmp/remotehci.apk
|
||||
</code></pre></div>
|
||||
Do this every time you rebuild. Alternatively, you can push the <code>debug</code> APK instead:
|
||||
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>adb<span class="w"> </span>push<span class="w"> </span>app/build/outputs/apk/debug/app-debug.apk<span class="w"> </span>/data/local/tmp/remotehci.apk
|
||||
</code></pre></div></p>
|
||||
</div>
|
||||
<div class="admonition tip">
|
||||
<p class="admonition-title">Start the proxy from the command line</p>
|
||||
<p><div class="highlight"><pre><span></span><code>adb<span class="w"> </span>shell<span class="w"> </span><span class="s2">"CLASSPATH=/data/local/tmp/remotehci.apk app_process /system/bin com.github.google.bumble.remotehci.CommandLineInterface"</span>
|
||||
</code></pre></div>
|
||||
This will run the proxy, listening on the default TCP port.
|
||||
If you want a different port, pass it as a command line parameter</p>
|
||||
</div>
|
||||
<div class="admonition tip">
|
||||
<p class="admonition-title">Start the proxy from the command line with a specific TCP port</p>
|
||||
<div class="highlight"><pre><span></span><code>adb<span class="w"> </span>shell<span class="w"> </span><span class="s2">"CLASSPATH=/data/local/tmp/remotehci.apk app_process /system/bin com.github.google.bumble.remotehci.CommandLineInterface 12345"</span>
|
||||
</code></pre></div>
|
||||
</div>
|
||||
<h3 id="running-as-a-normal-app">Running as a normal app<a class="headerlink" href="#running-as-a-normal-app" title="Permanent link">¶</a></h3>
|
||||
<p>You can start the app from the Android launcher, from Android Studio, or with <code>adb</code></p>
|
||||
<h4 id="launching-from-the-launcher">Launching from the launcher<a class="headerlink" href="#launching-from-the-launcher" title="Permanent link">¶</a></h4>
|
||||
<p>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.</p>
|
||||
</div>
|
||||
<h4 id="selecting-a-tcp-port">Selecting a TCP port<a class="headerlink" href="#selecting-a-tcp-port" title="Permanent link">¶</a></h4>
|
||||
<p>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).</p>
|
||||
<h3 id="connecting-to-the-proxy">Connecting to the proxy<a class="headerlink" href="#connecting-to-the-proxy" title="Permanent link">¶</a></h3>
|
||||
<p>To connect the Bumble stack to the proxy, you need to be able to reach the phone's network
|
||||
<p>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 <code>adb</code>
|
||||
TCP forward (which should be faster than over WiFi).</p>
|
||||
<div class="admonition tip">
|
||||
@@ -2295,7 +2383,7 @@ TCP forward (which should be faster than over WiFi).</p>
|
||||
<p>To connect to the proxy via an <code>adb</code> TCP forward, use:
|
||||
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>adb<span class="w"> </span>forward<span class="w"> </span>tcp:<outside-port><span class="w"> </span>tcp:<inside-port>
|
||||
</code></pre></div>
|
||||
Where <code><outside-port></code> is the port number for a listening socket on your laptop or
|
||||
Where <code><outside-port></code> is the port number for a listening socket on your laptop or
|
||||
desktop machine, and <inside-port> 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:
|
||||
</code></pre></div></p>
|
||||
</div>
|
||||
<p>Once you've ensured that you can reach the proxy's TCP port on the phone, either directly or
|
||||
via an <code>adb</code> forward, you can then use it as a Bumble transport, using the transport name:
|
||||
via an <code>adb</code> forward, you can then use it as a Bumble transport, using the transport name:
|
||||
<code>tcp-client:<host>:<port></code> syntax.</p>
|
||||
<div class="admonition example">
|
||||
<p class="admonition-title">Connecting a Bumble client</p>
|
||||
@@ -2350,13 +2438,13 @@ Assuming you have set up an <code>adb</code> forward on port 9993:
|
||||
</a>
|
||||
|
||||
|
||||
<a href="../hive/index.html" title="HIVE" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
|
||||
<a href="android_bt_bench.html" title="Android BT Bench" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
|
||||
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
|
||||
<span class="md-flex__ellipsis">
|
||||
<span class="md-footer-nav__direction">
|
||||
Next
|
||||
</span>
|
||||
HIVE
|
||||
Android BT Bench
|
||||
</span>
|
||||
</div>
|
||||
<div class="md-flex__cell md-flex__cell--shrink">
|
||||
|
||||
@@ -1752,6 +1752,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1813,6 +1815,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -1976,6 +1998,13 @@
|
||||
Android Remote HCI
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#android-bt-bench" class="md-nav__link">
|
||||
Android BT Bench
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
@@ -1999,6 +2028,11 @@
|
||||
<p>Allows using an Android phone's built-in Bluetooth controller with a Bumble
|
||||
stack running on a development machine.
|
||||
See <a href="android_remote_hci.html">Android Remote HCI</a> for details.</p>
|
||||
<h2 id="android-bt-bench">Android BT Bench<a class="headerlink" href="#android-bt-bench" title="Permanent link">¶</a></h2>
|
||||
<p>An Android app that is compatible with the Bumble <code>bench</code> 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
|
||||
<code>bench</code> app.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1761,6 +1761,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1821,6 +1823,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1753,6 +1753,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1813,6 +1815,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
+25
-3
@@ -9,7 +9,7 @@
|
||||
|
||||
|
||||
|
||||
<link rel="prev" href="../extras/android_remote_hci.html">
|
||||
<link rel="prev" href="../extras/android_bt_bench.html">
|
||||
|
||||
|
||||
<link rel="next" href="web/speaker/speaker.html">
|
||||
@@ -1751,6 +1751,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1811,6 +1813,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -2074,7 +2096,7 @@ name for the radio you want to use (ex: <code>usb:0</code> for the first USB don
|
||||
<div class="md-footer-nav">
|
||||
<nav class="md-footer-nav__inner md-grid">
|
||||
|
||||
<a href="../extras/android_remote_hci.html" title="Android Remote HCI" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
|
||||
<a href="../extras/android_bt_bench.html" title="Android BT Bench" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
|
||||
<div class="md-flex__cell md-flex__cell--shrink">
|
||||
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
|
||||
</div>
|
||||
@@ -2083,7 +2105,7 @@ name for the radio you want to use (ex: <code>usb:0</code> for the first USB don
|
||||
<span class="md-footer-nav__direction">
|
||||
Previous
|
||||
</span>
|
||||
Android Remote HCI
|
||||
Android BT Bench
|
||||
</span>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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})')
|
||||
|
||||
+22
@@ -1982,6 +1982,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2042,6 +2044,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1834,6 +1834,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1894,6 +1896,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1753,6 +1753,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1813,6 +1815,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1901,6 +1901,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1961,6 +1963,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1753,6 +1753,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1813,6 +1815,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1861,6 +1861,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1921,6 +1923,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1800,6 +1800,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1860,6 +1862,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1753,6 +1753,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1813,6 +1815,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -1763,6 +1763,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1823,6 +1825,26 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../extras/android_bt_bench.html" class="md-nav__link">
|
||||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
Android BT Bench
|
||||
</span>
|
||||
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user