Development - ZGoode/Legacy_RS232_DripFeeder GitHub Wiki
Development
Important source areas
| Source area | Responsibility |
|---|---|
esp32-firmware/main/main.c |
Startup and active-interface selection |
esp32-firmware/main/server.c |
HTTP handlers |
sd_storage.c / crc_cache.c |
Storage and integrity maintenance |
rs232.c |
UART transport |
network_fallback.c |
Runtime network switching |
MainWindow.xaml.cs |
Windows discovery, connection, and normal transfer actions |
DeviceApiClient.cs / Rs232ApiClient.cs |
Client APIs |
TransferQueue.cs |
Normal per-device transfer scheduler |
Services/DeviceProtocol/ |
Package loading, validation, commands, and persistence |
Implementation constraints
- Do not treat password setup as global authorization unless handlers are actually gated.
- Preserve SD path validation and CRC-cache semantics.
- Keep the editor direct-transfer exception in mind when changing transfer concurrency/cancellation behavior.
- A protocol package's command list is not automatically supported by every device type.
DeviceProtocolEnginecurrently reflects the supplied mnemonic/comma/semicolon HP-GL style rather than a fully generalized wire-format engine.
Persistence
Firmware uses NVS for settings/authentication/Wi-Fi and the SD card for user files plus CRC metadata. Windows persists configured RS232 devices and optional remembered passwords in %AppData%\FileLinkDiscovery.