|
Aquarium Cooling Controller
ESP32 firmware for aquarium cooling fan control, monitoring, telemetry, and fault handling.
|

Files | |
| control_engine.cpp | |
| Implements temperature-based cooling PWM calculations. | |
| control_engine.h | |
| Computes cooling PWM commands from temperature inputs and policy limits. | |
| controller.ino | |
| Arduino sketch entry point for the aquarium cooling controller. | |
| display_format.h | |
| Shared helpers for rounded operator-facing value formatting. | |
| fan_curve.cpp | |
| Implements measured fan curve interpolation and tolerance helpers. | |
| fan_curve.h | |
| Measured fan PWM-to-RPM curve and plausibility helpers. | |
| fan_driver.cpp | |
| Implements ESP32 LEDC fan PWM output control. | |
| fan_driver.h | |
| PWM fan output driver with low-speed start boost. | |
| fault_monitor.cpp | |
| Implements fan RPM plausibility monitoring and fault latching. | |
| fault_monitor.h | |
| Fan RPM plausibility monitor with latched fault recovery. | |
| fault_policy.cpp | |
| Implements alarm selection and fault response policy. | |
| fault_policy.h | |
| Converts sensor and fan health into alarms, severity, and responses. | |
| mqtt_telemetry.cpp | |
| Implements Wi-Fi/MQTT connection maintenance and telemetry publishing. | |
| mqtt_telemetry.h | |
| Wi-Fi and MQTT telemetry publisher for controller state. | |
| network_config.h | |
| Safe default Wi-Fi and MQTT configuration macros. | |
| network_config.local.example.h | |
| Example local network and MQTT override configuration. | |
| ota_upload_server.cpp | |
| Implements the temporary HTTP firmware upload server. | |
| ota_upload_server.h | |
| Temporary HTTP firmware upload endpoint for OTA updates. | |
| rpm_monitor.cpp | |
| Implements interrupt-driven fan tachometer sampling. | |
| rpm_monitor.h | |
| Tachometer pulse counting and RPM sampling for the cooling fan. | |
| sensor_manager.cpp | |
| Implements OneWire sensor discovery and non-blocking temperature sampling. | |
| sensor_manager.h | |
| OneWire temperature sensor discovery, assignment, and sampling. | |