Commit Graph
60 Commits
Author SHA1 Message Date
EmpirePhoenix 5700c3bf73 Implement pump flow monitoring and UI normalization enhancements
- Rust: Add `MIN_PUMP_FLOW_ML` constant and logging for insufficient pump flow with fault handling.
- UI: Normalize config fields to maintain consistency and prevent false dirty flags after round-trips.
- KiCad: Update board zone settings for `PlantCtrlESP32` and `MPPT`.
- IntelliJ: Add `.idea` configurations for project setup and inspections.
2026-09-04 10:30:47 +02:00
EmpirePhoenix 065623d423 Add apply_fertilizer parameter to do_secure_pump to prevent fertilizer applying on corrosion protection 2026-08-10 11:53:24 +02:00
EmpirePhoenix a2abc99275 Refactor formatting and remove unused imports in mqtt and plant_state modules 2026-05-30 20:57:39 +02:00
EmpirePhoenix 6b419dba6c Add Wi-Fi scan details display and MQTT publish
- HTML: Add Wi-Fi scan results container to network.html
- Rust: Implement `wifi_scan_details()` with RSSI, channel, auth method
- API & UI: Fetch and display scan results in table format
- MQTT: Publish top 10 networks sorted by RSSI to `/wifi_scan`
2026-05-28 00:46:14 +02:00
EmpirePhoenix fe2d227c67 Fix fertilizer calculation and logging 2026-05-26 02:03:19 +02:00
EmpirePhoenix 7679fa09dc clippy: fix clippy warnings 2026-05-25 20:11:58 +02:00
judge 32256d0c91 move all mqtt publishing functions to mqtt module 2026-05-24 18:32:10 +02:00
judge d4a4c1b573 refctor: TankInfo structure (consistent layout)
- fix: use tagged enum serialization for TankError
- fix: rename TankInfo fields for consistent naming (volume_ml, pct, water_temp_c)
- renamed some fields for better clarity on contained value
2026-05-24 17:51:17 +02:00
judge df3159aa16 refactor: BatteryInfo structure (consistent layout)
- use tagged enum serialization for BatteryError
- flatten BatteryInfo telemetry with consistent field names and typed error
2026-05-24 14:49:35 +02:00
judge 7866604a40 fix: serialize firmware/state as JSON instead of Debug format 2026-05-24 14:06:39 +02:00
judge d2a659638d refactor: create util module with shared mk_static
- use crate::util::mk_static in network module
- use crate::util::mk_static in mqtt module
- use crate::util::mk_static in hal module
- remove dead mk_static macro from esp module
2026-05-17 12:39:41 +02:00
judge 40f99870cf refactor: move try_connect_wifi_sntp_mqtt to network module 2026-05-17 12:30:43 +02:00
judge ac200af7a9 refactor: move wifi to network module 2026-05-17 12:29:57 +02:00
judge 9d57805502 refactor: move wifi_ap to network module 2026-05-17 12:27:54 +02:00
judge bafc86681c refactor: move sntp to network module 2026-05-17 12:24:39 +02:00
judge cd4d0cc683 refactor: create network module
- move NetworkMode and SntpMode enums
2026-05-17 12:19:22 +02:00
judge 2cfb2607a9 refactor: move Solar struct to mqtt module 2026-05-10 02:38:50 +02:00
judge 271c1a1383 refactor: move PumpInfo struct to mqtt module 2026-05-10 02:38:43 +02:00
judge a02b84d732 refactor: create mqtt module with core MQTT statics and tasks 2026-05-10 02:34:16 +02:00
EmpirePhoenix f8f76674ce Refactor flow meter handling: switch get_flow_meter_value to get_full_flow_count, update related structs and logic to use u32 for flow values. 2026-05-05 01:14:54 +02:00
EmpirePhoenix 5b1a945ac3 Replace blocking http_server call with async task using spawner 2026-05-05 00:50:18 +02:00
EmpirePhoenix eef165b6de Track overcurrent issues during pump operation
- Added `overcurrent_ma` field to pump results for capturing overcurrent data.
- Enhanced pumping logic to record and propagate overcurrent issues per plant.
- Updated `PumpState` and `PlantState` to handle overcurrent errors.
2026-05-02 01:38:30 +02:00
EmpirePhoenix 1ace878488 Refactor extra1 to fertilizer_pump in HAL and main logic
- Renamed `extra1` method and related calls to `fertilizer_pump` for clarity and better domain alignment.
- Updated HAL implementation to control `extra2` GPIO for fertilizer pump operations.
- Added build script trigger to refresh `VERGEN_BUILD_TIMESTAMP` on each build.
2026-05-01 13:11:47 +02:00
EmpirePhoenix 2ee3615dcd switch fertilizer to extra 1 2026-05-01 10:45:54 +02:00
EmpirePhoenix db0f7daa4c feat: add fertilizer cooldown functionality with web UI, HAL integration, and configuration support 2026-04-30 22:09:04 +02:00
EmpirePhoenix 6809a37d9d feat: add fertilizer pump functionality with configuration, web UI, and HAL integration 2026-04-30 20:44:07 +02:00
EmpirePhoenix 9280bbb244 refactor: rename deep_sleep to deep_sleep_ms for consistency across the codebase 2026-04-30 20:09:48 +02:00
Kai Börnert c04109a76c Rename /version endpoint to /firmware_info; add heap memory statistics to firmware data and UI. 2026-04-27 15:46:29 +02:00
EmpirePhoenix cc92c82ac9 Fix incorrect spawn function call and update dependencies
- Corrected usage of `spawner.spawn` by fixing misplaced error propagation.
- Updated `Cargo.lock` with new and upgraded dependencies, including `base64`, `darling`, and `smoltcp` upgrades.
2026-04-26 19:46:46 +02:00
EmpirePhoenix 6b4fd3f701 Add DeepSleep log message and improve formatting consistency
- Introduced `DeepSleep` log message for tracking system sleep events.
- Updated MQTT topic to use `/state` instead of `/firmware/state`.
- Improved code formatting for enhanced readability and maintainability.
2026-04-17 00:31:21 +02:00
EmpirePhoenix 3157ba7e76 Merge branch 'test_new_storage' of ssh://git.mannheim.ccc.de:1337/C3MA/PlantCtrl into test_new_storage 2026-04-16 23:58:38 +02:00
EmpirePhoenix 2493507304 Refactor plant state handling and moisture interpretation
- Replaced `read_hardware_state` with `interpret_raw_values` for better abstraction and clarity.
- Enhanced error handling by introducing `NoMessage` and `NotExpectedMessage` states.
- Updated moisture sensor logic to differentiate expected and unexpected messages.
- Renamed and refactored enum fields for consistency (`raw_hz` to `hz`).
- Minor imports and formatting optimizations.
2026-04-16 23:58:23 +02:00
EmpirePhoenix 0f6cb5243c feat: add pump corrosion protection feature, extend error handling for pump operations, and enhance configuration options 2026-04-16 21:56:46 +02:00
EmpirePhoenix b740574c68 refactor: add timezone support to wait_infinity, improve MQTT updates in config mode, and minor cleanup 2026-04-16 20:42:08 +02:00
Kai Börnert 8ce00c9d95 Refactor async logging to synchronous; improve error handling consistency across modules. 2026-04-13 17:03:47 +02:00
EmpirePhoenix b26206eb96 Introduce watchdog and serialization improvements
- Added watchdog timer for improved system stability and responsiveness.
- Switched save data serialization to Bincode for better efficiency.
- Enhanced compatibility by supporting fallback to older JSON format.
- Improved logging during flash operations for easier debugging.
- Simplified SavegameManager by managing storage directly.
2026-04-12 20:38:52 +02:00
EmpirePhoenix 95f7488fa3 Add save timestamp support and log interceptor for enhanced debugging
- Introduced `created_at` metadata for saves, enabling timestamp tracking.
- Added `InterceptorLogger` to capture logs, aiding in error diagnostics.
- Updated web UI to display save creation timestamps.
- Improved save/load functionality to maintain compatibility with older formats.
2026-04-11 22:40:25 +02:00
EmpirePhoenix 0d7074bd89 save tests 2026-04-11 21:34:48 +02:00
EmpirePhoenix bc25fef5ec refactor: consolidate logging and time handling, remove TIME_ACCESS and LOG_ACCESS 2026-04-10 18:53:30 +02:00
EmpirePhoenix 1da6d54d7a new backup adjustments 2026-04-06 19:51:46 +02:00
EmpirePhoenix 0ad7a58219 Improve error handling, ensure robust defaults, and eliminate unsafe unwraps/expectations across modules. 2026-04-06 15:26:52 +02:00
EmpirePhoenix 4d4fcbe33b store backup now in binary, and let backend serialize/deserialize 2026-04-05 13:30:11 +02:00
EmpirePhoenix 4cf5f6d151 fix: correctly retrieve and display IP address for both IPv4 and IPv6 configurations 2026-03-27 20:45:24 +01:00
EmpirePhoenix 086b0cbe4e Merge branch 'develop' of ssh://git.mannheim.ccc.de:1337/C3MA/PlantCtrl into develop 2026-03-18 01:25:29 +01:00
EmpirePhoenix 39e4e733f3 Fix ota, use MMU to determine running partition, use RMW wrapper for ota_data partition (littelfs handles this internally, so it was no problem prior) 2026-03-18 01:22:33 +01:00
EmpirePhoenix 66e1fe63e0 Revert "new ota logic"
This reverts commit c61a586595.
2026-03-17 22:17:47 +01:00
EmpirePhoenix 02c9486e98 canbus fix and ota adjustments 2026-03-15 20:28:53 +01:00
EmpirePhoenix 2d2d7d16cd Merge branch 'develop' of ssh://git.mannheim.ccc.de:1337/C3MA/PlantCtrl into develop 2026-03-15 20:04:02 +01:00
EmpirePhoenix 86f29a336c Merge branch 'develop' of ssh://git.mannheim.ccc.de:1337/C3MA/PlantCtrl into develop 2026-03-15 20:02:05 +01:00
EmpirePhoenix c61a586595 new ota logic 2026-03-15 19:57:19 +01:00