bumble 0.0.214__tar.gz → 0.0.216__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (634) hide show
  1. {bumble-0.0.214 → bumble-0.0.216}/.github/workflows/python-build-test.yml +2 -2
  2. {bumble-0.0.214 → bumble-0.0.216}/.vscode/settings.json +4 -1
  3. {bumble-0.0.214 → bumble-0.0.216}/PKG-INFO +2 -1
  4. {bumble-0.0.214 → bumble-0.0.216}/apps/auracast.py +13 -38
  5. {bumble-0.0.214 → bumble-0.0.216}/apps/bench.py +9 -10
  6. {bumble-0.0.214 → bumble-0.0.216}/apps/ble_rpa_tool.py +1 -0
  7. {bumble-0.0.214 → bumble-0.0.216}/apps/console.py +22 -25
  8. {bumble-0.0.214 → bumble-0.0.216}/apps/gg_bridge.py +5 -6
  9. {bumble-0.0.214 → bumble-0.0.216}/apps/lea_unicast/app.py +15 -25
  10. {bumble-0.0.214 → bumble-0.0.216}/apps/pair.py +30 -43
  11. {bumble-0.0.214 → bumble-0.0.216}/apps/pandora_server.py +5 -4
  12. {bumble-0.0.214 → bumble-0.0.216}/apps/player/player.py +19 -22
  13. {bumble-0.0.214 → bumble-0.0.216}/apps/rfcomm_bridge.py +3 -8
  14. {bumble-0.0.214 → bumble-0.0.216}/apps/scan.py +16 -6
  15. {bumble-0.0.214 → bumble-0.0.216}/apps/show.py +3 -4
  16. {bumble-0.0.214 → bumble-0.0.216}/apps/speaker/speaker.py +22 -22
  17. {bumble-0.0.214 → bumble-0.0.216}/apps/unbond.py +2 -1
  18. {bumble-0.0.214 → bumble-0.0.216}/apps/usb_probe.py +1 -2
  19. {bumble-0.0.214 → bumble-0.0.216}/bumble/_version.py +16 -3
  20. {bumble-0.0.214 → bumble-0.0.216}/bumble/a2dp.py +15 -16
  21. {bumble-0.0.214 → bumble-0.0.216}/bumble/att.py +241 -246
  22. {bumble-0.0.214 → bumble-0.0.216}/bumble/audio/io.py +5 -9
  23. {bumble-0.0.214 → bumble-0.0.216}/bumble/avc.py +2 -2
  24. {bumble-0.0.214 → bumble-0.0.216}/bumble/avctp.py +6 -7
  25. {bumble-0.0.214 → bumble-0.0.216}/bumble/avdtp.py +19 -22
  26. {bumble-0.0.214 → bumble-0.0.216}/bumble/avrcp.py +1096 -588
  27. {bumble-0.0.214 → bumble-0.0.216}/bumble/codecs.py +2 -0
  28. {bumble-0.0.214 → bumble-0.0.216}/bumble/controller.py +52 -13
  29. {bumble-0.0.214 → bumble-0.0.216}/bumble/core.py +567 -248
  30. {bumble-0.0.214 → bumble-0.0.216}/bumble/crypto/__init__.py +2 -2
  31. {bumble-0.0.214 → bumble-0.0.216}/bumble/crypto/cryptography.py +2 -4
  32. bumble-0.0.216/bumble/data_types.py +1025 -0
  33. {bumble-0.0.214 → bumble-0.0.216}/bumble/device.py +318 -279
  34. {bumble-0.0.214 → bumble-0.0.216}/bumble/drivers/__init__.py +3 -2
  35. {bumble-0.0.214 → bumble-0.0.216}/bumble/drivers/intel.py +3 -4
  36. {bumble-0.0.214 → bumble-0.0.216}/bumble/drivers/rtk.py +26 -9
  37. {bumble-0.0.214 → bumble-0.0.216}/bumble/gatt.py +3 -2
  38. {bumble-0.0.214 → bumble-0.0.216}/bumble/gatt_adapters.py +3 -11
  39. {bumble-0.0.214 → bumble-0.0.216}/bumble/gatt_client.py +69 -81
  40. {bumble-0.0.214 → bumble-0.0.216}/bumble/gatt_server.py +124 -124
  41. {bumble-0.0.214 → bumble-0.0.216}/bumble/hci.py +67 -18
  42. {bumble-0.0.214 → bumble-0.0.216}/bumble/helpers.py +19 -26
  43. {bumble-0.0.214 → bumble-0.0.216}/bumble/hfp.py +10 -21
  44. {bumble-0.0.214 → bumble-0.0.216}/bumble/hid.py +22 -16
  45. {bumble-0.0.214 → bumble-0.0.216}/bumble/host.py +181 -103
  46. {bumble-0.0.214 → bumble-0.0.216}/bumble/keys.py +5 -3
  47. {bumble-0.0.214 → bumble-0.0.216}/bumble/l2cap.py +121 -74
  48. {bumble-0.0.214 → bumble-0.0.216}/bumble/link.py +8 -9
  49. {bumble-0.0.214 → bumble-0.0.216}/bumble/pairing.py +7 -6
  50. {bumble-0.0.214 → bumble-0.0.216}/bumble/pandora/__init__.py +8 -7
  51. {bumble-0.0.214 → bumble-0.0.216}/bumble/pandora/config.py +3 -1
  52. {bumble-0.0.214 → bumble-0.0.216}/bumble/pandora/device.py +3 -2
  53. {bumble-0.0.214 → bumble-0.0.216}/bumble/pandora/host.py +38 -36
  54. {bumble-0.0.214 → bumble-0.0.216}/bumble/pandora/l2cap.py +22 -21
  55. {bumble-0.0.214 → bumble-0.0.216}/bumble/pandora/security.py +15 -15
  56. {bumble-0.0.214 → bumble-0.0.216}/bumble/pandora/utils.py +5 -3
  57. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/ams.py +7 -8
  58. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/ancs.py +6 -7
  59. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/ascs.py +4 -9
  60. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/asha.py +8 -12
  61. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/bap.py +11 -23
  62. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/bass.py +2 -7
  63. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/battery_service.py +3 -4
  64. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/cap.py +1 -2
  65. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/csip.py +2 -6
  66. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/gatt_service.py +1 -4
  67. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/hap.py +62 -59
  68. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/heart_rate_service.py +5 -4
  69. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/le_audio.py +3 -1
  70. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/mcp.py +3 -7
  71. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/pacs.py +3 -6
  72. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/pbp.py +2 -0
  73. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/tmap.py +2 -3
  74. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/vcs.py +2 -8
  75. {bumble-0.0.214 → bumble-0.0.216}/bumble/rfcomm.py +11 -14
  76. {bumble-0.0.214 → bumble-0.0.216}/bumble/rtp.py +1 -0
  77. {bumble-0.0.214 → bumble-0.0.216}/bumble/sdp.py +10 -8
  78. {bumble-0.0.214 → bumble-0.0.216}/bumble/smp.py +142 -153
  79. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/__init__.py +19 -15
  80. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/android_emulator.py +8 -13
  81. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/android_netsim.py +19 -18
  82. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/common.py +12 -15
  83. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/file.py +1 -1
  84. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/hci_socket.py +4 -6
  85. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/pty.py +5 -6
  86. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/pyusb.py +7 -10
  87. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/serial.py +2 -1
  88. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/tcp_client.py +2 -2
  89. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/tcp_server.py +11 -14
  90. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/udp.py +3 -3
  91. bumble-0.0.216/bumble/transport/unix.py +122 -0
  92. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/usb.py +6 -6
  93. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/vhci.py +0 -1
  94. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/ws_client.py +2 -1
  95. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/ws_server.py +3 -2
  96. {bumble-0.0.214 → bumble-0.0.216}/bumble/utils.py +20 -5
  97. {bumble-0.0.214 → bumble-0.0.216}/bumble/vendor/android/hci.py +1 -2
  98. {bumble-0.0.214 → bumble-0.0.216}/bumble/vendor/zephyr/hci.py +0 -1
  99. {bumble-0.0.214 → bumble-0.0.216}/bumble.egg-info/PKG-INFO +2 -1
  100. {bumble-0.0.214 → bumble-0.0.216}/bumble.egg-info/SOURCES.txt +1 -0
  101. {bumble-0.0.214 → bumble-0.0.216}/bumble.egg-info/requires.txt +1 -0
  102. {bumble-0.0.214 → bumble-0.0.216/docs/mkdocs/src/hive}/web/heart_rate_monitor/heart_rate_monitor.py +10 -15
  103. {bumble-0.0.214 → bumble-0.0.216/docs/mkdocs/src/hive}/web/speaker/speaker.py +12 -12
  104. {bumble-0.0.214 → bumble-0.0.216}/examples/battery_client.py +3 -2
  105. {bumble-0.0.214 → bumble-0.0.216}/examples/battery_server.py +10 -10
  106. {bumble-0.0.214 → bumble-0.0.216}/examples/device_information_server.py +8 -7
  107. {bumble-0.0.214 → bumble-0.0.216}/examples/heart_rate_server.py +14 -13
  108. {bumble-0.0.214 → bumble-0.0.216}/examples/hid_report_parser.py +2 -1
  109. {bumble-0.0.214 → bumble-0.0.216}/examples/keyboard.py +26 -24
  110. {bumble-0.0.214 → bumble-0.0.216}/examples/mobly/bench/one_device_bench_test.py +1 -2
  111. {bumble-0.0.214 → bumble-0.0.216}/examples/mobly/bench/two_devices_bench_test.py +1 -2
  112. {bumble-0.0.214 → bumble-0.0.216}/examples/run_a2dp_info.py +10 -11
  113. {bumble-0.0.214 → bumble-0.0.216}/examples/run_a2dp_sink.py +10 -11
  114. {bumble-0.0.214 → bumble-0.0.216}/examples/run_advertiser.py +7 -3
  115. {bumble-0.0.214 → bumble-0.0.216}/examples/run_ancs_client.py +2 -3
  116. {bumble-0.0.214 → bumble-0.0.216}/examples/run_asha_sink.py +9 -15
  117. {bumble-0.0.214 → bumble-0.0.216}/examples/run_avrcp.py +5 -9
  118. {bumble-0.0.214 → bumble-0.0.216}/examples/run_channel_sounding.py +4 -6
  119. {bumble-0.0.214 → bumble-0.0.216}/examples/run_cig_setup.py +3 -5
  120. {bumble-0.0.214 → bumble-0.0.216}/examples/run_classic_connect.py +4 -7
  121. {bumble-0.0.214 → bumble-0.0.216}/examples/run_classic_discoverable.py +14 -15
  122. {bumble-0.0.214 → bumble-0.0.216}/examples/run_csis_servers.py +11 -21
  123. {bumble-0.0.214 → bumble-0.0.216}/examples/run_esco_connection.py +2 -2
  124. {bumble-0.0.214 → bumble-0.0.216}/examples/run_extended_advertiser_2.py +3 -3
  125. {bumble-0.0.214 → bumble-0.0.216}/examples/run_gatt_server.py +8 -8
  126. {bumble-0.0.214 → bumble-0.0.216}/examples/run_gatt_server_with_pairing_delegate.py +3 -6
  127. {bumble-0.0.214 → bumble-0.0.216}/examples/run_gatt_with_adapters.py +4 -9
  128. {bumble-0.0.214 → bumble-0.0.216}/examples/run_hap_server.py +12 -21
  129. {bumble-0.0.214 → bumble-0.0.216}/examples/run_hfp_gateway.py +5 -6
  130. {bumble-0.0.214 → bumble-0.0.216}/examples/run_hfp_handsfree.py +6 -9
  131. {bumble-0.0.214 → bumble-0.0.216}/examples/run_hid_device.py +17 -21
  132. {bumble-0.0.214 → bumble-0.0.216}/examples/run_hid_host.py +11 -14
  133. {bumble-0.0.214 → bumble-0.0.216}/examples/run_mcp_client.py +14 -24
  134. {bumble-0.0.214 → bumble-0.0.216}/examples/run_notifier.py +4 -4
  135. {bumble-0.0.214 → bumble-0.0.216}/examples/run_rfcomm_client.py +7 -13
  136. {bumble-0.0.214 → bumble-0.0.216}/examples/run_rfcomm_server.py +2 -3
  137. {bumble-0.0.214 → bumble-0.0.216}/examples/run_scanner.py +3 -2
  138. {bumble-0.0.214 → bumble-0.0.216}/examples/run_unicast_server.py +16 -28
  139. {bumble-0.0.214 → bumble-0.0.216}/examples/run_vcp_renderer.py +17 -29
  140. {bumble-0.0.214 → bumble-0.0.216}/pyproject.toml +5 -0
  141. {bumble-0.0.214 → bumble-0.0.216}/rust/Cargo.lock +140 -56
  142. {bumble-0.0.214 → bumble-0.0.216}/rust/Cargo.toml +3 -3
  143. {bumble-0.0.214 → bumble-0.0.216}/tasks.py +12 -3
  144. bumble-0.0.216/tests/a2dp_test.py +560 -0
  145. {bumble-0.0.214 → bumble-0.0.216}/tests/aics_test.py +5 -8
  146. {bumble-0.0.214 → bumble-0.0.216}/tests/asha_test.py +2 -1
  147. bumble-0.0.216/tests/avrcp_test.py +432 -0
  148. {bumble-0.0.214 → bumble-0.0.216}/tests/bap_test.py +27 -33
  149. {bumble-0.0.214 → bumble-0.0.216}/tests/bass_test.py +1 -2
  150. {bumble-0.0.214 → bumble-0.0.216}/tests/cap_test.py +5 -5
  151. {bumble-0.0.214 → bumble-0.0.216}/tests/codecs_test.py +2 -0
  152. {bumble-0.0.214 → bumble-0.0.216}/tests/core_test.py +25 -1
  153. {bumble-0.0.214 → bumble-0.0.216}/tests/csip_test.py +4 -2
  154. {bumble-0.0.214 → bumble-0.0.216}/tests/decoder_test.py +1 -0
  155. {bumble-0.0.214 → bumble-0.0.216}/tests/device_test.py +19 -21
  156. {bumble-0.0.214 → bumble-0.0.216}/tests/gatt_service_test.py +4 -4
  157. {bumble-0.0.214 → bumble-0.0.216}/tests/gatt_test.py +27 -24
  158. {bumble-0.0.214 → bumble-0.0.216}/tests/hap_test.py +5 -3
  159. {bumble-0.0.214 → bumble-0.0.216}/tests/hci_test.py +0 -1
  160. {bumble-0.0.214 → bumble-0.0.216}/tests/hfp_test.py +3 -6
  161. {bumble-0.0.214 → bumble-0.0.216}/tests/host_test.py +4 -3
  162. {bumble-0.0.214 → bumble-0.0.216}/tests/import_test.py +0 -1
  163. {bumble-0.0.214 → bumble-0.0.216}/tests/l2cap_test.py +52 -2
  164. {bumble-0.0.214 → bumble-0.0.216}/tests/rfcomm_test.py +8 -6
  165. {bumble-0.0.214 → bumble-0.0.216}/tests/sdp_test.py +8 -6
  166. {bumble-0.0.214 → bumble-0.0.216}/tests/self_test.py +6 -8
  167. {bumble-0.0.214 → bumble-0.0.216}/tests/smp_test.py +7 -9
  168. {bumble-0.0.214 → bumble-0.0.216}/tests/test_utils.py +5 -4
  169. {bumble-0.0.214 → bumble-0.0.216}/tests/transport_tcp_server_test.py +15 -20
  170. bumble-0.0.216/tests/transport_test.py +258 -0
  171. {bumble-0.0.214 → bumble-0.0.216}/tests/vcp_test.py +3 -1
  172. {bumble-0.0.214 → bumble-0.0.216}/tests/vocs_test.py +7 -9
  173. {bumble-0.0.214 → bumble-0.0.216}/tools/generate_company_id_list.py +1 -0
  174. {bumble-0.0.214 → bumble-0.0.216}/tools/intel_fw_download.py +3 -3
  175. {bumble-0.0.214 → bumble-0.0.216}/tools/rtk_fw_download.py +6 -3
  176. {bumble-0.0.214 → bumble-0.0.216}/tools/rtk_util.py +24 -7
  177. {bumble-0.0.214/docs/mkdocs/src/hive → bumble-0.0.216}/web/heart_rate_monitor/heart_rate_monitor.py +10 -15
  178. {bumble-0.0.214/docs/mkdocs/src/hive → bumble-0.0.216}/web/speaker/speaker.py +12 -12
  179. bumble-0.0.214/bumble/transport/unix.py +0 -56
  180. bumble-0.0.214/tests/a2dp_test.py +0 -401
  181. bumble-0.0.214/tests/avrcp_test.py +0 -246
  182. bumble-0.0.214/tests/transport_test.py +0 -77
  183. {bumble-0.0.214 → bumble-0.0.216}/.devcontainer/devcontainer.json +0 -0
  184. {bumble-0.0.214 → bumble-0.0.216}/.git-blame-ignore-revs +0 -0
  185. {bumble-0.0.214 → bumble-0.0.216}/.github/ci-gradle.properties +0 -0
  186. {bumble-0.0.214 → bumble-0.0.216}/.github/workflows/code-check.yml +0 -0
  187. {bumble-0.0.214 → bumble-0.0.216}/.github/workflows/codeql-analysis.yml +0 -0
  188. {bumble-0.0.214 → bumble-0.0.216}/.github/workflows/gradle-btbench.yml +0 -0
  189. {bumble-0.0.214 → bumble-0.0.216}/.github/workflows/python-avatar.yml +0 -0
  190. {bumble-0.0.214 → bumble-0.0.216}/.github/workflows/python-publish.yml +0 -0
  191. {bumble-0.0.214 → bumble-0.0.216}/.gitignore +0 -0
  192. {bumble-0.0.214 → bumble-0.0.216}/CONTRIBUTING.md +0 -0
  193. {bumble-0.0.214 → bumble-0.0.216}/LICENSE +0 -0
  194. {bumble-0.0.214 → bumble-0.0.216}/README.md +0 -0
  195. {bumble-0.0.214 → bumble-0.0.216}/apps/README.md +0 -0
  196. {bumble-0.0.214 → bumble-0.0.216}/apps/__init__.py +0 -0
  197. {bumble-0.0.214 → bumble-0.0.216}/apps/controller_info.py +19 -19
  198. {bumble-0.0.214 → bumble-0.0.216}/apps/controller_loopback.py +2 -2
  199. {bumble-0.0.214 → bumble-0.0.216}/apps/controllers.py +1 -1
  200. {bumble-0.0.214 → bumble-0.0.216}/apps/device_info.py +3 -3
  201. {bumble-0.0.214 → bumble-0.0.216}/apps/gatt_dump.py +1 -1
  202. {bumble-0.0.214 → bumble-0.0.216}/apps/hci_bridge.py +3 -3
  203. {bumble-0.0.214 → bumble-0.0.216}/apps/l2cap_bridge.py +3 -3
  204. {bumble-0.0.214 → bumble-0.0.216}/apps/lea_unicast/index.html +0 -0
  205. {bumble-0.0.214 → bumble-0.0.216}/apps/speaker/__init__.py +0 -0
  206. {bumble-0.0.214 → bumble-0.0.216}/apps/speaker/logo.svg +0 -0
  207. {bumble-0.0.214 → bumble-0.0.216}/apps/speaker/speaker.css +0 -0
  208. {bumble-0.0.214 → bumble-0.0.216}/apps/speaker/speaker.html +0 -0
  209. {bumble-0.0.214 → bumble-0.0.216}/apps/speaker/speaker.js +0 -0
  210. {bumble-0.0.214 → bumble-0.0.216}/bumble/__init__.py +0 -0
  211. {bumble-0.0.214 → bumble-0.0.216}/bumble/at.py +0 -0
  212. {bumble-0.0.214 → bumble-0.0.216}/bumble/audio/__init__.py +0 -0
  213. {bumble-0.0.214 → bumble-0.0.216}/bumble/bridge.py +0 -0
  214. {bumble-0.0.214 → bumble-0.0.216}/bumble/colors.py +0 -0
  215. {bumble-0.0.214 → bumble-0.0.216}/bumble/company_ids.py +0 -0
  216. {bumble-0.0.214 → bumble-0.0.216}/bumble/crypto/builtin.py +1 -1
  217. {bumble-0.0.214 → bumble-0.0.216}/bumble/decoder.py +0 -0
  218. {bumble-0.0.214 → bumble-0.0.216}/bumble/drivers/common.py +0 -0
  219. {bumble-0.0.214 → bumble-0.0.216}/bumble/gap.py +4 -4
  220. {bumble-0.0.214 → bumble-0.0.216}/bumble/logging.py +0 -0
  221. {bumble-0.0.214 → bumble-0.0.216}/bumble/pandora/py.typed +0 -0
  222. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/__init__.py +0 -0
  223. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/aics.py +11 -11
  224. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/device_information_service.py +2 -2
  225. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/gap.py +4 -4
  226. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/gmap.py +5 -5
  227. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/py.typed +0 -0
  228. {bumble-0.0.214 → bumble-0.0.216}/bumble/profiles/vocs.py +8 -8
  229. {bumble-0.0.214 → bumble-0.0.216}/bumble/py.typed +0 -0
  230. {bumble-0.0.214 → bumble-0.0.216}/bumble/snoop.py +5 -5
  231. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/__init__.py +0 -0
  232. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_device_pb2.py +0 -0
  233. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_device_pb2.pyi +0 -0
  234. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_device_pb2_grpc.py +0 -0
  235. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_packets_pb2.py +0 -0
  236. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_packets_pb2.pyi +0 -0
  237. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_packets_pb2_grpc.py +0 -0
  238. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_pb2.py +0 -0
  239. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_pb2.pyi +0 -0
  240. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_pb2_grpc.py +0 -0
  241. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_vhci_pb2.py +0 -0
  242. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_vhci_pb2.pyi +0 -0
  243. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_vhci_pb2_grpc.py +0 -0
  244. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/grpc_endpoint_description_pb2.py +0 -0
  245. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/grpc_endpoint_description_pb2.pyi +0 -0
  246. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/grpc_endpoint_description_pb2_grpc.py +0 -0
  247. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/__init__.py +0 -0
  248. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/common_pb2.py +0 -0
  249. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/common_pb2.pyi +0 -0
  250. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/common_pb2_grpc.py +0 -0
  251. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/hci_packet_pb2.py +0 -0
  252. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/hci_packet_pb2.pyi +0 -0
  253. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/hci_packet_pb2_grpc.py +0 -0
  254. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/model_pb2.py +0 -0
  255. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/model_pb2.pyi +0 -0
  256. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/model_pb2_grpc.py +0 -0
  257. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/packet_streamer_pb2.py +0 -0
  258. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/packet_streamer_pb2.pyi +0 -0
  259. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/packet_streamer_pb2_grpc.py +0 -0
  260. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/startup_pb2.py +0 -0
  261. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/startup_pb2.pyi +0 -0
  262. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/startup_pb2_grpc.py +0 -0
  263. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/rootcanal/__init__.py +0 -0
  264. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/rootcanal/configuration_pb2.py +0 -0
  265. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/rootcanal/configuration_pb2.pyi +0 -0
  266. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/grpc_protobuf/rootcanal/configuration_pb2_grpc.py +0 -0
  267. {bumble-0.0.214 → bumble-0.0.216}/bumble/transport/py.typed +0 -0
  268. {bumble-0.0.214 → bumble-0.0.216}/bumble/vendor/__init__.py +0 -0
  269. {bumble-0.0.214 → bumble-0.0.216}/bumble/vendor/android/__init__.py +0 -0
  270. {bumble-0.0.214 → bumble-0.0.216}/bumble/vendor/zephyr/__init__.py +0 -0
  271. {bumble-0.0.214 → bumble-0.0.216}/bumble.egg-info/dependency_links.txt +0 -0
  272. {bumble-0.0.214 → bumble-0.0.216}/bumble.egg-info/entry_points.txt +0 -0
  273. {bumble-0.0.214 → bumble-0.0.216}/bumble.egg-info/top_level.txt +0 -0
  274. {bumble-0.0.214 → bumble-0.0.216}/docs/README.md +0 -0
  275. {bumble-0.0.214 → bumble-0.0.216}/docs/images/favicon.ico +0 -0
  276. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo.png +0 -0
  277. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo.svg +0 -0
  278. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo.vectornator/Artboard0.json +0 -0
  279. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo.vectornator/Document.json +0 -0
  280. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo.vectornator/Manifest.json +0 -0
  281. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo.vectornator/Thumbnail.png +0 -0
  282. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo.vectornator/UndoHistory.json +0 -0
  283. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo_framed.png +0 -0
  284. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo_framed.svg +0 -0
  285. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo_framed.vectornator/Artboard0.json +0 -0
  286. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo_framed.vectornator/Document.json +0 -0
  287. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo_framed.vectornator/Manifest.json +0 -0
  288. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo_framed.vectornator/Thumbnail.png +0 -0
  289. {bumble-0.0.214 → bumble-0.0.216}/docs/images/logo_framed.vectornator/UndoHistory.json +0 -0
  290. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/mkdocs.yml +0 -0
  291. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/requirements.txt +0 -0
  292. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/api/examples.md +0 -0
  293. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/api/guide.md +0 -0
  294. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/api/reference.md +0 -0
  295. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/auracast.md +0 -0
  296. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/bench.md +0 -0
  297. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/console.md +0 -0
  298. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/gatt_dump.md +0 -0
  299. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/gg_bridge.md +0 -0
  300. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/hci_bridge.md +0 -0
  301. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/index.md +0 -0
  302. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/pair.md +0 -0
  303. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/show.md +0 -0
  304. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/speaker.md +0 -0
  305. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/unbond.md +0 -0
  306. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/usb_probe.md +0 -0
  307. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/components/controller.md +0 -0
  308. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/components/gatt.md +0 -0
  309. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/components/host.md +0 -0
  310. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/components/security_manager.md +0 -0
  311. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/development/code_style.md +0 -0
  312. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/development/contributing.md +0 -0
  313. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/development/python_environments.md +0 -0
  314. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/downloads/zephyr/hci_usb.zip +0 -0
  315. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/drivers/index.md +0 -0
  316. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/drivers/intel.md +0 -0
  317. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/drivers/realtek.md +0 -0
  318. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/examples/index.md +0 -0
  319. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/extras/android_bt_bench.md +0 -0
  320. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/extras/android_remote_hci.md +0 -0
  321. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/extras/index.md +0 -0
  322. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/getting_started.md +0 -0
  323. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hardware/index.md +0 -0
  324. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/index.md +0 -0
  325. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/index.toml +0 -0
  326. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/bumble.js +0 -0
  327. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/heart_rate_monitor/heart_rate_monitor.html +0 -0
  328. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/heart_rate_monitor/heart_rate_monitor.js +0 -0
  329. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/scanner/scanner.css +0 -0
  330. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/scanner/scanner.html +0 -0
  331. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/scanner/scanner.js +0 -0
  332. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/scanner/scanner.py +0 -0
  333. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/speaker/logo.svg +0 -0
  334. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/speaker/speaker.css +0 -0
  335. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/speaker/speaker.html +0 -0
  336. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/speaker/speaker.js +0 -0
  337. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/hive/web/ui.js +0 -0
  338. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/images/bumble_layers.svg +0 -0
  339. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/images/console_screenshot.png +0 -0
  340. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/images/favicon.ico +0 -0
  341. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/images/logo.png +0 -0
  342. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/images/logo_framed.png +0 -0
  343. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/images/speaker_screenshot.png +0 -0
  344. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/index.md +0 -0
  345. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/platforms/android.md +0 -0
  346. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/platforms/index.md +0 -0
  347. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/platforms/linux.md +0 -0
  348. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/platforms/macos.md +0 -0
  349. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/platforms/windows.md +0 -0
  350. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/platforms/winusb_driver.png +0 -0
  351. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/platforms/zephyr.md +0 -0
  352. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/android_emulator.md +0 -0
  353. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/file.md +0 -0
  354. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/hci_socket.md +0 -0
  355. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/index.md +0 -0
  356. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/pty.md +0 -0
  357. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/serial.md +0 -0
  358. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/tcp_client.md +0 -0
  359. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/tcp_server.md +0 -0
  360. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/udp.md +0 -0
  361. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/usb.md +0 -0
  362. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/vhci.md +0 -0
  363. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/ws_client.md +0 -0
  364. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/transports/ws_server.md +0 -0
  365. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/use_cases/index.md +0 -0
  366. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_1.md +0 -0
  367. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_2.md +0 -0
  368. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_3.md +0 -0
  369. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_4.md +0 -0
  370. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_5.md +0 -0
  371. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_6.md +0 -0
  372. {bumble-0.0.214 → bumble-0.0.216}/docs/mkdocs/theme/partials/footer.html +0 -0
  373. {bumble-0.0.214 → bumble-0.0.216}/environment.yml +0 -0
  374. {bumble-0.0.214 → bumble-0.0.216}/examples/README.md +0 -0
  375. {bumble-0.0.214 → bumble-0.0.216}/examples/a2dp_sink1.json +0 -0
  376. {bumble-0.0.214 → bumble-0.0.216}/examples/asha_sink.html +0 -0
  377. {bumble-0.0.214 → bumble-0.0.216}/examples/asha_sink1.json +0 -0
  378. {bumble-0.0.214 → bumble-0.0.216}/examples/asha_sink2.json +0 -0
  379. {bumble-0.0.214 → bumble-0.0.216}/examples/async_runner.py +1 -1
  380. {bumble-0.0.214 → bumble-0.0.216}/examples/avrcp_as_sink.html +0 -0
  381. {bumble-0.0.214 → bumble-0.0.216}/examples/classic1.json +0 -0
  382. {bumble-0.0.214 → bumble-0.0.216}/examples/classic2.json +0 -0
  383. {bumble-0.0.214 → bumble-0.0.216}/examples/cs_initiator.json +0 -0
  384. {bumble-0.0.214 → bumble-0.0.216}/examples/cs_reflector.json +0 -0
  385. {bumble-0.0.214 → bumble-0.0.216}/examples/device1.json +0 -0
  386. {bumble-0.0.214 → bumble-0.0.216}/examples/device2.json +0 -0
  387. {bumble-0.0.214 → bumble-0.0.216}/examples/device3.json +0 -0
  388. {bumble-0.0.214 → bumble-0.0.216}/examples/device_information_client.py +1 -1
  389. {bumble-0.0.214 → bumble-0.0.216}/examples/device_with_rpa.json +0 -0
  390. {bumble-0.0.214 → bumble-0.0.216}/examples/heart_rate_client.py +2 -2
  391. {bumble-0.0.214 → bumble-0.0.216}/examples/hfp_gateway.html +0 -0
  392. {bumble-0.0.214 → bumble-0.0.216}/examples/hfp_gateway.json +0 -0
  393. {bumble-0.0.214 → bumble-0.0.216}/examples/hfp_handsfree.html +0 -0
  394. {bumble-0.0.214 → bumble-0.0.216}/examples/hfp_handsfree.json +0 -0
  395. {bumble-0.0.214 → bumble-0.0.216}/examples/hid_key_map.py +0 -0
  396. {bumble-0.0.214 → bumble-0.0.216}/examples/hid_keyboard.json +0 -0
  397. {bumble-0.0.214 → bumble-0.0.216}/examples/keyboard.html +0 -0
  398. {bumble-0.0.214 → bumble-0.0.216}/examples/keyboard.json +0 -0
  399. {bumble-0.0.214 → bumble-0.0.216}/examples/leaudio.json +0 -0
  400. {bumble-0.0.214 → bumble-0.0.216}/examples/leaudio_with_classic.json +0 -0
  401. {bumble-0.0.214 → bumble-0.0.216}/examples/mcp_server.html +0 -0
  402. {bumble-0.0.214 → bumble-0.0.216}/examples/mobly/bench/sample_config.yml +0 -0
  403. {bumble-0.0.214 → bumble-0.0.216}/examples/run_a2dp_source.py +13 -13
  404. {bumble-0.0.214 → bumble-0.0.216}/examples/run_ams_client.py +5 -5
  405. {bumble-0.0.214 → bumble-0.0.216}/examples/run_classic_discovery.py +2 -2
  406. {bumble-0.0.214 → bumble-0.0.216}/examples/run_connect_and_encrypt.py +1 -1
  407. {bumble-0.0.214 → bumble-0.0.216}/examples/run_controller.py +3 -3
  408. {bumble-0.0.214 → bumble-0.0.216}/examples/run_controller_with_scanner.py +2 -2
  409. {bumble-0.0.214 → bumble-0.0.216}/examples/run_device_with_snooper.py +3 -3
  410. {bumble-0.0.214 → bumble-0.0.216}/examples/run_extended_advertiser.py +2 -2
  411. {bumble-0.0.214 → bumble-0.0.216}/examples/run_gatt_client.py +2 -2
  412. {bumble-0.0.214 → bumble-0.0.216}/examples/run_gatt_client_and_server.py +9 -9
  413. {bumble-0.0.214 → bumble-0.0.216}/examples/speaker.json +0 -0
  414. {bumble-0.0.214 → bumble-0.0.216}/examples/vcp_renderer.html +0 -0
  415. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/.gitignore +0 -0
  416. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/.gitignore +0 -0
  417. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/build.gradle.kts +0 -0
  418. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/proguard-rules.pro +0 -0
  419. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/AndroidManifest.xml +0 -0
  420. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/ic_launcher-playstore.png +0 -0
  421. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Advertiser.kt +0 -0
  422. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/AutomationSnippet.java +0 -0
  423. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Connection.kt +0 -0
  424. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Gatt.kt +0 -0
  425. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/GattClient.kt +0 -0
  426. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/GattServer.kt +0 -0
  427. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/IoClient.kt +0 -0
  428. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/L2capClient.kt +0 -0
  429. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/L2capServer.kt +0 -0
  430. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/MainActivity.kt +0 -0
  431. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Mode.kt +0 -0
  432. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Model.kt +0 -0
  433. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Packet.kt +0 -0
  434. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Pinger.kt +0 -0
  435. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Ponger.kt +0 -0
  436. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Receiver.kt +0 -0
  437. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/RfcommClient.kt +0 -0
  438. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/RfcommServer.kt +0 -0
  439. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Scan.kt +0 -0
  440. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Sender.kt +0 -0
  441. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/SocketClient.kt +0 -0
  442. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/SocketServer.kt +0 -0
  443. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/ui/theme/Color.kt +0 -0
  444. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/ui/theme/Theme.kt +0 -0
  445. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/ui/theme/Type.kt +0 -0
  446. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/drawable/ic_launcher_background.xml +0 -0
  447. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/drawable/ic_launcher_foreground.xml +0 -0
  448. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -0
  449. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -0
  450. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp +0 -0
  451. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  452. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp +0 -0
  453. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  454. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp +0 -0
  455. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  456. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp +0 -0
  457. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  458. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp +0 -0
  459. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  460. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/values/colors.xml +0 -0
  461. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/values/ic_launcher_background.xml +0 -0
  462. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/values/strings.xml +0 -0
  463. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/values/themes.xml +0 -0
  464. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/xml/backup_rules.xml +0 -0
  465. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/xml/data_extraction_rules.xml +0 -0
  466. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/build.gradle.kts +0 -0
  467. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/gradle/libs.versions.toml +0 -0
  468. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/gradle/wrapper/gradle-wrapper.jar +0 -0
  469. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/gradle/wrapper/gradle-wrapper.properties +0 -0
  470. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/gradle.properties +0 -0
  471. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/gradlew +0 -0
  472. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/gradlew.bat +0 -0
  473. {bumble-0.0.214 → bumble-0.0.216}/extras/android/BtBench/settings.gradle.kts +0 -0
  474. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/.gitignore +0 -0
  475. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/.gitignore +0 -0
  476. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/build.gradle.kts +0 -0
  477. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/proguard-rules.pro +0 -0
  478. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/AndroidManifest.xml +0 -0
  479. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/aidl/android/hardware/bluetooth/IBluetoothHci.aidl +0 -0
  480. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/aidl/android/hardware/bluetooth/IBluetoothHciCallbacks.aidl +0 -0
  481. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/aidl/android/hardware/bluetooth/Status.aidl +0 -0
  482. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/hidl/bluetooth/1.1/IBluetoothHci.hal +0 -0
  483. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/hidl/bluetooth/1.1/IBluetoothHciCallbacks.hal +0 -0
  484. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/ic_launcher-playstore.png +0 -0
  485. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/IBluetoothHci.java +0 -0
  486. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/IBluetoothHciCallbacks.java +0 -0
  487. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/Status.java +0 -0
  488. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/V1_0/IBluetoothHci.java +0 -0
  489. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/V1_0/IBluetoothHciCallbacks.java +0 -0
  490. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/V1_0/Status.java +0 -0
  491. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/V1_1/IBluetoothHci.java +0 -0
  492. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/V1_1/IBluetoothHciCallbacks.java +0 -0
  493. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/CommandLineInterface.kt +0 -0
  494. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciHal.java +0 -0
  495. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciHalCallback.java +0 -0
  496. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciPacket.java +0 -0
  497. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciParser.java +0 -0
  498. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciProxy.java +0 -0
  499. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciServer.java +0 -0
  500. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/MainActivity.kt +0 -0
  501. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/ui/theme/Color.kt +0 -0
  502. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/ui/theme/Theme.kt +0 -0
  503. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/ui/theme/Type.kt +0 -0
  504. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -0
  505. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -0
  506. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
  507. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp +0 -0
  508. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  509. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
  510. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp +0 -0
  511. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  512. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
  513. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp +0 -0
  514. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  515. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
  516. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp +0 -0
  517. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  518. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
  519. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp +0 -0
  520. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  521. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/values/colors.xml +0 -0
  522. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/values/ic_launcher_background.xml +0 -0
  523. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/values/strings.xml +0 -0
  524. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/values/themes.xml +0 -0
  525. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/xml/backup_rules.xml +0 -0
  526. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/xml/data_extraction_rules.xml +0 -0
  527. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/build.gradle.kts +0 -0
  528. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/gradle/libs.versions.toml +0 -0
  529. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/gradle/wrapper/gradle-wrapper.jar +0 -0
  530. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/gradle/wrapper/gradle-wrapper.properties +0 -0
  531. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/gradle.properties +0 -0
  532. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/gradlew +0 -0
  533. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/gradlew.bat +0 -0
  534. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/.gitignore +0 -0
  535. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/build.gradle.kts +0 -0
  536. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/consumer-rules.pro +0 -0
  537. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/proguard-rules.pro +0 -0
  538. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/AndroidManifest.xml +0 -0
  539. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/internal/hidl/base/V1_0/DebugInfo.java +0 -0
  540. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/internal/hidl/base/V1_0/IBase.java +0 -0
  541. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/HidlSupport.java +0 -0
  542. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/HwBinder.java +0 -0
  543. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/HwBlob.java +0 -0
  544. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/HwParcel.java +0 -0
  545. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/IHwBinder.java +0 -0
  546. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/IHwInterface.java +0 -0
  547. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/NativeHandle.java +0 -0
  548. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/ServiceManager.java +0 -0
  549. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/scripts/generate_java_from_aidl.sh +0 -0
  550. {bumble-0.0.214 → bumble-0.0.216}/extras/android/RemoteHCI/settings.gradle.kts +0 -0
  551. {bumble-0.0.214 → bumble-0.0.216}/noxfile.py +0 -0
  552. {bumble-0.0.214 → bumble-0.0.216}/rust/.gitignore +0 -0
  553. {bumble-0.0.214 → bumble-0.0.216}/rust/CHANGELOG.md +0 -0
  554. {bumble-0.0.214 → bumble-0.0.216}/rust/README.md +0 -0
  555. {bumble-0.0.214 → bumble-0.0.216}/rust/examples/battery_client.rs +0 -0
  556. {bumble-0.0.214 → bumble-0.0.216}/rust/examples/broadcast.rs +0 -0
  557. {bumble-0.0.214 → bumble-0.0.216}/rust/examples/scanner.rs +0 -0
  558. {bumble-0.0.214 → bumble-0.0.216}/rust/pytests/assigned_numbers.rs +0 -0
  559. {bumble-0.0.214 → bumble-0.0.216}/rust/pytests/pytests.rs +0 -0
  560. {bumble-0.0.214 → bumble-0.0.216}/rust/pytests/wrapper/drivers.rs +0 -0
  561. {bumble-0.0.214 → bumble-0.0.216}/rust/pytests/wrapper/hci.rs +0 -0
  562. {bumble-0.0.214 → bumble-0.0.216}/rust/pytests/wrapper/mod.rs +0 -0
  563. {bumble-0.0.214 → bumble-0.0.216}/rust/pytests/wrapper/transport.rs +0 -0
  564. {bumble-0.0.214 → bumble-0.0.216}/rust/resources/test/firmware/realtek/README.md +0 -0
  565. {bumble-0.0.214 → bumble-0.0.216}/rust/resources/test/firmware/realtek/rtl8723b_fw_structure.bin +0 -0
  566. {bumble-0.0.214 → bumble-0.0.216}/rust/resources/test/firmware/realtek/rtl8761bu_fw_structure.bin +0 -0
  567. {bumble-0.0.214 → bumble-0.0.216}/rust/src/adv.rs +0 -0
  568. {bumble-0.0.214 → bumble-0.0.216}/rust/src/cli/firmware/mod.rs +0 -0
  569. {bumble-0.0.214 → bumble-0.0.216}/rust/src/cli/firmware/rtk.rs +0 -0
  570. {bumble-0.0.214 → bumble-0.0.216}/rust/src/cli/l2cap/client_bridge.rs +0 -0
  571. {bumble-0.0.214 → bumble-0.0.216}/rust/src/cli/l2cap/mod.rs +0 -0
  572. {bumble-0.0.214 → bumble-0.0.216}/rust/src/cli/l2cap/server_bridge.rs +0 -0
  573. {bumble-0.0.214 → bumble-0.0.216}/rust/src/cli/mod.rs +0 -0
  574. {bumble-0.0.214 → bumble-0.0.216}/rust/src/cli/usb/mod.rs +0 -0
  575. {bumble-0.0.214 → bumble-0.0.216}/rust/src/internal/drivers/mod.rs +0 -0
  576. {bumble-0.0.214 → bumble-0.0.216}/rust/src/internal/drivers/rtk.rs +0 -0
  577. {bumble-0.0.214 → bumble-0.0.216}/rust/src/internal/hci/mod.rs +0 -0
  578. {bumble-0.0.214 → bumble-0.0.216}/rust/src/internal/hci/packets.pdl +0 -0
  579. {bumble-0.0.214 → bumble-0.0.216}/rust/src/internal/hci/tests.rs +0 -0
  580. {bumble-0.0.214 → bumble-0.0.216}/rust/src/internal/mod.rs +0 -0
  581. {bumble-0.0.214 → bumble-0.0.216}/rust/src/lib.rs +0 -0
  582. {bumble-0.0.214 → bumble-0.0.216}/rust/src/main.rs +0 -0
  583. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/assigned_numbers/company_ids.rs +0 -0
  584. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/assigned_numbers/mod.rs +0 -0
  585. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/assigned_numbers/services.rs +0 -0
  586. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/common.rs +0 -0
  587. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/controller.rs +0 -0
  588. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/core.rs +0 -0
  589. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/device/mod.rs +0 -0
  590. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/device/tests.rs +0 -0
  591. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/drivers/mod.rs +0 -0
  592. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/drivers/rtk.rs +0 -0
  593. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/gatt_client.rs +0 -0
  594. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/hci.rs +0 -0
  595. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/host.rs +0 -0
  596. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/l2cap.rs +0 -0
  597. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/link.rs +0 -0
  598. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/logging.rs +0 -0
  599. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/mod.rs +0 -0
  600. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/profile.rs +0 -0
  601. {bumble-0.0.214 → bumble-0.0.216}/rust/src/wrapper/transport.rs +0 -0
  602. {bumble-0.0.214 → bumble-0.0.216}/rust/tools/file_header.rs +0 -0
  603. {bumble-0.0.214 → bumble-0.0.216}/rust/tools/gen_assigned_numbers.rs +0 -0
  604. {bumble-0.0.214 → bumble-0.0.216}/scripts/process_android_emulator_protos.sh +0 -0
  605. {bumble-0.0.214 → bumble-0.0.216}/scripts/process_android_netsim_protos.sh +0 -0
  606. {bumble-0.0.214 → bumble-0.0.216}/setup.cfg +0 -0
  607. {bumble-0.0.214 → bumble-0.0.216}/tests/__init__.py +0 -0
  608. {bumble-0.0.214 → bumble-0.0.216}/tests/at_test.py +0 -0
  609. {bumble-0.0.214 → bumble-0.0.216}/tests/avdtp_test.py +3 -3
  610. {bumble-0.0.214 → bumble-0.0.216}/tests/g722_sample.g722 +0 -0
  611. {bumble-0.0.214 → bumble-0.0.216}/tests/gmap_test.py +2 -2
  612. {bumble-0.0.214 → bumble-0.0.216}/tests/hci_data_001.bin +0 -0
  613. {bumble-0.0.214 → bumble-0.0.216}/tests/keystore_test.py +3 -3
  614. {bumble-0.0.214 → bumble-0.0.216}/tests/le_audio_test.py +0 -0
  615. {bumble-0.0.214 → bumble-0.0.216}/tests/mcp_test.py +3 -3
  616. {bumble-0.0.214 → bumble-0.0.216}/tests/pytest.ini +0 -0
  617. {bumble-0.0.214 → bumble-0.0.216}/tests/utils_test.py +0 -0
  618. {bumble-0.0.214 → bumble-0.0.216}/tools/__init__.py +0 -0
  619. {bumble-0.0.214 → bumble-0.0.216}/tools/intel_util.py +4 -4
  620. {bumble-0.0.214 → bumble-0.0.216}/web/.gitignore +0 -0
  621. {bumble-0.0.214 → bumble-0.0.216}/web/README.md +0 -0
  622. {bumble-0.0.214 → bumble-0.0.216}/web/bumble.js +0 -0
  623. {bumble-0.0.214 → bumble-0.0.216}/web/favicon.ico +0 -0
  624. {bumble-0.0.214 → bumble-0.0.216}/web/heart_rate_monitor/heart_rate_monitor.html +0 -0
  625. {bumble-0.0.214 → bumble-0.0.216}/web/heart_rate_monitor/heart_rate_monitor.js +0 -0
  626. {bumble-0.0.214 → bumble-0.0.216}/web/scanner/scanner.css +0 -0
  627. {bumble-0.0.214 → bumble-0.0.216}/web/scanner/scanner.html +0 -0
  628. {bumble-0.0.214 → bumble-0.0.216}/web/scanner/scanner.js +0 -0
  629. {bumble-0.0.214 → bumble-0.0.216}/web/scanner/scanner.py +0 -0
  630. {bumble-0.0.214 → bumble-0.0.216}/web/speaker/logo.svg +0 -0
  631. {bumble-0.0.214 → bumble-0.0.216}/web/speaker/speaker.css +0 -0
  632. {bumble-0.0.214 → bumble-0.0.216}/web/speaker/speaker.html +0 -0
  633. {bumble-0.0.214 → bumble-0.0.216}/web/speaker/speaker.js +0 -0
  634. {bumble-0.0.214 → bumble-0.0.216}/web/ui.js +0 -0
@@ -49,7 +49,7 @@ jobs:
49
49
  strategy:
50
50
  matrix:
51
51
  python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
52
- rust-version: [ "1.76.0", "stable" ]
52
+ rust-version: [ "1.80.0", "stable" ]
53
53
  fail-fast: false
54
54
  steps:
55
55
  - name: Check out from Git
@@ -72,7 +72,7 @@ jobs:
72
72
  - name: Check License Headers
73
73
  run: cd rust && cargo run --features dev-tools --bin file-header check-all
74
74
  - name: Rust Build
75
- run: cd rust && cargo build --all-targets && cargo build-all-features --all-targets
75
+ run: cd rust && cargo build --all-targets && cargo build-all-features
76
76
  # Lints after build so what clippy needs is already built
77
77
  - name: Rust Lints
78
78
  run: cd rust && cargo fmt --check && cargo clippy --all-targets -- --deny warnings && cargo clippy --all-features --all-targets -- --deny warnings
@@ -104,5 +104,8 @@
104
104
  "python.testing.unittestEnabled": false,
105
105
  "python.testing.pytestEnabled": true,
106
106
  "python-envs.defaultEnvManager": "ms-python.python:system",
107
- "python-envs.pythonProjects": []
107
+ "python-envs.pythonProjects": [],
108
+ "nrf-connect.applications": [
109
+ "${workspaceFolder}/extras/zephyr/hci_usb"
110
+ ]
108
111
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bumble
3
- Version: 0.0.214
3
+ Version: 0.0.216
4
4
  Summary: Bluetooth Stack for Apps, Emulation, Test and Experimentation
5
5
  Author-email: Google <bumble-dev@google.com>
6
6
  License-Expression: Apache-2.0
@@ -38,6 +38,7 @@ Requires-Dist: black~=25.1; extra == "development"
38
38
  Requires-Dist: bt-test-interfaces>=0.0.6; extra == "development"
39
39
  Requires-Dist: grpcio-tools>=1.62.1; extra == "development"
40
40
  Requires-Dist: invoke>=1.7.3; extra == "development"
41
+ Requires-Dist: isort~=5.13.2; extra == "development"
41
42
  Requires-Dist: mobly>=1.12.2; extra == "development"
42
43
  Requires-Dist: mypy==1.12.0; extra == "development"
43
44
  Requires-Dist: nox>=2022; extra == "development"
@@ -24,12 +24,7 @@ import dataclasses
24
24
  import functools
25
25
  import logging
26
26
  import struct
27
- from typing import (
28
- Any,
29
- AsyncGenerator,
30
- Coroutine,
31
- Optional,
32
- )
27
+ from typing import Any, AsyncGenerator, Coroutine, Optional
33
28
 
34
29
  import click
35
30
 
@@ -40,21 +35,14 @@ except ImportError as e:
40
35
  "Try `python -m pip install \"git+https://github.com/google/liblc3.git\"`."
41
36
  ) from e
42
37
 
43
- from bumble.audio import io as audio_io
44
- from bumble.colors import color
45
- from bumble import company_ids
46
- from bumble import core
47
- from bumble import gatt
48
- from bumble import hci
49
- from bumble.profiles import bap
50
- from bumble.profiles import le_audio
51
- from bumble.profiles import pbp
52
- from bumble.profiles import bass
53
38
  import bumble.device
39
+ import bumble.logging
54
40
  import bumble.transport
55
41
  import bumble.utils
56
- import bumble.logging
57
-
42
+ from bumble import company_ids, core, data_types, gatt, hci
43
+ from bumble.audio import io as audio_io
44
+ from bumble.colors import color
45
+ from bumble.profiles import bap, bass, le_audio, pbp
58
46
 
59
47
  # -----------------------------------------------------------------------------
60
48
  # Logging
@@ -871,21 +859,13 @@ async def run_transmit(
871
859
  )
872
860
  broadcast_audio_announcement = bap.BroadcastAudioAnnouncement(broadcast_id)
873
861
 
874
- advertising_manufacturer_data = (
875
- b''
876
- if manufacturer_data is None
877
- else bytes(
878
- core.AdvertisingData(
879
- [
880
- (
881
- core.AdvertisingData.MANUFACTURER_SPECIFIC_DATA,
882
- struct.pack('<H', manufacturer_data[0])
883
- + manufacturer_data[1],
884
- )
885
- ]
886
- )
862
+ advertising_data_types: list[core.DataType] = [
863
+ data_types.BroadcastName(broadcast_name)
864
+ ]
865
+ if manufacturer_data is not None:
866
+ advertising_data_types.append(
867
+ data_types.ManufacturerSpecificData(*manufacturer_data)
887
868
  )
888
- )
889
869
 
890
870
  advertising_set = await device.create_advertising_set(
891
871
  advertising_parameters=bumble.device.AdvertisingParameters(
@@ -897,12 +877,7 @@ async def run_transmit(
897
877
  ),
898
878
  advertising_data=(
899
879
  broadcast_audio_announcement.get_advertising_data()
900
- + bytes(
901
- core.AdvertisingData(
902
- [(core.AdvertisingData.BROADCAST_NAME, broadcast_name.encode())]
903
- )
904
- )
905
- + advertising_manufacturer_data
880
+ + bytes(core.AdvertisingData(advertising_data_types))
906
881
  ),
907
882
  periodic_advertising_parameters=bumble.device.PeriodicAdvertisingParameters(
908
883
  periodic_advertising_interval_min=80,
@@ -26,16 +26,19 @@ from typing import Optional
26
26
 
27
27
  import click
28
28
 
29
+ import bumble.core
30
+ import bumble.logging
31
+ import bumble.rfcomm
29
32
  from bumble import l2cap
33
+ from bumble.colors import color
30
34
  from bumble.core import (
31
- PhysicalTransport,
32
35
  BT_L2CAP_PROTOCOL_ID,
33
36
  BT_RFCOMM_PROTOCOL_ID,
34
37
  UUID,
35
38
  CommandTimeoutError,
39
+ ConnectionPHY,
40
+ PhysicalTransport,
36
41
  )
37
- from bumble.colors import color
38
- from bumble.core import ConnectionPHY
39
42
  from bumble.device import (
40
43
  CigParameters,
41
44
  CisLink,
@@ -49,12 +52,13 @@ from bumble.hci import (
49
52
  HCI_LE_1M_PHY,
50
53
  HCI_LE_2M_PHY,
51
54
  HCI_LE_CODED_PHY,
52
- Role,
53
55
  HCI_Constant,
54
56
  HCI_Error,
55
- HCI_StatusError,
56
57
  HCI_IsoDataPacket,
58
+ HCI_StatusError,
59
+ Role,
57
60
  )
61
+ from bumble.pairing import PairingConfig
58
62
  from bumble.sdp import (
59
63
  SDP_BROWSE_GROUP_LIST_ATTRIBUTE_ID,
60
64
  SDP_PROTOCOL_DESCRIPTOR_LIST_ATTRIBUTE_ID,
@@ -65,12 +69,7 @@ from bumble.sdp import (
65
69
  ServiceAttribute,
66
70
  )
67
71
  from bumble.transport import open_transport
68
- import bumble.rfcomm
69
- import bumble.core
70
72
  from bumble.utils import AsyncRunner
71
- from bumble.pairing import PairingConfig
72
- import bumble.logging
73
-
74
73
 
75
74
  # -----------------------------------------------------------------------------
76
75
  # Logging
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import click
16
+
16
17
  from bumble.colors import color
17
18
  from bumble.hci import Address
18
19
  from bumble.helpers import generate_irk, verify_rpa_with_irk
@@ -23,58 +23,55 @@ import asyncio
23
23
  import logging
24
24
  import os
25
25
  import re
26
- import humanize
27
- from typing import Optional, Union
28
26
  from collections import OrderedDict
27
+ from typing import Optional, Union
29
28
 
30
29
  import click
30
+ import humanize
31
31
  from prettytable import PrettyTable
32
-
33
32
  from prompt_toolkit import Application
34
- from prompt_toolkit.history import FileHistory
35
33
  from prompt_toolkit.completion import Completer, Completion, NestedCompleter
36
- from prompt_toolkit.key_binding import KeyBindings
37
- from prompt_toolkit.formatted_text import ANSI
38
- from prompt_toolkit.styles import Style
39
- from prompt_toolkit.filters import Condition
40
- from prompt_toolkit.widgets import TextArea, Frame
41
- from prompt_toolkit.widgets.toolbars import FormattedTextToolbar
42
34
  from prompt_toolkit.data_structures import Point
35
+ from prompt_toolkit.filters import Condition
36
+ from prompt_toolkit.formatted_text import ANSI
37
+ from prompt_toolkit.history import FileHistory
38
+ from prompt_toolkit.key_binding import KeyBindings
43
39
  from prompt_toolkit.layout import (
44
- Layout,
45
- HSplit,
46
- Window,
47
40
  CompletionsMenu,
48
- Float,
49
- FormattedTextControl,
50
- FloatContainer,
51
41
  ConditionalContainer,
52
42
  Dimension,
43
+ Float,
44
+ FloatContainer,
45
+ FormattedTextControl,
46
+ HSplit,
47
+ Layout,
48
+ Window,
53
49
  )
50
+ from prompt_toolkit.styles import Style
51
+ from prompt_toolkit.widgets import Frame, TextArea
52
+ from prompt_toolkit.widgets.toolbars import FormattedTextToolbar
54
53
 
55
- from bumble import __version__
56
54
  import bumble.core
57
- from bumble import colors
55
+ from bumble import __version__, colors
58
56
  from bumble.core import UUID, AdvertisingData
59
57
  from bumble.device import (
58
+ Connection,
60
59
  ConnectionParametersPreferences,
61
60
  ConnectionPHY,
62
61
  Device,
63
- Connection,
64
62
  Peer,
65
63
  )
66
- from bumble.utils import AsyncRunner
67
- from bumble.transport import open_transport
68
- from bumble.gatt import Characteristic, Service, CharacteristicDeclaration, Descriptor
64
+ from bumble.gatt import Characteristic, CharacteristicDeclaration, Descriptor, Service
69
65
  from bumble.gatt_client import CharacteristicProxy
70
66
  from bumble.hci import (
71
- Address,
72
- HCI_Constant,
73
67
  HCI_LE_1M_PHY,
74
68
  HCI_LE_2M_PHY,
75
69
  HCI_LE_CODED_PHY,
70
+ Address,
71
+ HCI_Constant,
76
72
  )
77
-
73
+ from bumble.transport import open_transport
74
+ from bumble.utils import AsyncRunner
78
75
 
79
76
  # -----------------------------------------------------------------------------
80
77
  # Constants
@@ -20,16 +20,15 @@ import struct
20
20
 
21
21
  import click
22
22
 
23
+ import bumble.logging
23
24
  from bumble import l2cap
24
25
  from bumble.colors import color
25
- from bumble.device import Device, Peer
26
26
  from bumble.core import AdvertisingData
27
- from bumble.gatt import Service, Characteristic, CharacteristicValue
28
- from bumble.utils import AsyncRunner
29
- from bumble.transport import open_transport
27
+ from bumble.device import Device, Peer
28
+ from bumble.gatt import Characteristic, CharacteristicValue, Service
30
29
  from bumble.hci import HCI_Constant
31
- import bumble.logging
32
-
30
+ from bumble.transport import open_transport
31
+ from bumble.utils import AsyncRunner
33
32
 
34
33
  # -----------------------------------------------------------------------------
35
34
  # Constants
@@ -20,31 +20,30 @@ from __future__ import annotations
20
20
  import asyncio
21
21
  import datetime
22
22
  import functools
23
- from importlib import resources
24
23
  import json
25
24
  import logging
26
25
  import pathlib
27
- import weakref
28
26
  import wave
27
+ import weakref
28
+ from importlib import resources
29
29
 
30
30
  try:
31
31
  import lc3 # type: ignore # pylint: disable=E0401
32
32
  except ImportError as e:
33
33
  raise ImportError("Try `python -m pip install \".[lc3]\"`.") from e
34
34
 
35
- import click
36
35
  import aiohttp.web
36
+ import click
37
37
 
38
38
  import bumble
39
- from bumble import utils
40
- from bumble.core import AdvertisingData
39
+ import bumble.logging
40
+ from bumble import data_types, utils
41
41
  from bumble.colors import color
42
- from bumble.device import Device, DeviceConfiguration, AdvertisingParameters, CisLink
43
- from bumble.transport import open_transport
44
- from bumble.profiles import ascs, bap, pacs
42
+ from bumble.core import AdvertisingData
43
+ from bumble.device import AdvertisingParameters, CisLink, Device, DeviceConfiguration
45
44
  from bumble.hci import Address, CodecID, CodingFormat, HCI_IsoDataPacket
46
- import bumble.logging
47
-
45
+ from bumble.profiles import ascs, bap, pacs
46
+ from bumble.transport import open_transport
48
47
 
49
48
  # -----------------------------------------------------------------------------
50
49
  # Logging
@@ -331,22 +330,13 @@ class Speaker:
331
330
  advertising_data = bytes(
332
331
  AdvertisingData(
333
332
  [
334
- (
335
- AdvertisingData.COMPLETE_LOCAL_NAME,
336
- bytes(device_config.name, 'utf-8'),
337
- ),
338
- (
339
- AdvertisingData.FLAGS,
340
- bytes(
341
- [
342
- AdvertisingData.LE_GENERAL_DISCOVERABLE_MODE_FLAG
343
- | AdvertisingData.BR_EDR_NOT_SUPPORTED_FLAG
344
- ]
345
- ),
333
+ data_types.CompleteLocalName(device_config.name),
334
+ data_types.Flags(
335
+ AdvertisingData.Flags.LE_GENERAL_DISCOVERABLE_MODE
336
+ | AdvertisingData.Flags.BR_EDR_NOT_SUPPORTED
346
337
  ),
347
- (
348
- AdvertisingData.INCOMPLETE_LIST_OF_16_BIT_SERVICE_CLASS_UUIDS,
349
- bytes(pacs.PublishedAudioCapabilitiesService.UUID),
338
+ data_types.IncompleteListOf16BitServiceUUIDs(
339
+ [pacs.PublishedAudioCapabilitiesService.UUID]
350
340
  ),
351
341
  ]
352
342
  )
@@ -16,42 +16,44 @@
16
16
  # Imports
17
17
  # -----------------------------------------------------------------------------
18
18
  import asyncio
19
- import os
20
19
  import logging
20
+ import os
21
21
  import struct
22
22
 
23
23
  import click
24
24
  from prompt_toolkit.shortcuts import PromptSession
25
25
 
26
+ from bumble import data_types
26
27
  from bumble.a2dp import make_audio_sink_service_sdp_records
28
+ from bumble.att import (
29
+ ATT_INSUFFICIENT_AUTHENTICATION_ERROR,
30
+ ATT_INSUFFICIENT_ENCRYPTION_ERROR,
31
+ ATT_Error,
32
+ )
27
33
  from bumble.colors import color
28
- from bumble.device import Device, Peer
29
- from bumble.transport import open_transport
30
- from bumble.pairing import OobData, PairingDelegate, PairingConfig
31
- from bumble.smp import OobContext, OobLegacyContext
32
- from bumble.smp import error_name as smp_error_name
33
- from bumble.keys import JsonKeyStore
34
34
  from bumble.core import (
35
+ UUID,
35
36
  AdvertisingData,
36
37
  Appearance,
37
- ProtocolError,
38
+ DataType,
38
39
  PhysicalTransport,
39
- UUID,
40
+ ProtocolError,
40
41
  )
42
+ from bumble.device import Device, Peer
41
43
  from bumble.gatt import (
42
44
  GATT_DEVICE_NAME_CHARACTERISTIC,
43
45
  GATT_GENERIC_ACCESS_SERVICE,
44
- GATT_HEART_RATE_SERVICE,
45
46
  GATT_HEART_RATE_MEASUREMENT_CHARACTERISTIC,
46
- Service,
47
+ GATT_HEART_RATE_SERVICE,
47
48
  Characteristic,
49
+ Service,
48
50
  )
49
51
  from bumble.hci import OwnAddressType
50
- from bumble.att import (
51
- ATT_Error,
52
- ATT_INSUFFICIENT_AUTHENTICATION_ERROR,
53
- ATT_INSUFFICIENT_ENCRYPTION_ERROR,
54
- )
52
+ from bumble.keys import JsonKeyStore
53
+ from bumble.pairing import OobData, PairingConfig, PairingDelegate
54
+ from bumble.smp import OobContext, OobLegacyContext
55
+ from bumble.smp import error_name as smp_error_name
56
+ from bumble.transport import open_transport
55
57
  from bumble.utils import AsyncRunner
56
58
 
57
59
  # -----------------------------------------------------------------------------
@@ -506,33 +508,21 @@ async def pair(
506
508
  if mode == 'dual':
507
509
  flags |= AdvertisingData.Flags.SIMULTANEOUS_LE_BR_EDR_CAPABLE
508
510
 
509
- ad_structs = [
510
- (
511
- AdvertisingData.FLAGS,
512
- bytes([flags]),
513
- ),
514
- (AdvertisingData.COMPLETE_LOCAL_NAME, 'Bumble'.encode()),
511
+ advertising_data_types: list[DataType] = [
512
+ data_types.Flags(flags),
513
+ data_types.CompleteLocalName('Bumble'),
515
514
  ]
516
515
  if service_uuids_16:
517
- ad_structs.append(
518
- (
519
- AdvertisingData.INCOMPLETE_LIST_OF_16_BIT_SERVICE_CLASS_UUIDS,
520
- b"".join(bytes(uuid) for uuid in service_uuids_16),
521
- )
516
+ advertising_data_types.append(
517
+ data_types.IncompleteListOf16BitServiceUUIDs(service_uuids_16)
522
518
  )
523
519
  if service_uuids_32:
524
- ad_structs.append(
525
- (
526
- AdvertisingData.INCOMPLETE_LIST_OF_32_BIT_SERVICE_CLASS_UUIDS,
527
- b"".join(bytes(uuid) for uuid in service_uuids_32),
528
- )
520
+ advertising_data_types.append(
521
+ data_types.IncompleteListOf32BitServiceUUIDs(service_uuids_32)
529
522
  )
530
523
  if service_uuids_128:
531
- ad_structs.append(
532
- (
533
- AdvertisingData.INCOMPLETE_LIST_OF_128_BIT_SERVICE_CLASS_UUIDS,
534
- b"".join(bytes(uuid) for uuid in service_uuids_128),
535
- )
524
+ advertising_data_types.append(
525
+ data_types.IncompleteListOf128BitServiceUUIDs(service_uuids_128)
536
526
  )
537
527
 
538
528
  if advertise_appearance:
@@ -559,13 +549,10 @@ async def pair(
559
549
  advertise_appearance_int = int(
560
550
  Appearance(category_enum, subcategory_enum)
561
551
  )
562
- ad_structs.append(
563
- (
564
- AdvertisingData.APPEARANCE,
565
- struct.pack('<H', advertise_appearance_int),
566
- )
552
+ advertising_data_types.append(
553
+ data_types.Appearance(category_enum, subcategory_enum)
567
554
  )
568
- device.advertising_data = bytes(AdvertisingData(ad_structs))
555
+ device.advertising_data = bytes(AdvertisingData(advertising_data_types))
569
556
  await device.start_advertising(
570
557
  auto_restart=True,
571
558
  own_address_type=(
@@ -1,11 +1,12 @@
1
1
  import asyncio
2
- import click
3
- import logging
4
2
  import json
5
-
6
- from bumble.pandora import PandoraDevice, Config, serve
3
+ import logging
7
4
  from typing import Any
8
5
 
6
+ import click
7
+
8
+ from bumble.pandora import Config, PandoraDevice, serve
9
+
9
10
  BUMBLE_SERVER_GRPC_PORT = 7999
10
11
  ROOTCANAL_PORT_CUTTLEFISH = 7300
11
12
 
@@ -16,53 +16,50 @@
16
16
  # Imports
17
17
  # -----------------------------------------------------------------------------
18
18
  from __future__ import annotations
19
+
19
20
  import asyncio
20
21
  import logging
21
22
  from typing import Optional, Union
22
23
 
23
24
  import click
24
25
 
26
+ import bumble.logging
25
27
  from bumble.a2dp import (
26
- make_audio_source_service_sdp_records,
27
- A2DP_SBC_CODEC_TYPE,
28
28
  A2DP_MPEG_2_4_AAC_CODEC_TYPE,
29
29
  A2DP_NON_A2DP_CODEC_TYPE,
30
+ A2DP_SBC_CODEC_TYPE,
30
31
  AacFrame,
31
- AacParser,
32
- AacPacketSource,
33
32
  AacMediaCodecInformation,
34
- SbcFrame,
35
- SbcParser,
36
- SbcPacketSource,
37
- SbcMediaCodecInformation,
33
+ AacPacketSource,
34
+ AacParser,
35
+ OpusMediaCodecInformation,
38
36
  OpusPacket,
39
- OpusParser,
40
37
  OpusPacketSource,
41
- OpusMediaCodecInformation,
38
+ OpusParser,
39
+ SbcFrame,
40
+ SbcMediaCodecInformation,
41
+ SbcPacketSource,
42
+ SbcParser,
43
+ make_audio_source_service_sdp_records,
42
44
  )
43
- from bumble.avrcp import Protocol as AvrcpProtocol
44
45
  from bumble.avdtp import (
45
- find_avdtp_service_with_connection,
46
46
  AVDTP_AUDIO_MEDIA_TYPE,
47
47
  AVDTP_DELAY_REPORTING_SERVICE_CATEGORY,
48
48
  MediaCodecCapabilities,
49
49
  MediaPacketPump,
50
- Protocol as AvdtpProtocol,
51
50
  )
51
+ from bumble.avdtp import Protocol as AvdtpProtocol
52
+ from bumble.avdtp import find_avdtp_service_with_connection
53
+ from bumble.avrcp import Protocol as AvrcpProtocol
52
54
  from bumble.colors import color
53
- from bumble.core import (
54
- AdvertisingData,
55
- ConnectionError as BumbleConnectionError,
56
- DeviceClass,
57
- PhysicalTransport,
58
- )
55
+ from bumble.core import AdvertisingData
56
+ from bumble.core import ConnectionError as BumbleConnectionError
57
+ from bumble.core import DeviceClass, PhysicalTransport
59
58
  from bumble.device import Connection, Device, DeviceConfiguration
60
- from bumble.hci import Address, HCI_CONNECTION_ALREADY_EXISTS_ERROR, HCI_Constant
59
+ from bumble.hci import HCI_CONNECTION_ALREADY_EXISTS_ERROR, Address, HCI_Constant
61
60
  from bumble.pairing import PairingConfig
62
61
  from bumble.transport import open_transport
63
62
  from bumble.utils import AsyncRunner
64
- import bumble.logging
65
-
66
63
 
67
64
  # -----------------------------------------------------------------------------
68
65
  # Logging
@@ -21,15 +21,10 @@ from typing import Optional
21
21
 
22
22
  import click
23
23
 
24
- from bumble.colors import color
25
- from bumble.device import Device, DeviceConfiguration, Connection
26
- from bumble import core
27
- from bumble import hci
28
- from bumble import rfcomm
29
- from bumble import transport
30
- from bumble import utils
31
24
  import bumble.logging
32
-
25
+ from bumble import core, hci, rfcomm, transport, utils
26
+ from bumble.colors import color
27
+ from bumble.device import Connection, Device, DeviceConfiguration
33
28
 
34
29
  # -----------------------------------------------------------------------------
35
30
  # Constants
@@ -16,16 +16,17 @@
16
16
  # Imports
17
17
  # -----------------------------------------------------------------------------
18
18
  import asyncio
19
+
19
20
  import click
20
21
 
22
+ import bumble.logging
23
+ from bumble import data_types
21
24
  from bumble.colors import color
22
- from bumble.device import Device
23
- from bumble.transport import open_transport
25
+ from bumble.device import Advertisement, Device
26
+ from bumble.hci import HCI_LE_1M_PHY, HCI_LE_CODED_PHY, Address, HCI_Constant
24
27
  from bumble.keys import JsonKeyStore
25
28
  from bumble.smp import AddressResolver
26
- from bumble.device import Advertisement
27
- from bumble.hci import Address, HCI_Constant, HCI_LE_1M_PHY, HCI_LE_CODED_PHY
28
- import bumble.logging
29
+ from bumble.transport import open_transport
29
30
 
30
31
 
31
32
  # -----------------------------------------------------------------------------
@@ -94,13 +95,22 @@ class AdvertisementPrinter:
94
95
  else:
95
96
  phy_info = ''
96
97
 
98
+ details = separator.join(
99
+ [
100
+ data_type.to_string(use_label=True)
101
+ for data_type in data_types.data_types_from_advertising_data(
102
+ advertisement.data
103
+ )
104
+ ]
105
+ )
106
+
97
107
  print(
98
108
  f'>>> {color(address, address_color)} '
99
109
  f'[{color(address_type_string, type_color)}]{address_qualifier}'
100
110
  f'{resolution_qualifier}:{separator}'
101
111
  f'{phy_info}'
102
112
  f'RSSI:{advertisement.rssi:4} {rssi_bar}{separator}'
103
- f'{advertisement.data.to_string(separator)}\n'
113
+ f'{details}\n'
104
114
  )
105
115
 
106
116
  def on_advertisement(self, advertisement):
@@ -22,12 +22,11 @@ import struct
22
22
 
23
23
  import click
24
24
 
25
- from bumble.colors import color
25
+ import bumble.logging
26
26
  from bumble import hci
27
- from bumble.transport.common import PacketReader
27
+ from bumble.colors import color
28
28
  from bumble.helpers import PacketTracer
29
- import bumble.logging
30
-
29
+ from bumble.transport.common import PacketReader
31
30
 
32
31
  # -----------------------------------------------------------------------------
33
32
  # Logging