Module Page Index
Every public Arc header has a generated website page with purpose, fit, CMake feature, source landmarks, zero-start steps, and the closest build or runtime proof path.
Use this page when you know the header name. Use the Module Guide when you only know the problem area.
Buses, Displays, And Data Capture
| Header | Purpose | Page |
|---|---|---|
arc/adc.hpp | ADC pad descriptors and oneshot reads. | Open |
arc/any.hpp | No-heap type erasure for slow-path GPIO/I2C/SPI/UART-style drivers. | Open |
arc/can.hpp | TWAI/CAN ownership, filters, TX/RX, and counters. | Open |
arc/dvp.hpp | LCD_CAM DVP camera capture. | Open |
arc/i2c.hpp | I2C master bus and device ownership. | Open |
arc/i2c_slave.hpp | I2C slave ownership. | Open |
arc/i2s.hpp | Standard, TDM, and PDM I2S DMA lanes. | Open |
arc/i80.hpp | LCD_CAM Intel 8080 parallel output. | Open |
arc/otg.hpp | Native USB OTG PHY ownership. | Open |
arc/pru.hpp | PRU-style LCD_CAM/I2S descriptor output and parallel capture. | Open |
arc/rgb.hpp | RGB LCD panel output and frame-buffer ownership. | Open |
arc/scope.hpp | ADC continuous DMA capture. | Open |
arc/sd.hpp | SD/MMC FAT mount and raw sector access. | Open |
arc/sdio_slave.hpp | SDIO slave coherent queue/finish semantics. | Open |
arc/spi.hpp | SPI master bus/device, transfer tickets, and coherent queue/finish. | Open |
arc/spi_slave.hpp | SPI slave queue/finish ownership. | Open |
arc/uart.hpp | UART ports, pins, framing, buffers, and runtime baud changes. | Open |
arc/usb.hpp | USB Serial/JTAG byte IO. | Open |
arc/usb_device.hpp | USB device descriptors, Chapter 9 state, class-facing FIFO bridges. | Open |
arc/usb_host.hpp | USB host bring-up, polling, and transfer policy hooks. | Open |
Crypto, Security, VM, And Sandbox
| Header | Purpose | Page |
|---|---|---|
arc/aes.hpp | AES block, stream modes, and GCM. | Open |
arc/blackbox.hpp | Sealed Merkle-linked flight-recorder payloads. | Open |
arc/cert_bundle.hpp | Certificate-bundle policy hooks. | Open |
arc/chaos.hpp | Bounded fault injection and postmortem logging. | Open |
arc/cloak.hpp | Timing/power side-channel policy hooks. | Open |
arc/crypto_dma.hpp | Hardware-to-hardware crypto descriptor job planning. | Open |
arc/crypto_selftest.hpp | Caller-owned KAT-style crypto self-test workspaces. | Open |
arc/hmac.hpp | eFuse-keyed HMAC and temporary JTAG unlock. | Open |
arc/hotpatch.hpp | Executable payload loading and IRAM detour policy hooks. | Open |
arc/hotswap.hpp | Signed native, BPF, and WASM hot-swap staging policy. | Open |
arc/hypervisor.hpp | Restricted partition planning and trap decisions. | Open |
arc/interrupt_matrix.hpp | Direct interrupt routing contracts. | Open |
arc/jit.hpp | Bounded BPF-to-executable-word translation hooks. | Open |
arc/kyber.hpp | Caller-buffer ML-KEM-shaped polynomial/KEM surfaces. | Open |
arc/migrator.hpp | Fixed fleet idle-core selection plus WASM snapshot, transport, and resume helpers. | Open |
arc/mpi.hpp | Move-only mbedTLS big integers. | Open |
arc/nvs_crypto.hpp | Encrypted-NVS policy hooks. | Open |
arc/paillier.hpp | Modular arithmetic surfaces for encrypted telemetry aggregation. | Open |
arc/pms.hpp | ESP32-S3 permission-control region facade. | Open |
arc/provisioning.hpp | Provisioning-state wrappers. | Open |
arc/puf.hpp | Entropy sampling, extraction, and key derivation hooks. | Open |
arc/secure_boot.hpp | Secure-boot state and policy hooks. | Open |
arc/sha.hpp | Accelerated SHA hashing. | Open |
arc/sign.hpp | Digital Signature peripheral operations. | Open |
arc/tee.hpp | Secure/non-secure world assignment planning. | Open |
arc/vm.hpp | BPF bytecode execution and sandbox helpers. | Open |
arc/wasm_aot.hpp | Bounded WASM AOT translation policy surface. | Open |
arc/xts.hpp | Encrypted flash read/write helpers. | Open |
DSP, Control, ML, And Vision
| Header | Purpose | Page |
|---|---|---|
arc/acoustic_slam.hpp | FMCW chirp, TDoA, range, and acoustic swarm helpers. | Open |
arc/cnc.hpp | Kinematics and no-allocation G-code parsing. | Open |
arc/covert.hpp | PWM/Sigma-Delta FSK symbol planning for experimental air-gap channels. | Open |
arc/digital_twin.hpp | HIL plant stepping, fixed-horizon forecasting, and encoder-output policy hooks. | Open |
arc/dsp.hpp | Dot/scale/mix/MAC, FIR, PID, biquad, SOS, and state-space kernels. | Open |
arc/ecs.hpp | Structure-of-arrays style entity/control data helpers. | Open |
arc/foc.hpp | BLDC field-oriented control and motor-control helpers. | Open |
arc/hil.hpp | HIL-facing helper types and evidence surfaces. | Open |
arc/hls.hpp | HLS-shaped fixed-loop kernels and silicon-plan metadata. | Open |
arc/hyper_matrix.hpp | Fixed probability tensor fusion for swarm observations. | Open |
arc/isp.hpp | Caller-buffer camera ISP kernels. | Open |
arc/kalman.hpp | Deterministic Kalman correction helpers. | Open |
arc/lifi.hpp | Manchester optical symbol generation. | Open |
arc/maglev.hpp | Unstable state-space control surfaces. | Open |
arc/matrix.hpp | Fixed-size matrix math and adaptive LQR identification. | Open |
arc/ml.hpp | Fixed-shape tensor, dense, quantized dense, conv, pool, and inference surfaces. | Open |
arc/motion.hpp | Bounded synchronized motion plans. | Open |
arc/nav.hpp | ESKF and quaternion navigation helpers. | Open |
arc/sdr.hpp | LCD_CAM pulse-stream preparation for SDR experiments. | Open |
arc/simd.hpp | Explicit S3-focused vector and image/math kernels. | Open |
arc/snn.hpp | Spike-driven inference primitives. | Open |
arc/star_tracker.hpp | Star centroid and catalog matching helpers. | Open |
arc/vision.hpp | Sobel, optical flow, visual servo, and related vision kernels. | Open |
arc/vision_accel.hpp | PPA/JPEG/H264 frame and bitstream plan validation. | Open |
arc/vslam.hpp | Visual SLAM correction hooks. | Open |
arc/wavefront.hpp | Multichannel acoustic phase planning and synthesis. | Open |
Detail Headers
| Header | Purpose | Page |
|---|---|---|
arc/detail/cold.hpp | Internal cold-path annotations. | Open |
arc/detail/owner.hpp | Internal move-only ownership helpers. | Open |
arc/detail/quant.hpp | Internal quantized rounding helpers. | Open |
arc/detail/scoped_result.hpp | Internal scoped-callback return-shape helpers. | Open |
GPIO, Timing, And Power
| Header | Purpose | Page |
|---|---|---|
arc/bridge.hpp | Complementary MCPWM pairs with dead-time and optional brake input. | Open |
arc/burst.hpp | RMT symbol output. | Open |
arc/capture.hpp | MCPWM capture timestamps. | Open |
arc/clock.hpp | Cycle counter and timing conversions. | Open |
arc/count.hpp | PCNT pulse and quadrature counting. | Open |
arc/drive.hpp | Dedicated GPIO output. | Open |
arc/etm.hpp | Event Task Matrix event/task/channel routing. | Open |
arc/flexroute.hpp | GPIO matrix routing and policy-based spare-route repair. | Open |
arc/fuse.hpp | eFuse, MAC, package, and secure-version reads. | Open |
arc/gpio.hpp | General GPIO ownership. | Open |
arc/mask.hpp | Tiny Xtensa interrupt masking guards. | Open |
arc/pm.hpp | CPU/APB/no-light-sleep PM locks. | Open |
arc/power_governor.hpp | Slack-based boost/release policy hooks. | Open |
arc/power_profiler.hpp | Current and instruction-counter profiling hooks. | Open |
arc/probe.hpp | Cycle, jitter, deadline, and stall statistics. | Open |
arc/pulse.hpp | MCPWM waveform generation. | Open |
arc/pwm.hpp | LEDC hardware PWM. | Open |
arc/rng.hpp | Hardware random bytes and values. | Open |
arc/rtc.hpp | RTC GPIO and retained RTC helpers. | Open |
arc/sense.hpp | Dedicated GPIO input. | Open |
arc/sigma.hpp | Sigma-Delta pulse-density output. | Open |
arc/sleep.hpp | Light/deep sleep entry and wake-source policy. | Open |
arc/tdma.hpp | Deterministic radio transmit windows. | Open |
arc/temp.hpp | Internal die-temperature sensor. | Open |
arc/time.hpp | Global SYSTIMER-backed microsecond time. | Open |
arc/timer.hpp | GPTimer timebase and alarm hooks. | Open |
arc/timesync.hpp | Peer clock discipline over fixed timestamp samples. | Open |
arc/touch.hpp | Capacitive touch controller and channel ownership. | Open |
arc/trace.hpp | RMT symbol capture. | Open |
arc/wave.hpp | CPU-owned square-wave generation with explicit timing-source policy. | Open |
arc/wdt.hpp | Task watchdog setup, users, and feeds. | Open |
Lock-Free Lanes
| Header | Purpose | Page |
|---|---|---|
arc/fanin.hpp | One SPSC lane per producer with round-robin draining. | Open |
arc/log.hpp | Binary event lane for realtime logs drained later by Core 0. | Open |
arc/mpsc.hpp | Many-producer/one-consumer fan-in with cache-line isolated or dense cells. | Open |
arc/postmortem.hpp | RTC no-init reboot-surviving diagnostic ring. | Open |
arc/rcu.hpp | Dual-buffer latest configuration handoff. | Open |
arc/reg.hpp | Single-word latest-wins values. | Open |
arc/rpc.hpp | Typed request/reply lanes over fixed queues. | Open |
arc/rtc_ring.hpp | RTC-memory SPSC lane for ULP/main-core handoff. | Open |
arc/seq.hpp | Seqlock-style latest snapshots for larger trivially copyable payloads. | Open |
arc/spsc.hpp | One-producer/one-consumer queues, batch push/pop, and role endpoints. | Open |
Memory, DMA, And Placement
| Header | Purpose | Page |
|---|---|---|
arc/axi_graph.hpp | Compile-time hardware graph planning over DMA endpoints and board trigger policy. | Open |
arc/cache.hpp | Explicit CPU-to-device and device-to-CPU cache ownership. | Open |
arc/cache_lock.hpp | Policy facade for cache-locked hot code or data regions. | Open |
arc/caps.hpp | Capability-tagged buffers such as dmabuf, simdbuf, rtbuf, and allocators. | Open |
arc/copy.hpp | Async DMA memcpy, exact tickets, and coherent copy leases. | Open |
arc/distributed_mmu.hpp | Remote span fault planning and deterministic cache-line fetch policy. | Open |
arc/dma_chain.hpp | Static DMA descriptor rings and owned DMA-chain buffers. | Open |
arc/fram.hpp | External FRAM/MRAM offset allocation and typed persistence hooks. | Open |
arc/mmu_span.hpp | Typed read-only spans over mapped flash or PSRAM data. | Open |
arc/pipeline.hpp | Descriptor endpoint composition and 2D row binding. | Open |
arc/place.hpp | Section-placement aliases such as ARC_HOT, ARC_DMA, and ARC_RTC. | Open |
arc/pmr.hpp | Capability-aware polymorphic memory-resource hooks. | Open |
arc/prefetch.hpp | Explicit read/write prefetch hints for long memory walks. | Open |
arc/scrub.hpp | CRC sealing and background scan state for fixed memory regions. | Open |
Network, Radio, And Wire Protocols
| Header | Purpose | Page |
|---|---|---|
arc/bft.hpp | Bounded BFT vote collection and quorum certificates for fleet decisions. | Open |
arc/ble.hpp | NimBLE lifecycle, GAP, advertising, and scanning bridge. | Open |
arc/ble_mesh.hpp | BLE Mesh payload validation and policy hooks. | Open |
arc/coap.hpp | CoAP datagram codec. | Open |
arc/crdt.hpp | Heapless CRDT counters, registers, and fixed replicated-state frames. | Open |
arc/csi.hpp | Wi-Fi CSI capture and feature extraction. | Open |
arc/eap.hpp | WPA2/WPA3 Enterprise setup for the shared STA radio. | Open |
arc/espnow.hpp | Reusable ESP-NOW transport plane. | Open |
arc/ethernet.hpp | Raw Ethernet frame ring for policy-owned MAC/PHY paths. | Open |
arc/fabric.hpp | Static TDMA mesh routing over ESP-NOW-style slots. | Open |
arc/ftm.hpp | Wi-Fi FTM ranging and multilateration helpers. | Open |
arc/http.hpp | ESP-IDF HTTP/HTTPS client RAII wrapper. | Open |
arc/http_server.hpp | Small no-heap HTTP request parser, router, and response builder. | Open |
arc/ip.hpp | IP readiness and address-family helpers. | Open |
arc/mdns.hpp | mDNS host and service advertisement. | Open |
arc/mqtt.hpp | MQTT 3.1.1 codec and session helper. | Open |
arc/net.hpp | Shared Wi-Fi radio base. | Open |
arc/netrpc.hpp | Struct-codec commands over radio or transport payloads. | Open |
arc/pack.hpp | Fixed binary record schemas and struct codecs. | Open |
arc/pbuf.hpp | RAII lwIP packet-buffer ownership. | Open |
arc/poll.hpp | Heapless select() wrapper for caller-owned sockets. | Open |
arc/rdma.hpp | Aligned raw Wi-Fi write-frame planning. | Open |
arc/stream.hpp | Exact byte streams, length-prefixed frames, and small stream erasure. | Open |
arc/swarm.hpp | Distributed snapshots, schedules, and swarm helper types. | Open |
arc/tcp.hpp | Direct TCP client sockets. | Open |
arc/thread.hpp | Thread/OpenThread policy bridge. | Open |
arc/tls.hpp | Direct ESP-TLS client sessions. | Open |
arc/tsn.hpp | Time-aware Ethernet gate schedule checks for deterministic transmit windows. | Open |
arc/udp.hpp | Reusable Core 0 UDP transport plane. | Open |
arc/uri.hpp | Heapless URI parsing and percent encode/decode. | Open |
arc/w5500.hpp | Policy-driven W5500 raw Ethernet path. | Open |
arc/ws.hpp | WebSocket handshake and frame codec. | Open |
arc/xrce.hpp | Fixed-buffer DDS-XRCE message and submessage framing. | Open |
Observability And Trace
| Header | Purpose | Page |
|---|---|---|
arc/mcap.hpp | Fixed-buffer MCAP telemetry records. | Open |
arc/perfetto.hpp | Compact binary Perfetto trace records. | Open |
arc/trace_event.hpp | Trace-event JSON fragments from binary log events. | Open |
arc/trace_live.hpp | Half-full trace chunk handoff to policy-owned sinks. | Open |
arc/trace_stream.hpp | Draining binary logs to UDP, WebSocket, file, or custom sinks. | Open |
arc/trax.hpp | Xtensa TRAX instruction trace memory control. | Open |
Profile Modules
| Header | Purpose | Page |
|---|---|---|
arc.hpp | Compatibility umbrella that exposes SDK-backed feature headers only when their ESP-IDF headers are visible. | Open |
arc/core.hpp | Core task shape, topology, init, GPIO, timing, queues, text, and basic storage-neutral substrate pieces. | Open |
arc/crypto.hpp | AES, SHA, HMAC, signatures, MPI, XTS, Kyber, Paillier, PUF, secure boot, and related security helpers. | Open |
arc/math.hpp | DSP, SIMD, fixed matrices, Kalman, motion, ML, and control math surfaces. | Open |
arc/memory.hpp | Capability buffers, cache ownership, DMA copy, descriptor chains, AXI graphs, pipelines, scrubbing, and placement helpers. | Open |
arc/net_codecs.hpp | URI, streams, fixed records, CRDTs, BFT votes, MQTT, WebSocket, CoAP, XRCE, and small HTTP server helpers without owning Wi-Fi. | Open |
arc/robotics.hpp | Motor control, CNC, motion, sensors, vision, DVP/LCD, digital twin, and robotics-oriented hardware paths. | Open |
arc/sandbox.hpp | VM, JIT, WASM AOT, hypervisor, PMS/TEE planning, hotpatch, chaos, and sandbox policy hooks. | Open |
Program Shape And Ownership
| Header | Purpose | Page |
|---|---|---|
arc/audit.hpp | Opt-in misuse assertions for queues and topology-sensitive lanes. | Open |
arc/bare_core.hpp | True-AMP Core 1 boot contracts for board policies outside FreeRTOS. | Open |
arc/borrow.hpp | Static-lifetime loans, one-writer edit packs, and loan-pack alias checks with core-owner access gates. | Open |
arc/bus.hpp | Compatibility naming for shared event/control buses. | Open |
arc/claim.hpp | Runtime hardware ownership claims. | Open |
arc/cli.hpp | Fixed command parsing from caller-owned byte spans. | Open |
arc/coro.hpp | Heapless coroutine state machines using explicit arenas. | Open |
arc/fence.hpp | Small memory-ordering helpers used by lock-free paths. | Open |
arc/flow.hpp | Static source-lane-sink data path composition. | Open |
arc/fsm.hpp | Compile-time automata and transition-table checks. | Open |
arc/init.hpp | Boot-once and shared-reference init state machines. | Open |
arc/ipc.hpp | Emergency and cross-partition IPC policy surface. | Open |
arc/lockstep.hpp | Dual-output comparison and policy hooks for lockstep safety checks. | Open |
arc/plane.hpp | Stateful pinned workloads with explicit shared state. | Open |
arc/proof.hpp | Compile-time proof facts and cycle-budget packs for evidence-carrying workloads. | Open |
arc/roles.hpp | Producer/consumer endpoint exposure without exposing root queue mutation. | Open |
arc/rtos.hpp | Safe chrono-to-FreeRTOS tick conversion helpers. | Open |
arc/sim.hpp | Host simulator FIFO, SPI byte lane, trace log, harness ticks, and pin drive/sense facades for app logic tests. | Open |
arc/sketch.hpp | Compatibility alias for small app-style programs. | Open |
arc/stack.hpp | Compile-time stack budget helpers and task stack floors. | Open |
arc/task.hpp | Static FreeRTOS task memory and pinned task bring-up. | Open |
arc/text.hpp | Fixed-buffer text, JSON escaping, integer formatting, and format_to. | Open |
arc/tight.hpp | Masked deterministic step loops for the rare very-low-jitter path. | Open |
arc/topology.hpp | One-file board pin topology checks through arc::Pins. | Open |
arc/watch.hpp | Lightweight watch/check helpers for policy code. | Open |
Storage And Update
| Header | Purpose | Page |
|---|---|---|
arc/file.hpp | RAII FILE* ownership for mounted VFS paths. | Open |
arc/flash_log.hpp | Fixed-record queue flushed through a storage sink. | Open |
arc/flash_off.hpp | Policy guard for flash/cache-off critical sections. | Open |
arc/fs.hpp | SPIFFS and FAT-on-flash VFS mounts. | Open |
arc/ota.hpp | Staged OTA write, slot state, confirm, and rollback. | Open |
arc/secure_update.hpp | Decrypt/verify/write policy composition for encrypted OTA streams. | Open |
arc/space.hpp | Flash, partition, image, and heap capacity reporting. | Open |
arc/store.hpp | Typed NVS blobs and fixed text config. | Open |
Target And Naming Contract
| Header | Purpose | Page |
|---|---|---|
arc/arch/riscv.hpp | RISC-V architecture facts for experimental/ULP paths. | Open |
arc/arch/xtensa.hpp | Xtensa-specific core and interrupt facts. | Open |
arc/assume.hpp | Optimizer and unreachable-code hints where a contract has already been checked. | Open |
arc/cfg.hpp | Kconfig-backed Arc defaults used by examples and the root app. | Open |
arc/concepts.hpp | Small compile-time contracts for payloads, digital IO, buses, waves, and control results. | Open |
arc/result.hpp | arc::Result<T>, arc::Status, ARC_TRY, and ARC_CHECK. | Open |
arc/sdk.hpp | SDK-facing compatibility helpers. | Open |
arc/soc.hpp | Compile-time ESP32 target capability map. | Open |
arc/soc/esp32p4.hpp | ESP32-P4 target facts. | Open |
arc/soc/esp32s3.hpp | ESP32-S3 target facts. | Open |
arc/soc/esp32s31.hpp | Experimental ESP32-S31 target facts. | Open |
arc/soc/target.hpp | Short target-selection constants. | Open |
ULP And Low-Power Coprocessor
| Header | Purpose | Page |
|---|---|---|
arc/intermittent.hpp | RTC no-init checkpoints for brownout/intermittent execution. | Open |
arc/lp_core.hpp | ESP32-P4 LP-core entry tags, image metadata, and shared handoff lanes. | Open |
arc/ulp.hpp | ULP RISC-V/FSM load, run, interrupt, and shared memory controls. | Open |
arc/ulp_asm.hpp | Compile-time ULP RISC-V program assembly. | Open |
arc/ulp_cxx.hpp | Tiny C++ builder, GPIO/I2C/ADC, and SleepFsm-style ULP building blocks. | Open |
arc/ulp_ml.hpp | ULP-side int8 dense inference and semantic/audio wake helpers. | Open |