pw_thread: Move pw::thread::Options to its own header

This makes it possible to work with Options without relying on the
thread facade.

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