[bt][host] Add Inspect Elements for BR/EDR Secure Connections

* Add security_mode Inspectable to BrEdrConnectionManager
* Add encryption_status to PairingState's InspectProperties
* Add security_properties to LinkKey InspectProperties
* Add level, encrypted, secure_connections, authenticated, key_type to SecurityProperties' InspectProperties
* Add link_key to Peer::BrEdrData's InspectProperties
* Add AttachInspect for PairingState, SecurityProperties, LTK
* Update Unit Tests: BrEdrConnectionManagerTest.Inspect, PeerTest.InspectHierarchy
* Add Unit Tests: PairingStateTest.Inspect, UtilTest.LinkKeyTypeToString, TypesTest.InspectSecurityProperties

Test: fx test //src/connectivity/bluetooth/core/bt-host
Inspect Test:
* Setup OOBE: Paired to Nelson DUT from iOS device
* fx snapshot
* Uploaded snapshot to Fuchsia Snapshot Viewer

Change-Id: I1775eb02c7979d409ac9e1ea644ce9d4bedde7df
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/910829
Reviewed-by: Ben Lawson <benlawson@google.com>
Reviewed-by: Marie Janssen <jamuraa@google.com>
Commit-Queue: Lulu Wang <luluwang@google.com>
21 files changed
tree: e4753f75d183907f41227647527561a5873f0388
  1. .allstar/
  2. .vscode/
  3. build_overrides/
  4. docker/
  5. docs/
  6. kudzu/
  7. pw_alignment/
  8. pw_allocator/
  9. pw_analog/
  10. pw_android_toolchain/
  11. pw_arduino_build/
  12. pw_assert/
  13. pw_assert_basic/
  14. pw_assert_log/
  15. pw_assert_tokenized/
  16. pw_assert_zephyr/
  17. pw_async/
  18. pw_async_basic/
  19. pw_base64/
  20. pw_bloat/
  21. pw_blob_store/
  22. pw_bluetooth/
  23. pw_bluetooth_hci/
  24. pw_bluetooth_profiles/
  25. pw_bluetooth_sapphire/
  26. pw_boot/
  27. pw_boot_cortex_m/
  28. pw_build/
  29. pw_build_info/
  30. pw_build_mcuxpresso/
  31. pw_bytes/
  32. pw_checksum/
  33. pw_chre/
  34. pw_chrono/
  35. pw_chrono_embos/
  36. pw_chrono_freertos/
  37. pw_chrono_rp2040/
  38. pw_chrono_stl/
  39. pw_chrono_threadx/
  40. pw_chrono_zephyr/
  41. pw_cli/
  42. pw_compilation_testing/
  43. pw_console/
  44. pw_containers/
  45. pw_cpu_exception/
  46. pw_cpu_exception_cortex_m/
  47. pw_crypto/
  48. pw_digital_io/
  49. pw_digital_io_mcuxpresso/
  50. pw_digital_io_rp2040/
  51. pw_docgen/
  52. pw_doctor/
  53. pw_emu/
  54. pw_env_setup/
  55. pw_file/
  56. pw_format/
  57. pw_function/
  58. pw_fuzzer/
  59. pw_hdlc/
  60. pw_hex_dump/
  61. pw_i2c/
  62. pw_i2c_linux/
  63. pw_i2c_mcuxpresso/
  64. pw_ide/
  65. pw_interrupt/
  66. pw_interrupt_cortex_m/
  67. pw_interrupt_xtensa/
  68. pw_interrupt_zephyr/
  69. pw_intrusive_ptr/
  70. pw_kvs/
  71. pw_libc/
  72. pw_libcxx/
  73. pw_log/
  74. pw_log_android/
  75. pw_log_basic/
  76. pw_log_null/
  77. pw_log_rpc/
  78. pw_log_string/
  79. pw_log_tokenized/
  80. pw_log_zephyr/
  81. pw_malloc/
  82. pw_malloc_freelist/
  83. pw_metric/
  84. pw_minimal_cpp_stdlib/
  85. pw_module/
  86. pw_multibuf/
  87. pw_multisink/
  88. pw_package/
  89. pw_perf_test/
  90. pw_persistent_ram/
  91. pw_polyfill/
  92. pw_preprocessor/
  93. pw_presubmit/
  94. pw_protobuf/
  95. pw_protobuf_compiler/
  96. pw_random/
  97. pw_result/
  98. pw_ring_buffer/
  99. pw_router/
  100. pw_rpc/
  101. pw_rpc_transport/
  102. pw_rust/
  103. pw_snapshot/
  104. pw_software_update/
  105. pw_span/
  106. pw_spi/
  107. pw_spi_mcuxpresso/
  108. pw_status/
  109. pw_stm32cube_build/
  110. pw_stream/
  111. pw_stream_shmem_mcuxpresso/
  112. pw_stream_uart_linux/
  113. pw_stream_uart_mcuxpresso/
  114. pw_string/
  115. pw_symbolizer/
  116. pw_sync/
  117. pw_sync_baremetal/
  118. pw_sync_embos/
  119. pw_sync_freertos/
  120. pw_sync_stl/
  121. pw_sync_threadx/
  122. pw_sync_zephyr/
  123. pw_sys_io/
  124. pw_sys_io_ambiq_sdk/
  125. pw_sys_io_arduino/
  126. pw_sys_io_baremetal_lm3s6965evb/
  127. pw_sys_io_baremetal_stm32f429/
  128. pw_sys_io_emcraft_sf2/
  129. pw_sys_io_mcuxpresso/
  130. pw_sys_io_rp2040/
  131. pw_sys_io_stdio/
  132. pw_sys_io_stm32cube/
  133. pw_sys_io_zephyr/
  134. pw_system/
  135. pw_target_runner/
  136. pw_thread/
  137. pw_thread_embos/
  138. pw_thread_freertos/
  139. pw_thread_stl/
  140. pw_thread_threadx/
  141. pw_thread_zephyr/
  142. pw_tls_client/
  143. pw_tls_client_boringssl/
  144. pw_tls_client_mbedtls/
  145. pw_tokenizer/
  146. pw_tool/
  147. pw_toolchain/
  148. pw_toolchain_bazel/
  149. pw_trace/
  150. pw_trace_tokenized/
  151. pw_transfer/
  152. pw_unit_test/
  153. pw_unit_test_zephyr/
  154. pw_varint/
  155. pw_watch/
  156. pw_web/
  157. pw_work_queue/
  158. seed/
  159. targets/
  160. third_party/
  161. ts/
  162. zephyr/
  163. .bazelignore
  164. .bazelrc
  165. .black.toml
  166. .clang-format
  167. .clang-tidy
  168. .eslintrc.cjs
  169. .git-blame-ignore-revs
  170. .gitattributes
  171. .gitignore
  172. .gn
  173. .mypy.ini
  174. .prettierignore
  175. .prettierrc.cjs
  176. .pw_ide.yaml
  177. .pylintrc
  178. activate.bat
  179. Android.bp
  180. AUTHORS
  181. bootstrap.bat
  182. bootstrap.sh
  183. BUILD.bazel
  184. BUILD.gn
  185. BUILDCONFIG.gn
  186. CMakeLists.txt
  187. jest.config.ts
  188. Kconfig.zephyr
  189. LICENSE
  190. modules.gni
  191. OWNERS
  192. package-lock.json
  193. package.json
  194. pigweed.json
  195. PIGWEED_MODULES
  196. README.md
  197. rollup.config.js
  198. tsconfig.json
  199. WORKSPACE
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/.

Links