C/C++ API Reference
Loading...
Searching...
No Matches
Modules
The Pigweed C/C++ API is grouped by Pigweed modules. If you're looking for something specific, but can't remember what Pigweed module it belongs to, try searching for it by name.
[detail level 1234]
 Pw_spi
 Pw_trace_tokenzed
 pw_alignmentNatural object alignment, guaranteed
 pw_allocatorFlexible, safe, and measurable memory allocation
 pw_analogAnalog-to-digital converter libraries and utilities
 pw_asyncPortable APIs for asynchronous code
 pw_async2Cooperative async tasks for embedded
 pw_async_basic
 pw_base64Base64 encoding, decoding, and validating
 pw_bloatUtilities for generating binary size reports
 pw_bluetoothHost-layer Bluetooth Low Energy APIs and utilities
 pw_bluetooth_proxyLightweight proxy for augmenting Bluetooth functionality
 pw_bluetooth_sapphireBattle-tested Bluetooth with rock-solid reliability
 pw_buildIntegrations for Bazel, GN, and CMake
 pw_bytesUtilities for manipulating binary data
 pw_channelAsync, zero-copy API for sending and receiving bytes or datagrams
 pw_chreAndroid Context Hub Runtime Environment backend
 pw_chronoPortable std::chrono for constrained embedded devices
 pw_clock_treeClock tree management for embedded devices
 pw_clock_tree_mcuxpressoNXP MCUXpresso SDK implementation for pw_clock_tree
 pw_containersGeneric collections of objects for embedded devices
 pw_crypto
 pw_digital_ioDigital I/O interface
 pw_digital_io_mcuxpressoDigital I/O for NXP MCUXpresso
 pw_displayGraphic display support and framebuffer management
 pw_elfELF file support
 pw_functionEmbedded-friendly std::function
 pw_hdlcSimple, robust, and efficient serial communication
 pw_hex_dumpHandy hexdump utilities
 pw_i2cCross-platform I2C API with interactive debugging
 pw_i2c_linuxLinux userspace implementation for pw_i2c
 pw_i2c_zephyrZephyr implementation for pw_i2c
 pw_interruptInterrupt handling utilities for embedded systems
 pw_jsonSimple, efficient C++ JSON serialization
 pw_kvsLightweight, persistent key-value store
 pw_logRobust and portable logging for embedded projects
 pw_log_string
 pw_log_tokenized
 pw_mallocReplacement interface for standard libc dynamic memory operations
 pw_multibufA buffer API optimized for zero-copy messaging
 pw_numericEfficient mathematical utilities for embedded
 pw_perf_testMicro-benchmarks that are easy to write and run
 pw_persistent_ram
 pw_polyfill
 pw_preprocessorHelpful preprocessor macros
 pw_protobufExpressive interface for encoding and decoding protocol buffers
 pw_random
 pw_resultError propagation primitives: value-or-error
 pw_rpcEfficient, low-code-size RPC system for embedded devices
 pw_spanStd::span for C++17
 pw_statusException-free error propagation for embedded
 pw_streamA foundational interface for streaming data
 pw_stream_uart_linuxUART stream implementation for Linux
 pw_stringEfficient, easy, and safe string manipulation
 pw_sync
 pw_sys_io
 pw_system
 pw_thread
 pw_tokenizerCompress strings to shrink logs by +75%
 pw_toolchainEmbedded toolchains for GN-based Pigweed projects
 pw_trace_tokenized
 pw_transfer
 pw_uartCore interfaces for UART communication
 pw_unit_testGoogleTest for embedded
 pw_uuid128-bit universally unique identifier (UUID)
 pw_varintFunctions for encoding and decoding variable length integers
 pw_work_queue
 third-partyAPI integrations with third-party software e.g. FreeRTOS