Copybara import of Pigweed

Changes 85e5a3d8..6064e898 (some omitted):

  6064e898  pw_sync_zephyr: Add TimedMutex support
  e1790a42  sphinx: Remove Breathe
  e8bd77bc  doxygen: Migrate pw_unit_test
  ab984b41  pw_async2: Setup codelab step 4
  ec6457c5  pw_string: Fix public dependency
  582b8de3  pw_ide: Handle changes to bazel-out path and rm arch arg
  30243143  pw_ide: Make python version of compile commands generator default
  43af0b55  pw_metric: Fix and refactor PwpbMetricWriter
  cc564f65  pw_ide: Rename Bazel aspect
  0936e293  pw_async2: Use PendableFor in the async queue coro example
  a55756c9  doxygen: Migrate pw_bytes
  e706435b  doxygen: Migrate pw_protobuf
  4d20164e  pw_build_info: Improve read_build_id_from_section()
  2cc09814  pw_kernel: Eliminate `PMP_CFG_ENTRIES`

GitOrigin-RevId: 6064e898ad031ddd1ec523d9c9d2ac8ee729c9ae
Change-Id: Ia535aef0d588dd4274431b84404c469d5dfe02ab
79 files changed
tree: 09eba2283f4e21864daffcf2d90ad1150c4c5a9c
  1. .allstar/
  2. .gemini/
  3. .github/
  4. .vscode/
  5. build_overrides/
  6. docker/
  7. docs/
  8. kudzu/
  9. pw_alignment/
  10. pw_allocator/
  11. pw_analog/
  12. pw_android_toolchain/
  13. pw_arduino_build/
  14. pw_assert/
  15. pw_assert_basic/
  16. pw_assert_fuchsia/
  17. pw_assert_log/
  18. pw_assert_tokenized/
  19. pw_assert_trap/
  20. pw_assert_zephyr/
  21. pw_async/
  22. pw_async2/
  23. pw_async2_basic/
  24. pw_async2_epoll/
  25. pw_async_basic/
  26. pw_async_fuchsia/
  27. pw_atomic/
  28. pw_base64/
  29. pw_bloat/
  30. pw_blob_store/
  31. pw_bluetooth/
  32. pw_bluetooth_hci/
  33. pw_bluetooth_profiles/
  34. pw_bluetooth_proxy/
  35. pw_bluetooth_sapphire/
  36. pw_boot/
  37. pw_boot_cortex_m/
  38. pw_build/
  39. pw_build_android/
  40. pw_build_info/
  41. pw_build_mcuxpresso/
  42. pw_bytes/
  43. pw_change/
  44. pw_channel/
  45. pw_checksum/
  46. pw_chre/
  47. pw_chrono/
  48. pw_chrono_embos/
  49. pw_chrono_freertos/
  50. pw_chrono_rp2040/
  51. pw_chrono_stl/
  52. pw_chrono_threadx/
  53. pw_chrono_zephyr/
  54. pw_cli/
  55. pw_cli_analytics/
  56. pw_clock_tree/
  57. pw_clock_tree_mcuxpresso/
  58. pw_compilation_testing/
  59. pw_config_loader/
  60. pw_console/
  61. pw_containers/
  62. pw_cpu_exception/
  63. pw_cpu_exception_cortex_m/
  64. pw_cpu_exception_risc_v/
  65. pw_crypto/
  66. pw_digital_io/
  67. pw_digital_io_linux/
  68. pw_digital_io_mcuxpresso/
  69. pw_digital_io_rp2040/
  70. pw_digital_io_zephyr/
  71. pw_display/
  72. pw_dma_mcuxpresso/
  73. pw_docgen/
  74. pw_doctor/
  75. pw_elf/
  76. pw_emu/
  77. pw_env_setup/
  78. pw_env_setup_zephyr/
  79. pw_file/
  80. pw_flatbuffers/
  81. pw_format/
  82. pw_function/
  83. pw_fuzzer/
  84. pw_grpc/
  85. pw_hdlc/
  86. pw_hex_dump/
  87. pw_i2c/
  88. pw_i2c_linux/
  89. pw_i2c_mcuxpresso/
  90. pw_i2c_rp2040/
  91. pw_i2c_zephyr/
  92. pw_ide/
  93. pw_interrupt/
  94. pw_interrupt_cortex_m/
  95. pw_interrupt_freertos/
  96. pw_interrupt_zephyr/
  97. pw_intrusive_ptr/
  98. pw_json/
  99. pw_kernel/
  100. pw_kvs/
  101. pw_libc/
  102. pw_libcxx/
  103. pw_log/
  104. pw_log_android/
  105. pw_log_basic/
  106. pw_log_fuchsia/
  107. pw_log_null/
  108. pw_log_rpc/
  109. pw_log_string/
  110. pw_log_tokenized/
  111. pw_log_zephyr/
  112. pw_malloc/
  113. pw_malloc_freelist/
  114. pw_malloc_freertos/
  115. pw_metric/
  116. pw_minimal_cpp_stdlib/
  117. pw_module/
  118. pw_multibuf/
  119. pw_multisink/
  120. pw_numeric/
  121. pw_package/
  122. pw_perf_test/
  123. pw_persistent_ram/
  124. pw_polyfill/
  125. pw_preprocessor/
  126. pw_presubmit/
  127. pw_protobuf/
  128. pw_protobuf_compiler/
  129. pw_random/
  130. pw_random_fuchsia/
  131. pw_result/
  132. pw_ring_buffer/
  133. pw_router/
  134. pw_rpc/
  135. pw_rpc_transport/
  136. pw_rust/
  137. pw_sensor/
  138. pw_snapshot/
  139. pw_software_update/
  140. pw_span/
  141. pw_spi/
  142. pw_spi_linux/
  143. pw_spi_mcuxpresso/
  144. pw_spi_rp2040/
  145. pw_status/
  146. pw_stm32cube_build/
  147. pw_stream/
  148. pw_stream_shmem_mcuxpresso/
  149. pw_stream_uart_linux/
  150. pw_stream_uart_mcuxpresso/
  151. pw_string/
  152. pw_symbolizer/
  153. pw_sync/
  154. pw_sync_baremetal/
  155. pw_sync_embos/
  156. pw_sync_freertos/
  157. pw_sync_stl/
  158. pw_sync_threadx/
  159. pw_sync_zephyr/
  160. pw_sys_io/
  161. pw_sys_io_ambiq_sdk/
  162. pw_sys_io_arduino/
  163. pw_sys_io_baremetal_lm3s6965evb/
  164. pw_sys_io_baremetal_stm32f429/
  165. pw_sys_io_emcraft_sf2/
  166. pw_sys_io_mcuxpresso/
  167. pw_sys_io_rp2040/
  168. pw_sys_io_stdio/
  169. pw_sys_io_stm32cube/
  170. pw_sys_io_zephyr/
  171. pw_system/
  172. pw_target_runner/
  173. pw_thread/
  174. pw_thread_embos/
  175. pw_thread_freertos/
  176. pw_thread_stl/
  177. pw_thread_threadx/
  178. pw_thread_zephyr/
  179. pw_tls_client/
  180. pw_tls_client_boringssl/
  181. pw_tls_client_mbedtls/
  182. pw_tokenizer/
  183. pw_toolchain/
  184. pw_trace/
  185. pw_trace_tokenized/
  186. pw_transfer/
  187. pw_uart/
  188. pw_uart_mcuxpresso/
  189. pw_unit_test/
  190. pw_uuid/
  191. pw_varint/
  192. pw_watch/
  193. pw_web/
  194. pw_work_queue/
  195. seed/
  196. targets/
  197. third_party/
  198. ts/
  199. zephyr/
  200. .bazelignore
  201. .bazelrc
  202. .bazelversion
  203. .black.toml
  204. .clang-format
  205. .clang-tidy
  206. .eslintrc.cjs
  207. .git-blame-ignore-revs
  208. .gitattributes
  209. .gitignore
  210. .gn
  211. .mypy.ini
  212. .prettierignore
  213. .prettierrc.cjs
  214. .pw_ide.yaml
  215. .pylintrc
  216. .ruff.toml
  217. activate.bat
  218. Android.bp
  219. AUTHORS
  220. bootstrap.bat
  221. bootstrap.fish
  222. bootstrap.sh
  223. BUILD.bazel
  224. BUILD.gn
  225. BUILDCONFIG.gn
  226. CMakeLists.txt
  227. GEMINI.md
  228. go.mod
  229. go.sum
  230. jest.config.ts
  231. Kconfig.zephyr
  232. LICENSE
  233. METADATA
  234. MODULE.bazel
  235. MODULE.bazel.lock
  236. MODULE_LICENSE_APACHE2
  237. modules.gni
  238. OWNERS
  239. package-lock.json
  240. package.json
  241. pigweed.json
  242. PIGWEED_MODULES
  243. pnpm-lock.yaml
  244. pw
  245. README.md
  246. REPO.bazel
  247. rollup-protos.config.js
  248. rollup.config.js
  249. rustfmt.toml
  250. tsconfig.json
  251. workflows.json
  252. 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