pw_bluetooth_hci: Adds basic HCI UART Transport Layer parser

Adds a basic Bluetooth 5.3 HCI Uart Transport Layer decoder that
invokes a callback for each HCI packet as supported by the HCI
UART Transport Layer.

Change-Id: Ie1172c2485b0f38fc0137852e9306f96ea004b4b
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/56222
Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
13 files changed
tree: 90ce8ae1098a61ec81d58b9f8a0eb79e0d927bbf
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_android_toolchain/
  7. pw_arduino_build/
  8. pw_assert/
  9. pw_assert_basic/
  10. pw_assert_log/
  11. pw_base64/
  12. pw_bloat/
  13. pw_blob_store/
  14. pw_bluetooth_hci/
  15. pw_boot/
  16. pw_boot_cortex_m/
  17. pw_build/
  18. pw_build_info/
  19. pw_bytes/
  20. pw_checksum/
  21. pw_chrono/
  22. pw_chrono_embos/
  23. pw_chrono_freertos/
  24. pw_chrono_stl/
  25. pw_chrono_threadx/
  26. pw_cli/
  27. pw_console/
  28. pw_containers/
  29. pw_cpu_exception/
  30. pw_cpu_exception_cortex_m/
  31. pw_crypto/
  32. pw_docgen/
  33. pw_doctor/
  34. pw_env_setup/
  35. pw_function/
  36. pw_fuzzer/
  37. pw_hdlc/
  38. pw_hex_dump/
  39. pw_i2c/
  40. pw_interrupt/
  41. pw_interrupt_cortex_m/
  42. pw_kvs/
  43. pw_libc/
  44. pw_log/
  45. pw_log_basic/
  46. pw_log_null/
  47. pw_log_rpc/
  48. pw_log_tokenized/
  49. pw_malloc/
  50. pw_malloc_freelist/
  51. pw_metric/
  52. pw_minimal_cpp_stdlib/
  53. pw_module/
  54. pw_multisink/
  55. pw_package/
  56. pw_persistent_ram/
  57. pw_polyfill/
  58. pw_preprocessor/
  59. pw_presubmit/
  60. pw_protobuf/
  61. pw_protobuf_compiler/
  62. pw_random/
  63. pw_result/
  64. pw_ring_buffer/
  65. pw_router/
  66. pw_rpc/
  67. pw_snapshot/
  68. pw_software_update/
  69. pw_span/
  70. pw_status/
  71. pw_stm32cube_build/
  72. pw_stream/
  73. pw_string/
  74. pw_symbolizer/
  75. pw_sync/
  76. pw_sync_baremetal/
  77. pw_sync_embos/
  78. pw_sync_freertos/
  79. pw_sync_stl/
  80. pw_sync_threadx/
  81. pw_sys_io/
  82. pw_sys_io_arduino/
  83. pw_sys_io_baremetal_lm3s6965evb/
  84. pw_sys_io_baremetal_stm32f429/
  85. pw_sys_io_stdio/
  86. pw_target_runner/
  87. pw_thread/
  88. pw_thread_embos/
  89. pw_thread_freertos/
  90. pw_thread_stl/
  91. pw_thread_threadx/
  92. pw_tls_client/
  93. pw_tls_client_boringssl/
  94. pw_tls_client_mbedtls/
  95. pw_tokenizer/
  96. pw_tool/
  97. pw_toolchain/
  98. pw_trace/
  99. pw_trace_tokenized/
  100. pw_transfer/
  101. pw_unit_test/
  102. pw_varint/
  103. pw_watch/
  104. pw_web_ui/
  105. pw_work_queue/
  106. targets/
  107. third_party/
  108. .bazelignore
  109. .bazelrc
  110. .clang-format
  111. .clang-tidy
  112. .eslintrc.json
  113. .gitattributes
  114. .gitignore
  115. .gn
  116. .prettierrc.js
  117. .pylintrc
  118. activate.bat
  119. AUTHORS
  120. bootstrap.bat
  121. bootstrap.sh
  122. BUILD.bazel
  123. BUILD.gn
  124. BUILDCONFIG.gn
  125. CMakeLists.txt
  126. LICENSE
  127. modules.gni
  128. OWNERS
  129. package.json
  130. PW_PLUGINS
  131. README.md
  132. tsconfig.json
  133. WORKSPACE
  134. yarn.lock
README.md

See our website: http://pigweed.dev