pw_bluetooth_sapphire: Read ISO data buffer info on startup

When initializing a controller, if supported read the
controller's ISO data buffer configuration (# of buffers and max
size of each buffer), which will dictacte the behavior of the
IsochronousDataChannel object.

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