pw_format: Add support for core::fmt style format strings

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