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]
 FreeRTOS_application_functions
 Pw_bytes_endian
 Pw_rpc_channel_functions
 pw_alignmentNatural object alignment, guaranteed. Main docs: https://pigweed.dev/pw_alignment
 pw_allocatorFlexible, safe, and measurable memory allocation
 pw_analogAnalog-to-digital converter libraries and utilities. Main docs: https://pigweed.dev/pw_analog
 pw_asyncPortable APIs for asynchronous code. Main docs: https://pigweed.dev/pw_async
 pw_async2Cooperative async tasks for embedded
 pw_async_basicMain docs: https://pigweed.dev/pw_async_basic
 pw_base64Base64 encoding, decoding, and validating. Main docs: https://pigweed.dev/pw_base64
 pw_bloatUtilities for generating binary size reports. Main docs: https://pigweed.dev/pw_bloat
 pw_bluetoothHost-layer Bluetooth Low Energy APIs and utilities. Main docs: https://pigweed.dev/pw_bluetooth
 pw_bluetooth_proxyLightweight proxy for augmenting Bluetooth functionality. Main docs: https://pigweed.dev/pw_bluetooth_proxy
 pw_bluetooth_sapphireBattle-tested Bluetooth with rock-solid reliability. Main docs: https://pigweed.dev/pw_bluetooth_sapphire
 pw_buildIntegrations for Bazel, GN, and CMake. Main docs: https://pigweed.dev/pw_build
 pw_bytesUtilities for manipulating binary data. Main docs: https://pigweed.dev/pw_bytes
 pw_channelAsync, zero-copy API for sending and receiving bytes or datagrams. Main docs: https://pigweed.dev/pw_channel
 pw_chreAndroid Context Hub Runtime Environment backend. Main docs: https://pigweed.dev/pw_chre
 pw_chronoPortable std::chrono for constrained embedded devices. Main docs: https://pigweed.dev/pw_chrono
 pw_clock_treeClock tree management for embedded devices. Main docs: https://pigweed.dev/pw_clock_tree
 pw_clock_tree_mcuxpressoNXP MCUXpresso SDK implementation for pw_clock_tree. Main docs: https://pigweed.dev/pw_clock_tree_mcuxpresso
 pw_containersGeneric collections of objects for embedded devices: https://pigweed.dev/pw_containers
 pw_cryptoMain docs: https://pigweed.dev/pw_crypto
 pw_digital_ioDigital I/O interface. Main docs: https://pigweed.dev/pw_digital_io
 pw_digital_io_mcuxpressoDigital I/O for NXP MCUXpresso. Main docs: https://pigweed.dev/pw_digital_io_mcuxpresso
 pw_displayGraphic display support and framebuffer management. Main docs: https://pigweed.dev/pw_display
 pw_elfELF file support. Main docs: https://pigweed.dev/pw_elf
 pw_functionEmbedded-friendly std::function: https://pigweed.dev/pw_function
 pw_hdlcSimple, robust, and efficient serial communication. Main docs: https://pigweed.dev/pw_hdlc
 pw_hex_dumpHandy hexdump utilities. Main docs: https://pigweed.dev/pw_hex_dump
 pw_i2cCross-platform I2C API with interactive debugging. Main docs: https://pigweed.dev/pw_i2c
 pw_i2c_linuxLinux userspace implementation for pw_i2c. Main docs: https://pigweed.dev/pw_i2c_linux
 pw_interruptMain docs: https://pigweed.dev/pw_interrupt
 pw_jsonSimple, efficient C++ JSON serialization. Main docs: https://pigweed.dev/pw_json
 pw_kvsLightweight, persistent key-value store. Main docs: https://pigweed.dev/pw_kvs
 pw_log_tokenizedMain docs: https://pigweed.dev/pw_log_tokenized
 pw_mallocReplacement interface for standard libc dynamic memory operations. Main docs: https://pigweed.dev/pw_malloc
 pw_multibufA buffer API optimized for zero-copy messaging
 pw_numericEfficient mathematical utilities for embedded. Main docs: https://pigweed.dev/pw_numeric
 pw_perf_testMicro-benchmarks that are easy to write and run. Main docs: https://pigweed.dev/pw_perf_test
 pw_persistent_ramMain docs: https://pigweed.dev/pw_persistent_ram
 pw_polyfillMain docs: https://pigweed.dev/pw_polyfill
 pw_preprocessorHelpful preprocessor macros. Main docs: https://pigweed.dev/pw_preprocessor
 pw_randomMain docs: https://pigweed.dev/pw_random
 pw_spanStd::span for C++17. Main docs: https://pigweed.dev/pw_span
 pw_streamA foundational interface for streaming data
 pw_stream_uart_linuxMain docs: https://pigweed.dev/pw_stream_uart_linux
 pw_stringEfficient, easy, and safe string manipulation
 pw_syncMain docs: Home
 pw_sys_ioMain docs: https://pigweed.dev/pw_sys_io
 pw_systemMain docs: https://pigweed.dev/pw_system
 pw_threadMain docs: https://pigweed.dev/pw_thread
 pw_tokenizerCompress strings to shrink logs by +75%
 pw_toolchainEmbedded toolchains for GN-based Pigweed projects. Main docs: https://pigweed.dev/pw_toolchain
 pw_trace_tokenizedMain docs: https://pigweed.dev/pw_trace_tokenized
 pw_transferMain docs: https://pigweed.dev/pw_transfer
 pw_uartCore interfaces for UART communication. Main docs: https://pigweed.dev/pw_uart
 pw_uuid128-bit universally unique identifier (UUID). Main docs: https://pigweed.dev/pw_uuid
 pw_varintFunctions for encoding and decoding variable length integers. Main docs: https://pigweed.dev/pw_varint
 pw_work_queueMain docs: https://pigweed.dev/pw_work_queue