pw_tokenizer: Deprecate tokenizer buffer size config

pw_tokenizer no longer has any macros that stack-allocate a tokenization
buffer, so it does not need a config macro for this buffer size.

- Create a new config macro for pw_log_tokenized's stack-allocated
  buffer. Have it default to PW_TOKENIZER_CFG_ENCODING_BUFFER_SIZE_BYTES
  for backwards compatibility.
- Remove the kDefaultBase64EncodedBuffer size from pw_tokenizer, since
  there is no default buffer size in pw_tokenizer.
- Introduce pw_log_tokenized/base64.h that provides a function for
  encoding the pw_log_tokenized buffer as Base64.
- Switch base64_over_hdlc and pw_log_zephyr to use pw::InlineString for
  Base64 encoding.

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