How esp-cpp/espp works
ESPP is a collection of reusable C++ components for ESP-IDF, plus a portable subset usable from desktop C++ and Python. The typical workflow is that an application selects components, calls their APIs to interact with hardware or protocols, and consumes resulting data or services. The tree shows board-support packages, peripheral drivers, communication and application services, and portable protocol and utility libraries; it does not establish a single repository-wide runtime pipeline. Edges below are limited to documented usage and sampled implementation details; many component-to-component relationships are therefore omitted.
Main entry points: esp-box Board Packages · cli.py OTA Host Tool · rtsp_client.cpp RTSP Client · esp32-p4-eth ESP32-P4 Boards
Components 27
Board Support
- Board Packages
components/esp-box - ESP32-P4 Boards
components/esp32-p4-eth - LilyGo T5
components/lilygo-t5-47
Hardware Components
- Peripheral Drivers
components/ads1x15 - I2C
components/i2c - ADC
components/adc - Motor Control
components/motor_controller - Controller Input
components/controller - Display Stack
components/display
Services and Protocols
- Event Manager
components/event_manager/src/event_manager.cpp - BLE Services
components/ble_gatt_server - FTP
components/ftp/include/ftp_client_session.hpp - OTA Service
components/ota/include/ota_service.hpp - CANopen Client
components/canopen/include/canopen_client.hpp - OTA Host Tool
components/ota/python/espp_ota/cli.py
Portable Libraries
- RTSP Client
components/rtsp/src/rtsp_client.cpp - RTPS
components/rtps/include/rtps/entities/Domain.hpp - Serialization
components/cdr/include/cdr.hpp - Stream Codecs
components/cobs/include/cobs_stream.hpp - Math and Filters
components/filters/include/kalman_filter.hpp - File System
components/file_system/include/file_system.hpp - Task Runtime
components/task
Other components
- Application Developer
- RTSP Server
- CAN Bus
- ESP-IDF Hardware APIs
- Python User
Connections 13
- Application Developer → Board Packages: selects components
- Board Packages → ESP-IDF Hardware APIs: access hardware
- ESP32-P4 Boards → ESP-IDF Hardware APIs: access hardware
- LilyGo T5 → ESP-IDF Hardware APIs: access hardware
- Peripheral Drivers → ESP-IDF Hardware APIs: access peripherals
- Controller Input → ESP-IDF Hardware APIs: reads GPIO
- Event Manager → Task Runtime: starts subscriber tasks
- FTP → File System: reads and writes
- RTSP Server → RTSP Client: serves stream to
- RTSP Client → RTSP Server: requests stream
- CAN Bus → CANopen Client: delivers frames
- Python User → OTA Host Tool: runs tool
- OTA Host Tool → OTA Service: sends OTA data