1*61c4878aSAndroid Build Coastguard Worker{ 2*61c4878aSAndroid Build Coastguard Worker "pw_alignment": { 3*61c4878aSAndroid Build Coastguard Worker "tagline": "Natural object alignment, guaranteed", 4*61c4878aSAndroid Build Coastguard Worker "status": "stable", 5*61c4878aSAndroid Build Coastguard Worker "languages": [ 6*61c4878aSAndroid Build Coastguard Worker "C++17" 7*61c4878aSAndroid Build Coastguard Worker ] 8*61c4878aSAndroid Build Coastguard Worker }, 9*61c4878aSAndroid Build Coastguard Worker "pw_allocator": { 10*61c4878aSAndroid Build Coastguard Worker "tagline": "Flexible, safe, and measurable memory allocation", 11*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 12*61c4878aSAndroid Build Coastguard Worker "languages": [ 13*61c4878aSAndroid Build Coastguard Worker "C++17" 14*61c4878aSAndroid Build Coastguard Worker ], 15*61c4878aSAndroid Build Coastguard Worker "size": "400 to 1800 bytes" 16*61c4878aSAndroid Build Coastguard Worker }, 17*61c4878aSAndroid Build Coastguard Worker "pw_analog": { 18*61c4878aSAndroid Build Coastguard Worker "tagline": "Analog-to-digital converter libraries and utilities", 19*61c4878aSAndroid Build Coastguard Worker "status": "stable", 20*61c4878aSAndroid Build Coastguard Worker "languages": [ 21*61c4878aSAndroid Build Coastguard Worker "C++" 22*61c4878aSAndroid Build Coastguard Worker ] 23*61c4878aSAndroid Build Coastguard Worker }, 24*61c4878aSAndroid Build Coastguard Worker "pw_android_toolchain": { 25*61c4878aSAndroid Build Coastguard Worker "tagline": "GN toolchains for the Android NDK", 26*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 27*61c4878aSAndroid Build Coastguard Worker "languages": [ 28*61c4878aSAndroid Build Coastguard Worker "GN" 29*61c4878aSAndroid Build Coastguard Worker ] 30*61c4878aSAndroid Build Coastguard Worker }, 31*61c4878aSAndroid Build Coastguard Worker "pw_arduino_build": { 32*61c4878aSAndroid Build Coastguard Worker "tagline": "Main function wrapper and build utilities for Arduino", 33*61c4878aSAndroid Build Coastguard Worker "status": "stable", 34*61c4878aSAndroid Build Coastguard Worker "languages": [ 35*61c4878aSAndroid Build Coastguard Worker "C++", 36*61c4878aSAndroid Build Coastguard Worker "GN" 37*61c4878aSAndroid Build Coastguard Worker ] 38*61c4878aSAndroid Build Coastguard Worker }, 39*61c4878aSAndroid Build Coastguard Worker "pw_assert": { 40*61c4878aSAndroid Build Coastguard Worker "tagline": "Flexible crash triggering and handling", 41*61c4878aSAndroid Build Coastguard Worker "status": "stable", 42*61c4878aSAndroid Build Coastguard Worker "languages": [ 43*61c4878aSAndroid Build Coastguard Worker "C", 44*61c4878aSAndroid Build Coastguard Worker "C++" 45*61c4878aSAndroid Build Coastguard Worker ] 46*61c4878aSAndroid Build Coastguard Worker }, 47*61c4878aSAndroid Build Coastguard Worker "pw_assert_fuchsia": { 48*61c4878aSAndroid Build Coastguard Worker "tagline": "pw_assert backend for Fuchsia", 49*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 50*61c4878aSAndroid Build Coastguard Worker "languages": [ 51*61c4878aSAndroid Build Coastguard Worker "C", 52*61c4878aSAndroid Build Coastguard Worker "C++" 53*61c4878aSAndroid Build Coastguard Worker ] 54*61c4878aSAndroid Build Coastguard Worker }, 55*61c4878aSAndroid Build Coastguard Worker "pw_async": { 56*61c4878aSAndroid Build Coastguard Worker "tagline": "Portable APIs for asynchronous code", 57*61c4878aSAndroid Build Coastguard Worker "status": "deprecated", 58*61c4878aSAndroid Build Coastguard Worker "languages": [ 59*61c4878aSAndroid Build Coastguard Worker "C++" 60*61c4878aSAndroid Build Coastguard Worker ] 61*61c4878aSAndroid Build Coastguard Worker }, 62*61c4878aSAndroid Build Coastguard Worker "pw_async2": { 63*61c4878aSAndroid Build Coastguard Worker "tagline": "Cooperative async tasks for embedded", 64*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 65*61c4878aSAndroid Build Coastguard Worker "languages": [ 66*61c4878aSAndroid Build Coastguard Worker "C++17" 67*61c4878aSAndroid Build Coastguard Worker ] 68*61c4878aSAndroid Build Coastguard Worker }, 69*61c4878aSAndroid Build Coastguard Worker "pw_async_fuchsia": { 70*61c4878aSAndroid Build Coastguard Worker "tagline": "Fuchsia backend for pw_async", 71*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 72*61c4878aSAndroid Build Coastguard Worker "languages": [ 73*61c4878aSAndroid Build Coastguard Worker "C", 74*61c4878aSAndroid Build Coastguard Worker "C++" 75*61c4878aSAndroid Build Coastguard Worker ] 76*61c4878aSAndroid Build Coastguard Worker }, 77*61c4878aSAndroid Build Coastguard Worker "pw_base64": { 78*61c4878aSAndroid Build Coastguard Worker "tagline": "Base64 encoding, decoding, and validating", 79*61c4878aSAndroid Build Coastguard Worker "status": "stable", 80*61c4878aSAndroid Build Coastguard Worker "languages": [ 81*61c4878aSAndroid Build Coastguard Worker "C", 82*61c4878aSAndroid Build Coastguard Worker "C++", 83*61c4878aSAndroid Build Coastguard Worker "Rust" 84*61c4878aSAndroid Build Coastguard Worker ] 85*61c4878aSAndroid Build Coastguard Worker }, 86*61c4878aSAndroid Build Coastguard Worker "pw_bloat": { 87*61c4878aSAndroid Build Coastguard Worker "tagline": "Utilities for generating binary size reports", 88*61c4878aSAndroid Build Coastguard Worker "status": "stable", 89*61c4878aSAndroid Build Coastguard Worker "languages": [ 90*61c4878aSAndroid Build Coastguard Worker "C++", 91*61c4878aSAndroid Build Coastguard Worker "GN" 92*61c4878aSAndroid Build Coastguard Worker ] 93*61c4878aSAndroid Build Coastguard Worker }, 94*61c4878aSAndroid Build Coastguard Worker "pw_blob_store": { 95*61c4878aSAndroid Build Coastguard Worker "tagline": "Flash-backed persistent storage for data blobs", 96*61c4878aSAndroid Build Coastguard Worker "status": "stable", 97*61c4878aSAndroid Build Coastguard Worker "languages": [ 98*61c4878aSAndroid Build Coastguard Worker "C++" 99*61c4878aSAndroid Build Coastguard Worker ] 100*61c4878aSAndroid Build Coastguard Worker }, 101*61c4878aSAndroid Build Coastguard Worker "pw_bluetooth": { 102*61c4878aSAndroid Build Coastguard Worker "tagline": "Host-layer Bluetooth Low Energy APIs and utilities", 103*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 104*61c4878aSAndroid Build Coastguard Worker "languages": [ 105*61c4878aSAndroid Build Coastguard Worker "C++" 106*61c4878aSAndroid Build Coastguard Worker ] 107*61c4878aSAndroid Build Coastguard Worker }, 108*61c4878aSAndroid Build Coastguard Worker "pw_bluetooth_hci": { 109*61c4878aSAndroid Build Coastguard Worker "tagline": "Bluetooth Host Controller Interface utilities", 110*61c4878aSAndroid Build Coastguard Worker "status": "stable", 111*61c4878aSAndroid Build Coastguard Worker "languages": [ 112*61c4878aSAndroid Build Coastguard Worker "C++" 113*61c4878aSAndroid Build Coastguard Worker ] 114*61c4878aSAndroid Build Coastguard Worker }, 115*61c4878aSAndroid Build Coastguard Worker "pw_bluetooth_profiles": { 116*61c4878aSAndroid Build Coastguard Worker "tagline": "Bluetooth profiles built on top of pw_bluetooth", 117*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 118*61c4878aSAndroid Build Coastguard Worker "languages": [ 119*61c4878aSAndroid Build Coastguard Worker "C++" 120*61c4878aSAndroid Build Coastguard Worker ] 121*61c4878aSAndroid Build Coastguard Worker }, 122*61c4878aSAndroid Build Coastguard Worker "pw_bluetooth_proxy": { 123*61c4878aSAndroid Build Coastguard Worker "tagline": "Lightweight proxy for augmenting Bluetooth functionality", 124*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 125*61c4878aSAndroid Build Coastguard Worker "languages": [ 126*61c4878aSAndroid Build Coastguard Worker "C++17" 127*61c4878aSAndroid Build Coastguard Worker ] 128*61c4878aSAndroid Build Coastguard Worker }, 129*61c4878aSAndroid Build Coastguard Worker "pw_bluetooth_sapphire": { 130*61c4878aSAndroid Build Coastguard Worker "tagline": "Battle-tested Bluetooth with rock-solid reliability", 131*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 132*61c4878aSAndroid Build Coastguard Worker "size": "500 to 700 kB", 133*61c4878aSAndroid Build Coastguard Worker "languages": [ 134*61c4878aSAndroid Build Coastguard Worker "C++17" 135*61c4878aSAndroid Build Coastguard Worker ] 136*61c4878aSAndroid Build Coastguard Worker }, 137*61c4878aSAndroid Build Coastguard Worker "pw_boot": { 138*61c4878aSAndroid Build Coastguard Worker "tagline": "Simplified booting for C++ targets", 139*61c4878aSAndroid Build Coastguard Worker "status": "stable", 140*61c4878aSAndroid Build Coastguard Worker "languages": [ 141*61c4878aSAndroid Build Coastguard Worker "C++" 142*61c4878aSAndroid Build Coastguard Worker ] 143*61c4878aSAndroid Build Coastguard Worker }, 144*61c4878aSAndroid Build Coastguard Worker "pw_boot_cortex_m": { 145*61c4878aSAndroid Build Coastguard Worker "tagline": "ARM Cortex-M backend for pw_boot", 146*61c4878aSAndroid Build Coastguard Worker "status": "stable", 147*61c4878aSAndroid Build Coastguard Worker "languages": [ 148*61c4878aSAndroid Build Coastguard Worker "C", 149*61c4878aSAndroid Build Coastguard Worker "C++" 150*61c4878aSAndroid Build Coastguard Worker ] 151*61c4878aSAndroid Build Coastguard Worker }, 152*61c4878aSAndroid Build Coastguard Worker "pw_build": { 153*61c4878aSAndroid Build Coastguard Worker "tagline": "Integrations for Bazel, GN, and CMake", 154*61c4878aSAndroid Build Coastguard Worker "status": "stable", 155*61c4878aSAndroid Build Coastguard Worker "languages": [ 156*61c4878aSAndroid Build Coastguard Worker "Bazel", 157*61c4878aSAndroid Build Coastguard Worker "CMake", 158*61c4878aSAndroid Build Coastguard Worker "GN", 159*61c4878aSAndroid Build Coastguard Worker "Rust" 160*61c4878aSAndroid Build Coastguard Worker ] 161*61c4878aSAndroid Build Coastguard Worker }, 162*61c4878aSAndroid Build Coastguard Worker "pw_build_android": { 163*61c4878aSAndroid Build Coastguard Worker "tagline": "Utilities for using Pigweed in Android platform", 164*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 165*61c4878aSAndroid Build Coastguard Worker "languages": [ 166*61c4878aSAndroid Build Coastguard Worker "C++20" 167*61c4878aSAndroid Build Coastguard Worker ] 168*61c4878aSAndroid Build Coastguard Worker }, 169*61c4878aSAndroid Build Coastguard Worker "pw_build_info": { 170*61c4878aSAndroid Build Coastguard Worker "tagline": "Generate, embed, and parse build-related information", 171*61c4878aSAndroid Build Coastguard Worker "status": "stable", 172*61c4878aSAndroid Build Coastguard Worker "languages": [ 173*61c4878aSAndroid Build Coastguard Worker "Bazel", 174*61c4878aSAndroid Build Coastguard Worker "CMake", 175*61c4878aSAndroid Build Coastguard Worker "GN" 176*61c4878aSAndroid Build Coastguard Worker ] 177*61c4878aSAndroid Build Coastguard Worker }, 178*61c4878aSAndroid Build Coastguard Worker "pw_build_mcuxpresso": { 179*61c4878aSAndroid Build Coastguard Worker "tagline": "Utilities for building NXP MCUXpresso SDK targets", 180*61c4878aSAndroid Build Coastguard Worker "status": "stable", 181*61c4878aSAndroid Build Coastguard Worker "languages": [ 182*61c4878aSAndroid Build Coastguard Worker "Bazel", 183*61c4878aSAndroid Build Coastguard Worker "GN" 184*61c4878aSAndroid Build Coastguard Worker ] 185*61c4878aSAndroid Build Coastguard Worker }, 186*61c4878aSAndroid Build Coastguard Worker "pw_bytes": { 187*61c4878aSAndroid Build Coastguard Worker "tagline": "Utilities for manipulating binary data", 188*61c4878aSAndroid Build Coastguard Worker "status": "stable", 189*61c4878aSAndroid Build Coastguard Worker "languages": [ 190*61c4878aSAndroid Build Coastguard Worker "C++", 191*61c4878aSAndroid Build Coastguard Worker "Rust" 192*61c4878aSAndroid Build Coastguard Worker ] 193*61c4878aSAndroid Build Coastguard Worker }, 194*61c4878aSAndroid Build Coastguard Worker "pw_channel": { 195*61c4878aSAndroid Build Coastguard Worker "tagline": "Async, zero-copy API for sending and receiving bytes or datagrams", 196*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 197*61c4878aSAndroid Build Coastguard Worker "languages": [ 198*61c4878aSAndroid Build Coastguard Worker "C++" 199*61c4878aSAndroid Build Coastguard Worker ] 200*61c4878aSAndroid Build Coastguard Worker }, 201*61c4878aSAndroid Build Coastguard Worker "pw_checksum": { 202*61c4878aSAndroid Build Coastguard Worker "tagline": "Checksum calculation API", 203*61c4878aSAndroid Build Coastguard Worker "status": "stable", 204*61c4878aSAndroid Build Coastguard Worker "languages": [ 205*61c4878aSAndroid Build Coastguard Worker "C", 206*61c4878aSAndroid Build Coastguard Worker "C++" 207*61c4878aSAndroid Build Coastguard Worker ] 208*61c4878aSAndroid Build Coastguard Worker }, 209*61c4878aSAndroid Build Coastguard Worker "pw_chre": { 210*61c4878aSAndroid Build Coastguard Worker "tagline": "Android Context Hub Runtime Environment backend", 211*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 212*61c4878aSAndroid Build Coastguard Worker "languages": [ 213*61c4878aSAndroid Build Coastguard Worker "C++" 214*61c4878aSAndroid Build Coastguard Worker ] 215*61c4878aSAndroid Build Coastguard Worker }, 216*61c4878aSAndroid Build Coastguard Worker "pw_chrono": { 217*61c4878aSAndroid Build Coastguard Worker "tagline": "Portable std::chrono for constrained embedded devices", 218*61c4878aSAndroid Build Coastguard Worker "status": "stable", 219*61c4878aSAndroid Build Coastguard Worker "languages": [ 220*61c4878aSAndroid Build Coastguard Worker "C", 221*61c4878aSAndroid Build Coastguard Worker "C++" 222*61c4878aSAndroid Build Coastguard Worker ] 223*61c4878aSAndroid Build Coastguard Worker }, 224*61c4878aSAndroid Build Coastguard Worker "pw_cli": { 225*61c4878aSAndroid Build Coastguard Worker "tagline": "Enhance and accelerate custom command-line tooling", 226*61c4878aSAndroid Build Coastguard Worker "status": "stable", 227*61c4878aSAndroid Build Coastguard Worker "languages": [ 228*61c4878aSAndroid Build Coastguard Worker "Python" 229*61c4878aSAndroid Build Coastguard Worker ] 230*61c4878aSAndroid Build Coastguard Worker }, 231*61c4878aSAndroid Build Coastguard Worker "pw_clock_tree": { 232*61c4878aSAndroid Build Coastguard Worker "tagline": "Clock tree management for embedded devices", 233*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 234*61c4878aSAndroid Build Coastguard Worker "languages": [ 235*61c4878aSAndroid Build Coastguard Worker "C++17" 236*61c4878aSAndroid Build Coastguard Worker ] 237*61c4878aSAndroid Build Coastguard Worker }, 238*61c4878aSAndroid Build Coastguard Worker "pw_clock_tree_mcuxpresso": { 239*61c4878aSAndroid Build Coastguard Worker "tagline": "NXP MCUXpresso SDK implementation for pw_clock_tree", 240*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 241*61c4878aSAndroid Build Coastguard Worker "languages": [ 242*61c4878aSAndroid Build Coastguard Worker "C++17" 243*61c4878aSAndroid Build Coastguard Worker ] 244*61c4878aSAndroid Build Coastguard Worker }, 245*61c4878aSAndroid Build Coastguard Worker "pw_console": { 246*61c4878aSAndroid Build Coastguard Worker "tagline": "Multi-purpose pluggable interactive console for dev & manufacturing", 247*61c4878aSAndroid Build Coastguard Worker "status": "stable", 248*61c4878aSAndroid Build Coastguard Worker "size": "N/A (host) but works best with pw_rpc on-device", 249*61c4878aSAndroid Build Coastguard Worker "languages": [ 250*61c4878aSAndroid Build Coastguard Worker "Python" 251*61c4878aSAndroid Build Coastguard Worker ] 252*61c4878aSAndroid Build Coastguard Worker }, 253*61c4878aSAndroid Build Coastguard Worker "pw_digital_io_linux": { 254*61c4878aSAndroid Build Coastguard Worker "tagline": "Digital I/O interface for Linux userspace", 255*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 256*61c4878aSAndroid Build Coastguard Worker "languages": [ 257*61c4878aSAndroid Build Coastguard Worker "C++17" 258*61c4878aSAndroid Build Coastguard Worker ] 259*61c4878aSAndroid Build Coastguard Worker }, 260*61c4878aSAndroid Build Coastguard Worker "pw_display": { 261*61c4878aSAndroid Build Coastguard Worker "tagline": "Graphic display support and framebuffer management", 262*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 263*61c4878aSAndroid Build Coastguard Worker "languages": [] 264*61c4878aSAndroid Build Coastguard Worker }, 265*61c4878aSAndroid Build Coastguard Worker "pw_dma_mcuxpresso": { 266*61c4878aSAndroid Build Coastguard Worker "tagline": "DMA helpers for MCUXpresso SDK", 267*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 268*61c4878aSAndroid Build Coastguard Worker "languages": [ 269*61c4878aSAndroid Build Coastguard Worker "C++17" 270*61c4878aSAndroid Build Coastguard Worker ] 271*61c4878aSAndroid Build Coastguard Worker }, 272*61c4878aSAndroid Build Coastguard Worker "pw_docgen": { 273*61c4878aSAndroid Build Coastguard Worker "tagline": "Documentation generator for Pigweed-based projects", 274*61c4878aSAndroid Build Coastguard Worker "status": "stable", 275*61c4878aSAndroid Build Coastguard Worker "languages": [ 276*61c4878aSAndroid Build Coastguard Worker "GN" 277*61c4878aSAndroid Build Coastguard Worker ] 278*61c4878aSAndroid Build Coastguard Worker }, 279*61c4878aSAndroid Build Coastguard Worker "pw_elf": { 280*61c4878aSAndroid Build Coastguard Worker "tagline": "ELF file support", 281*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 282*61c4878aSAndroid Build Coastguard Worker "languages": [ 283*61c4878aSAndroid Build Coastguard Worker "C++17" 284*61c4878aSAndroid Build Coastguard Worker ] 285*61c4878aSAndroid Build Coastguard Worker }, 286*61c4878aSAndroid Build Coastguard Worker "pw_emu": { 287*61c4878aSAndroid Build Coastguard Worker "tagline": "Flexible emulators frontend", 288*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 289*61c4878aSAndroid Build Coastguard Worker "languages": [ 290*61c4878aSAndroid Build Coastguard Worker "Python", 291*61c4878aSAndroid Build Coastguard Worker "CLI" 292*61c4878aSAndroid Build Coastguard Worker ] 293*61c4878aSAndroid Build Coastguard Worker }, 294*61c4878aSAndroid Build Coastguard Worker "pw_env_setup_zephyr": { 295*61c4878aSAndroid Build Coastguard Worker "tagline": "Zephyr utilities", 296*61c4878aSAndroid Build Coastguard Worker "status": "experimental" 297*61c4878aSAndroid Build Coastguard Worker }, 298*61c4878aSAndroid Build Coastguard Worker "pw_format": { 299*61c4878aSAndroid Build Coastguard Worker "tagline": "String formatting", 300*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 301*61c4878aSAndroid Build Coastguard Worker "languages": [ 302*61c4878aSAndroid Build Coastguard Worker "Rust" 303*61c4878aSAndroid Build Coastguard Worker ] 304*61c4878aSAndroid Build Coastguard Worker }, 305*61c4878aSAndroid Build Coastguard Worker "pw_function": { 306*61c4878aSAndroid Build Coastguard Worker "tagline": "Embedded-friendly std::function", 307*61c4878aSAndroid Build Coastguard Worker "status": "stable", 308*61c4878aSAndroid Build Coastguard Worker "languages": [ 309*61c4878aSAndroid Build Coastguard Worker "C++17" 310*61c4878aSAndroid Build Coastguard Worker ] 311*61c4878aSAndroid Build Coastguard Worker }, 312*61c4878aSAndroid Build Coastguard Worker "pw_fuzzer": { 313*61c4878aSAndroid Build Coastguard Worker "tagline": "Better C++ code through easier fuzzing", 314*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 315*61c4878aSAndroid Build Coastguard Worker "languages": [ 316*61c4878aSAndroid Build Coastguard Worker "C++17", 317*61c4878aSAndroid Build Coastguard Worker "C++20" 318*61c4878aSAndroid Build Coastguard Worker ] 319*61c4878aSAndroid Build Coastguard Worker }, 320*61c4878aSAndroid Build Coastguard Worker "pw_grpc": { 321*61c4878aSAndroid Build Coastguard Worker "tagline": "pw_rpc over gRPC", 322*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 323*61c4878aSAndroid Build Coastguard Worker "languages": [ 324*61c4878aSAndroid Build Coastguard Worker "C++17", 325*61c4878aSAndroid Build Coastguard Worker "C++20" 326*61c4878aSAndroid Build Coastguard Worker ] 327*61c4878aSAndroid Build Coastguard Worker }, 328*61c4878aSAndroid Build Coastguard Worker "pw_hdlc": { 329*61c4878aSAndroid Build Coastguard Worker "tagline": "Simple, robust, and efficient serial communication", 330*61c4878aSAndroid Build Coastguard Worker "status": "stable", 331*61c4878aSAndroid Build Coastguard Worker "size": "1400 to 2600 bytes", 332*61c4878aSAndroid Build Coastguard Worker "languages": [ 333*61c4878aSAndroid Build Coastguard Worker "Python", 334*61c4878aSAndroid Build Coastguard Worker "C++17", 335*61c4878aSAndroid Build Coastguard Worker "TypeScript" 336*61c4878aSAndroid Build Coastguard Worker ] 337*61c4878aSAndroid Build Coastguard Worker }, 338*61c4878aSAndroid Build Coastguard Worker "pw_hex_dump": { 339*61c4878aSAndroid Build Coastguard Worker "tagline": "Handy hexdump utilities", 340*61c4878aSAndroid Build Coastguard Worker "status": "stable", 341*61c4878aSAndroid Build Coastguard Worker "languages": [ 342*61c4878aSAndroid Build Coastguard Worker "C++17" 343*61c4878aSAndroid Build Coastguard Worker ] 344*61c4878aSAndroid Build Coastguard Worker }, 345*61c4878aSAndroid Build Coastguard Worker "pw_i2c": { 346*61c4878aSAndroid Build Coastguard Worker "tagline": "Cross-platform I2C API with interactive debugging", 347*61c4878aSAndroid Build Coastguard Worker "status": "stable", 348*61c4878aSAndroid Build Coastguard Worker "languages": [ 349*61c4878aSAndroid Build Coastguard Worker "C++17" 350*61c4878aSAndroid Build Coastguard Worker ] 351*61c4878aSAndroid Build Coastguard Worker }, 352*61c4878aSAndroid Build Coastguard Worker "pw_i2c_linux": { 353*61c4878aSAndroid Build Coastguard Worker "tagline": "Linux userspace implementation for pw_i2c", 354*61c4878aSAndroid Build Coastguard Worker "status": "stable", 355*61c4878aSAndroid Build Coastguard Worker "languages": [ 356*61c4878aSAndroid Build Coastguard Worker "C++17" 357*61c4878aSAndroid Build Coastguard Worker ] 358*61c4878aSAndroid Build Coastguard Worker }, 359*61c4878aSAndroid Build Coastguard Worker "pw_i2c_mcuxpresso": { 360*61c4878aSAndroid Build Coastguard Worker "tagline": "NXP MCUXpresso SDK implementation for pw_i2c", 361*61c4878aSAndroid Build Coastguard Worker "status": "stable", 362*61c4878aSAndroid Build Coastguard Worker "languages": [ 363*61c4878aSAndroid Build Coastguard Worker "C++17" 364*61c4878aSAndroid Build Coastguard Worker ] 365*61c4878aSAndroid Build Coastguard Worker }, 366*61c4878aSAndroid Build Coastguard Worker "pw_i2c_rp2040": { 367*61c4878aSAndroid Build Coastguard Worker "tagline": "Raspberry Pi Pico SDK implementation for pw_i2c", 368*61c4878aSAndroid Build Coastguard Worker "status": "stable", 369*61c4878aSAndroid Build Coastguard Worker "languages": [ 370*61c4878aSAndroid Build Coastguard Worker "C++17" 371*61c4878aSAndroid Build Coastguard Worker ] 372*61c4878aSAndroid Build Coastguard Worker }, 373*61c4878aSAndroid Build Coastguard Worker "pw_ide": { 374*61c4878aSAndroid Build Coastguard Worker "tagline": "Code editor and IDE support for Pigweed projects", 375*61c4878aSAndroid Build Coastguard Worker "status": "stable", 376*61c4878aSAndroid Build Coastguard Worker "languages": [ 377*61c4878aSAndroid Build Coastguard Worker "C++", 378*61c4878aSAndroid Build Coastguard Worker "CLI", 379*61c4878aSAndroid Build Coastguard Worker "Python", 380*61c4878aSAndroid Build Coastguard Worker "VS Code" 381*61c4878aSAndroid Build Coastguard Worker ] 382*61c4878aSAndroid Build Coastguard Worker }, 383*61c4878aSAndroid Build Coastguard Worker "pw_json": { 384*61c4878aSAndroid Build Coastguard Worker "tagline": "Simple, efficient C++ JSON serialization", 385*61c4878aSAndroid Build Coastguard Worker "status": "stable", 386*61c4878aSAndroid Build Coastguard Worker "languages": [ 387*61c4878aSAndroid Build Coastguard Worker "C++17" 388*61c4878aSAndroid Build Coastguard Worker ] 389*61c4878aSAndroid Build Coastguard Worker }, 390*61c4878aSAndroid Build Coastguard Worker "pw_kvs": { 391*61c4878aSAndroid Build Coastguard Worker "tagline": "Lightweight, persistent key-value store", 392*61c4878aSAndroid Build Coastguard Worker "status": "stable", 393*61c4878aSAndroid Build Coastguard Worker "size": "~12 kB", 394*61c4878aSAndroid Build Coastguard Worker "languages": [ 395*61c4878aSAndroid Build Coastguard Worker "C++17" 396*61c4878aSAndroid Build Coastguard Worker ] 397*61c4878aSAndroid Build Coastguard Worker }, 398*61c4878aSAndroid Build Coastguard Worker "pw_log": { 399*61c4878aSAndroid Build Coastguard Worker "tagline": "Robust and portable logging for embedded projects", 400*61c4878aSAndroid Build Coastguard Worker "status": "stable", 401*61c4878aSAndroid Build Coastguard Worker "languages": [ 402*61c4878aSAndroid Build Coastguard Worker "C++", 403*61c4878aSAndroid Build Coastguard Worker "Java", 404*61c4878aSAndroid Build Coastguard Worker "Python", 405*61c4878aSAndroid Build Coastguard Worker "Rust" 406*61c4878aSAndroid Build Coastguard Worker ] 407*61c4878aSAndroid Build Coastguard Worker }, 408*61c4878aSAndroid Build Coastguard Worker "pw_log_android": { 409*61c4878aSAndroid Build Coastguard Worker "tagline": "Android logging backend", 410*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 411*61c4878aSAndroid Build Coastguard Worker "languages": [ 412*61c4878aSAndroid Build Coastguard Worker "C++" 413*61c4878aSAndroid Build Coastguard Worker ] 414*61c4878aSAndroid Build Coastguard Worker }, 415*61c4878aSAndroid Build Coastguard Worker "pw_log_fuchsia": { 416*61c4878aSAndroid Build Coastguard Worker "tagline": "Fuchsia logging backend", 417*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 418*61c4878aSAndroid Build Coastguard Worker "languages": [ 419*61c4878aSAndroid Build Coastguard Worker "C", 420*61c4878aSAndroid Build Coastguard Worker "C++" 421*61c4878aSAndroid Build Coastguard Worker ] 422*61c4878aSAndroid Build Coastguard Worker }, 423*61c4878aSAndroid Build Coastguard Worker "pw_malloc": { 424*61c4878aSAndroid Build Coastguard Worker "tagline": "Replacement interface for standard libc dynamic memory operations", 425*61c4878aSAndroid Build Coastguard Worker "status": "stable", 426*61c4878aSAndroid Build Coastguard Worker "languages": [ 427*61c4878aSAndroid Build Coastguard Worker "C", 428*61c4878aSAndroid Build Coastguard Worker "C++" 429*61c4878aSAndroid Build Coastguard Worker ] 430*61c4878aSAndroid Build Coastguard Worker }, 431*61c4878aSAndroid Build Coastguard Worker "pw_multibuf": { 432*61c4878aSAndroid Build Coastguard Worker "tagline": "A buffer API optimized for zero-copy messaging", 433*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 434*61c4878aSAndroid Build Coastguard Worker "languages": [ 435*61c4878aSAndroid Build Coastguard Worker "C++17" 436*61c4878aSAndroid Build Coastguard Worker ] 437*61c4878aSAndroid Build Coastguard Worker }, 438*61c4878aSAndroid Build Coastguard Worker "pw_numeric": { 439*61c4878aSAndroid Build Coastguard Worker "tagline": "Efficient mathematical utilities for embedded", 440*61c4878aSAndroid Build Coastguard Worker "status": "stable", 441*61c4878aSAndroid Build Coastguard Worker "languages": [ 442*61c4878aSAndroid Build Coastguard Worker "C++" 443*61c4878aSAndroid Build Coastguard Worker ] 444*61c4878aSAndroid Build Coastguard Worker }, 445*61c4878aSAndroid Build Coastguard Worker "pw_perf_test": { 446*61c4878aSAndroid Build Coastguard Worker "tagline": "Micro-benchmarks that are easy to write and run", 447*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 448*61c4878aSAndroid Build Coastguard Worker "languages": [ 449*61c4878aSAndroid Build Coastguard Worker "C++17" 450*61c4878aSAndroid Build Coastguard Worker ] 451*61c4878aSAndroid Build Coastguard Worker }, 452*61c4878aSAndroid Build Coastguard Worker "pw_preprocessor": { 453*61c4878aSAndroid Build Coastguard Worker "tagline": "Helpful preprocessor macros", 454*61c4878aSAndroid Build Coastguard Worker "status": "stable", 455*61c4878aSAndroid Build Coastguard Worker "languages": [ 456*61c4878aSAndroid Build Coastguard Worker "C", 457*61c4878aSAndroid Build Coastguard Worker "C++" 458*61c4878aSAndroid Build Coastguard Worker ] 459*61c4878aSAndroid Build Coastguard Worker }, 460*61c4878aSAndroid Build Coastguard Worker "pw_presubmit": { 461*61c4878aSAndroid Build Coastguard Worker "tagline": "Python tools for running presubmit checks and linters", 462*61c4878aSAndroid Build Coastguard Worker "status": "stable", 463*61c4878aSAndroid Build Coastguard Worker "languages": [ 464*61c4878aSAndroid Build Coastguard Worker "Python" 465*61c4878aSAndroid Build Coastguard Worker ] 466*61c4878aSAndroid Build Coastguard Worker }, 467*61c4878aSAndroid Build Coastguard Worker "pw_protobuf": { 468*61c4878aSAndroid Build Coastguard Worker "tagline": "Expressive interface for encoding and decoding protocol buffers", 469*61c4878aSAndroid Build Coastguard Worker "status": "stable", 470*61c4878aSAndroid Build Coastguard Worker "languages": [ 471*61c4878aSAndroid Build Coastguard Worker "C++" 472*61c4878aSAndroid Build Coastguard Worker ] 473*61c4878aSAndroid Build Coastguard Worker }, 474*61c4878aSAndroid Build Coastguard Worker "pw_random_fuchsia": { 475*61c4878aSAndroid Build Coastguard Worker "tagline": "Fuchsia implementation of pw_random", 476*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 477*61c4878aSAndroid Build Coastguard Worker "languages": [] 478*61c4878aSAndroid Build Coastguard Worker }, 479*61c4878aSAndroid Build Coastguard Worker "pw_result": { 480*61c4878aSAndroid Build Coastguard Worker "tagline": "Error propagation primitives: value-or-error", 481*61c4878aSAndroid Build Coastguard Worker "status": "stable", 482*61c4878aSAndroid Build Coastguard Worker "languages": [ 483*61c4878aSAndroid Build Coastguard Worker "C++17" 484*61c4878aSAndroid Build Coastguard Worker ] 485*61c4878aSAndroid Build Coastguard Worker }, 486*61c4878aSAndroid Build Coastguard Worker "pw_router": { 487*61c4878aSAndroid Build Coastguard Worker "tagline": "Transport-agnostic packet routing", 488*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 489*61c4878aSAndroid Build Coastguard Worker "languages": [ 490*61c4878aSAndroid Build Coastguard Worker "C++" 491*61c4878aSAndroid Build Coastguard Worker ] 492*61c4878aSAndroid Build Coastguard Worker }, 493*61c4878aSAndroid Build Coastguard Worker "pw_rpc": { 494*61c4878aSAndroid Build Coastguard Worker "tagline": "Efficient, low-code-size RPC system for embedded devices", 495*61c4878aSAndroid Build Coastguard Worker "status": "stable", 496*61c4878aSAndroid Build Coastguard Worker "languages": [ 497*61c4878aSAndroid Build Coastguard Worker "C++", 498*61c4878aSAndroid Build Coastguard Worker "Java", 499*61c4878aSAndroid Build Coastguard Worker "JavaScript", 500*61c4878aSAndroid Build Coastguard Worker "Python", 501*61c4878aSAndroid Build Coastguard Worker "TypeScript" 502*61c4878aSAndroid Build Coastguard Worker ] 503*61c4878aSAndroid Build Coastguard Worker }, 504*61c4878aSAndroid Build Coastguard Worker "pw_sensor": { 505*61c4878aSAndroid Build Coastguard Worker "tagline": "A modular way to see the world", 506*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 507*61c4878aSAndroid Build Coastguard Worker "languages": [ 508*61c4878aSAndroid Build Coastguard Worker "Python", 509*61c4878aSAndroid Build Coastguard Worker "C++17" 510*61c4878aSAndroid Build Coastguard Worker ] 511*61c4878aSAndroid Build Coastguard Worker }, 512*61c4878aSAndroid Build Coastguard Worker "pw_software_update": { 513*61c4878aSAndroid Build Coastguard Worker "tagline": "Secure software delivery", 514*61c4878aSAndroid Build Coastguard Worker "status": "experimental", 515*61c4878aSAndroid Build Coastguard Worker "languages": [ 516*61c4878aSAndroid Build Coastguard Worker "Python", 517*61c4878aSAndroid Build Coastguard Worker "C++17" 518*61c4878aSAndroid Build Coastguard Worker ] 519*61c4878aSAndroid Build Coastguard Worker }, 520*61c4878aSAndroid Build Coastguard Worker "pw_span": { 521*61c4878aSAndroid Build Coastguard Worker "tagline": "std::span for C++17", 522*61c4878aSAndroid Build Coastguard Worker "status": "stable", 523*61c4878aSAndroid Build Coastguard Worker "languages": [ 524*61c4878aSAndroid Build Coastguard Worker "C++17", 525*61c4878aSAndroid Build Coastguard Worker "C++20" 526*61c4878aSAndroid Build Coastguard Worker ] 527*61c4878aSAndroid Build Coastguard Worker }, 528*61c4878aSAndroid Build Coastguard Worker "pw_spi_linux": { 529*61c4878aSAndroid Build Coastguard Worker "tagline": "SPI interface for Linux userspace", 530*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 531*61c4878aSAndroid Build Coastguard Worker "languages": [ 532*61c4878aSAndroid Build Coastguard Worker "C++17", 533*61c4878aSAndroid Build Coastguard Worker "C++20" 534*61c4878aSAndroid Build Coastguard Worker ] 535*61c4878aSAndroid Build Coastguard Worker }, 536*61c4878aSAndroid Build Coastguard Worker "pw_spi_rp2040": { 537*61c4878aSAndroid Build Coastguard Worker "tagline": "Raspberry Pi RP2040 backend for pw_spi", 538*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 539*61c4878aSAndroid Build Coastguard Worker "languages": [ 540*61c4878aSAndroid Build Coastguard Worker "C++" 541*61c4878aSAndroid Build Coastguard Worker ] 542*61c4878aSAndroid Build Coastguard Worker }, 543*61c4878aSAndroid Build Coastguard Worker "pw_status": { 544*61c4878aSAndroid Build Coastguard Worker "tagline": "Exception-free error propagation for embedded", 545*61c4878aSAndroid Build Coastguard Worker "status": "stable", 546*61c4878aSAndroid Build Coastguard Worker "languages": [ 547*61c4878aSAndroid Build Coastguard Worker "C++17", 548*61c4878aSAndroid Build Coastguard Worker "C", 549*61c4878aSAndroid Build Coastguard Worker "Python", 550*61c4878aSAndroid Build Coastguard Worker "Java", 551*61c4878aSAndroid Build Coastguard Worker "TypeScript", 552*61c4878aSAndroid Build Coastguard Worker "Rust" 553*61c4878aSAndroid Build Coastguard Worker ] 554*61c4878aSAndroid Build Coastguard Worker }, 555*61c4878aSAndroid Build Coastguard Worker "pw_stream": { 556*61c4878aSAndroid Build Coastguard Worker "tagline": "A foundational interface for streaming data", 557*61c4878aSAndroid Build Coastguard Worker "status": "stable", 558*61c4878aSAndroid Build Coastguard Worker "languages": [ 559*61c4878aSAndroid Build Coastguard Worker "C++", 560*61c4878aSAndroid Build Coastguard Worker "Rust" 561*61c4878aSAndroid Build Coastguard Worker ] 562*61c4878aSAndroid Build Coastguard Worker }, 563*61c4878aSAndroid Build Coastguard Worker "pw_string": { 564*61c4878aSAndroid Build Coastguard Worker "tagline": "Efficient, easy, and safe string manipulation", 565*61c4878aSAndroid Build Coastguard Worker "status": "stable", 566*61c4878aSAndroid Build Coastguard Worker "size": "500 to 1500 bytes", 567*61c4878aSAndroid Build Coastguard Worker "languages": [ 568*61c4878aSAndroid Build Coastguard Worker "C++17" 569*61c4878aSAndroid Build Coastguard Worker ] 570*61c4878aSAndroid Build Coastguard Worker }, 571*61c4878aSAndroid Build Coastguard Worker "pw_target_runner": { 572*61c4878aSAndroid Build Coastguard Worker "tagline": "gRPC server for running executables in parallel", 573*61c4878aSAndroid Build Coastguard Worker "status": "stable", 574*61c4878aSAndroid Build Coastguard Worker "languages": [ 575*61c4878aSAndroid Build Coastguard Worker "Go" 576*61c4878aSAndroid Build Coastguard Worker ] 577*61c4878aSAndroid Build Coastguard Worker }, 578*61c4878aSAndroid Build Coastguard Worker "pw_tokenizer": { 579*61c4878aSAndroid Build Coastguard Worker "tagline": "Compress strings to shrink logs by +75%", 580*61c4878aSAndroid Build Coastguard Worker "status": "stable", 581*61c4878aSAndroid Build Coastguard Worker "size": "50% reduction in log size", 582*61c4878aSAndroid Build Coastguard Worker "languages": [ 583*61c4878aSAndroid Build Coastguard Worker "C++", 584*61c4878aSAndroid Build Coastguard Worker "C11", 585*61c4878aSAndroid Build Coastguard Worker "Python", 586*61c4878aSAndroid Build Coastguard Worker "Rust", 587*61c4878aSAndroid Build Coastguard Worker "TypeScript", 588*61c4878aSAndroid Build Coastguard Worker "Java" 589*61c4878aSAndroid Build Coastguard Worker ] 590*61c4878aSAndroid Build Coastguard Worker }, 591*61c4878aSAndroid Build Coastguard Worker "pw_toolchain": { 592*61c4878aSAndroid Build Coastguard Worker "tagline": "Embedded toolchains for GN-based Pigweed projects", 593*61c4878aSAndroid Build Coastguard Worker "status": "stable", 594*61c4878aSAndroid Build Coastguard Worker "languages": [ 595*61c4878aSAndroid Build Coastguard Worker "GN" 596*61c4878aSAndroid Build Coastguard Worker ] 597*61c4878aSAndroid Build Coastguard Worker }, 598*61c4878aSAndroid Build Coastguard Worker "pw_toolchain_bazel": { 599*61c4878aSAndroid Build Coastguard Worker "tagline": "A modular toolkit for declaring C/C++ toolchains in Bazel", 600*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 601*61c4878aSAndroid Build Coastguard Worker "languages": [ 602*61c4878aSAndroid Build Coastguard Worker "Starlark" 603*61c4878aSAndroid Build Coastguard Worker ] 604*61c4878aSAndroid Build Coastguard Worker }, 605*61c4878aSAndroid Build Coastguard Worker "pw_uart": { 606*61c4878aSAndroid Build Coastguard Worker "tagline": "Core interfaces for UART communication", 607*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 608*61c4878aSAndroid Build Coastguard Worker "languages": [ 609*61c4878aSAndroid Build Coastguard Worker "C++" 610*61c4878aSAndroid Build Coastguard Worker ] 611*61c4878aSAndroid Build Coastguard Worker }, 612*61c4878aSAndroid Build Coastguard Worker "pw_uart_mcuxpresso": { 613*61c4878aSAndroid Build Coastguard Worker "tagline": "NXP MCUXpresso SDK implementation for pw_uart", 614*61c4878aSAndroid Build Coastguard Worker "status": "unstable", 615*61c4878aSAndroid Build Coastguard Worker "languages": [ 616*61c4878aSAndroid Build Coastguard Worker "C++" 617*61c4878aSAndroid Build Coastguard Worker ] 618*61c4878aSAndroid Build Coastguard Worker }, 619*61c4878aSAndroid Build Coastguard Worker "pw_unit_test": { 620*61c4878aSAndroid Build Coastguard Worker "tagline": "GoogleTest for embedded", 621*61c4878aSAndroid Build Coastguard Worker "status": "stable" 622*61c4878aSAndroid Build Coastguard Worker }, 623*61c4878aSAndroid Build Coastguard Worker "pw_varint": { 624*61c4878aSAndroid Build Coastguard Worker "tagline": "Functions for encoding and decoding variable length integers", 625*61c4878aSAndroid Build Coastguard Worker "status": "stable", 626*61c4878aSAndroid Build Coastguard Worker "languages": [ 627*61c4878aSAndroid Build Coastguard Worker "C", 628*61c4878aSAndroid Build Coastguard Worker "C++", 629*61c4878aSAndroid Build Coastguard Worker "Rust" 630*61c4878aSAndroid Build Coastguard Worker ] 631*61c4878aSAndroid Build Coastguard Worker }, 632*61c4878aSAndroid Build Coastguard Worker "pw_watch": { 633*61c4878aSAndroid Build Coastguard Worker "tagline": "Embedded development file system watcher", 634*61c4878aSAndroid Build Coastguard Worker "status": "stable" 635*61c4878aSAndroid Build Coastguard Worker } 636*61c4878aSAndroid Build Coastguard Worker} 637