File Reference - rpc_esp32
This document is a complete, current index of files and folders in the workspace. It focuses on structure and purpose.
Top-level documentation
<project_dir>/README.md - Main project overview and Python client usage.
<project_dir>/QUICKSTART.md - Quick start steps and example workflows.
<project_dir>/TECHNICAL_REFERENCE.md - Architecture and protocol details.
<project_dir>/IMPLEMENTATION_SUMMARY.md - Build summary and feature list.
<project_dir>/FILE_REFERENCE.md - This index.
ESP32 firmware (eps32_host)
<project_dir>/eps32_host/platformio.ini - PlatformIO build configuration.
<project_dir>/eps32_host/src/main.cpp - Firmware entry point.
<project_dir>/eps32_host/include/README - Notes for the include folder.
<project_dir>/eps32_host/test/README - Test folder notes.
Core firmware libraries (eps32_host/lib)
<project_dir>/eps32_host/lib/config.h - Firmware configuration and result codes.
<project_dir>/eps32_host/lib/bits.h - Bit utilities and helpers.
<project_dir>/eps32_host/lib/README - Library notes.
RPC server library (eps32_host/lib/rpc_server)
<project_dir>/eps32_host/lib/rpc_server/library.properties - Arduino library metadata.
<project_dir>/eps32_host/lib/rpc_server/include/rpc_config.h - RPC configuration definitions.
<project_dir>/eps32_host/lib/rpc_server/include/rpc_server.h - RPC server interface.
<project_dir>/eps32_host/lib/rpc_server/src/rpc_server.cpp - RPC server implementation.
Optional hardware libraries (eps32_host/lib)
<project_dir>/eps32_host/lib/adc_lib/adc_3208_lib.h - MCP3208 ADC interface.
<project_dir>/eps32_host/lib/adc_lib/adc_3208_lib.cpp - MCP3208 ADC implementation.
<project_dir>/eps32_host/lib/dac_lib/dac_4922_lib.h - MCP4922 DAC interface.
<project_dir>/eps32_host/lib/dac_lib/dac_4922_lib.cpp - MCP4922 DAC implementation.
<project_dir>/eps32_host/lib/dio_lib/dio_lib.h - Digital IO expander interface.
<project_dir>/eps32_host/lib/dio_lib/dio_lib.cpp - Digital IO expander implementation.
<project_dir>/eps32_host/lib/fmap/fmap.h - Helper mapping utilities interface.
<project_dir>/eps32_host/lib/fmap/fmap.cpp - Helper mapping utilities implementation.
<project_dir>/eps32_host/lib/oled_lib/oled_lib.h - OLED interface.
<project_dir>/eps32_host/lib/oled_lib/oled_lib.cpp - OLED implementation.
<project_dir>/eps32_host/lib/pulse_lib/pulse_lib.h - Pulse generation interface.
<project_dir>/eps32_host/lib/pulse_lib/pulse_lib.cpp - Pulse generation implementation.
<project_dir>/eps32_host/lib/qc_lib/qc_7366_lib.h - QC7366 counter interface.
<project_dir>/eps32_host/lib/qc_lib/qc_7366_lib.cpp - QC7366 counter implementation.
<project_dir>/eps32_host/lib/spi_lib/spi_lib.h - SPI helper interface.
<project_dir>/eps32_host/lib/spi_lib/spi_lib.cpp - SPI helper implementation.
<project_dir>/eps32_host/lib/usb_wifi_switch/usb_wifi_switch.h - USB/WiFi mode switch interface.
<project_dir>/eps32_host/lib/usb_wifi_switch/usb_wifi_switch.cpp - USB/WiFi mode switch implementation.
<project_dir>/eps32_host/lib/WifiConfigureSupport/wifi_network_config.h - WiFi configuration interface.
<project_dir>/eps32_host/lib/WifiConfigureSupport/wifi_network_config.cpp - WiFi configuration implementation.
Web assets (eps32_host/data)
<project_dir>/eps32_host/data/wifimanager.html - WiFi manager page.
<project_dir>/eps32_host/data/style.css - WiFi manager styles.
<project_dir>/eps32_host/data/style.css.gz - Pre-compressed CSS for the web UI.
Python client (python_client)
<project_dir>/python_client/requirements.txt - Python dependencies.
<project_dir>/python_client/init.py - Package entry point.
Core library (python_client/library)
<project_dir>/python_client/library/config.py - Runtime configuration and constants.
<project_dir>/python_client/library/debug_utility.py - Debug helpers.
<project_dir>/python_client/library/rpc_client.py - RPC client implementation.
<project_dir>/python_client/library/transport.py - USB/WiFi transport layer.
<project_dir>/python_client/library/init.py - Library exports.
GUI application (python_client/nodeMCU_gui)
<project_dir>/python_client/nodeMCU_gui/nodeMCU_gui.py - Tkinter GUI entry point.
<project_dir>/python_client/nodeMCU_gui/gpio_tab.py - GPIO controls.
<project_dir>/python_client/nodeMCU_gui/system_tab.py - System info and utilities.
<project_dir>/python_client/nodeMCU_gui/pwm_tab.py - PWM controls.
<project_dir>/python_client/nodeMCU_gui/adc_tab.py - ADC tools.
<project_dir>/python_client/nodeMCU_gui/dac_tab.py - DAC tools.
<project_dir>/python_client/nodeMCU_gui/dio_tab.py - Digital IO expander tools.
<project_dir>/python_client/nodeMCU_gui/oled_tab.py - OLED controls.
<project_dir>/python_client/nodeMCU_gui/pulse_tab.py - Pulse generator tools.
<project_dir>/python_client/nodeMCU_gui/qc_tab.py - QC7366 counter tools.
<project_dir>/python_client/nodeMCU_gui/init.py - GUI package init.
Example scripts (python_client/examples)
<project_dir>/python_client/examples/example_usage.py - Basic API usage examples.
<project_dir>/python_client/examples/advanced_example.py - Extended monitoring examples.
<project_dir>/python_client/examples/test_debug.py - Debug utilities.
<project_dir>/python_client/examples/test_debug.log - Example debug output.
Debug documentation (python_client/documentation)
<project_dir>/python_client/documentation/DEBUG_GUIDE.md - Debug workflow guidance.
<project_dir>/python_client/documentation/DEBUG_SUMMARY.md - Debug summary.
<project_dir>/python_client/documentation/QUICKREF_DEBUG.md - Debug quick reference.
Portal GUI (python_client/portaal_robot)
<project_dir>/python_client/portaal_robot/portal_gui.py - Portal GUI application.
<project_dir>/python_client/portaal_robot/portal_config.yaml - Portal configuration.
<project_dir>/python_client/portaal_robot/portaalrobot.jpg - Portal asset image.
Other folders
<project_dir>/NodeMCU - Additional NodeMCU assets (contents not indexed here).
Generated and local-only folders
These directories are environment or tool specific and typically not part of the source of truth.
<project_dir>/.git - Git metadata.
<project_dir>/.venv - Local Python virtual environment.
<project_dir>/eps32_host/.pio - PlatformIO build outputs.
<project_dir>/eps32_host/.vscode - Editor settings for the firmware project.
<project_dir>/eps32_host/.idea - IDE configuration.
<project_dir>/python_client/.venv - Local Python virtual environment.
<project_dir>/python_client/.idea - IDE configuration.
<project_dir>/python_client/library/pycache - Python bytecode cache.
<project_dir>/python_client/nodeMCU_gui/pycache - Python bytecode cache.