Commit Graph

50 Commits

Author SHA1 Message Date
016047ab23 Update Water HAL: enhance GPIO config with drive mode and input settings
- Added `DriveMode` configuration and input enablement for `one_wire_pin`.
- Improved GPIO initialization with `InputConfig` and default pull settings.
2026-04-26 21:24:51 +02:00
eb276cfa68 Refactor HAL modules: update async support in Water module and reorganize detect_sensors logic
- Replaced `Blocking` with `Async` for ADC operations in `Water` module.
- Improved `detect_sensors` implementation with better structure for sensor messages and autodetection.
- Updated tank ADC sampling to yield between readings, improving efficiency.
2026-04-26 21:01:27 +02:00
f1c85d1d74 Migrate serialization from Bincode to Postcard
- Replaced Bincode with Postcard for serialization/deserialization across configs and save operations.
- Simplified struct derives by removing `bincode`-specific traits.
- Updated `Cargo.toml` and `Cargo.lock` to include `postcard` and dependencies.
- Added padding stripping for deserialization and improved error handling.
- Adjusted serialization logic in `savegame_manager.rs` and related modules.
2026-04-26 20:46:52 +02:00
097aff5360 Switch savegame serialization format from Bincode to custom parsing
- Replaced Bincode-based serialization/deserialization with a custom save format for better control.
- Introduced save header with magic bytes, timestamp handling, and UTF-8 validation.
- Enhanced error handling for save parsing and increased format flexibility.
- Removed
2026-04-26 20:31:56 +02:00
fc0e18da56 Integrate mcutie library for MQTT functionality
- Added `mcutie` as a dependency in `Cargo.toml` and updated `Cargo.lock`.
- Replaced commented-out MQTT logic with fully implemented functionality in `esp.rs`.
- Enhanced MQTT publish and subscription handling with configurable topics and error handling.
- Updated MQTT connection logic to improve reliability and logging.
2026-04-26 19:56:16 +02:00
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
b8f01f0de9 Remove unused dependencies and imports, cleanup Cargo.lock
- Removed `smoltcp`, `defmt`, and associated dependencies as they are no longer used.
- Updated `Cargo.toml` to exclude unused features from `esp-radio`.
- Cleaned up imports in `esp.rs` for better clarity and consistency.
2026-04-26 19:08:18 +02:00
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
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
6a71ac4234 Improve flash operation logging and serialization padding
- Added detailed logging for flash write and erase operations.
- Ensured serialized save data is aligned to 4-byte boundaries.
2026-04-14 00:19:18 +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
12405d1bef cleanup 2026-04-12 22:15:52 +02:00
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
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
0d7074bd89 save tests 2026-04-11 21:34:48 +02:00
bc25fef5ec refactor: consolidate logging and time handling, remove TIME_ACCESS and LOG_ACCESS 2026-04-10 18:53:30 +02:00
301298522b remove: eliminate file management and LittleFS-based filesystem, implement savegame management for JSON config slots with wear-leveling 2026-04-08 22:12:55 +02:00
1da6d54d7a new backup adjustments 2026-04-06 19:51:46 +02:00
0ad7a58219 Improve error handling, ensure robust defaults, and eliminate unsafe unwraps/expectations across modules. 2026-04-06 15:26:52 +02:00
4d4fcbe33b store backup now in binary, and let backend serialize/deserialize 2026-04-05 13:30:11 +02:00
1fa765a5d8 adjust can to hopefull work better 2026-04-01 21:43:16 +02:00
eaa65637f1 Enhance error handling and robustness in TWAI-based sensor detection and moisture measurement. 2026-04-01 01:24:04 +02:00
f1dadd7e6e massivly reduce canbus speed 2026-03-31 18:24:23 +02:00
9de5236e65 fix tank sensor 2026-03-27 10:45:33 +01:00
086b0cbe4e Merge branch 'develop' of ssh://git.mannheim.ccc.de:1337/C3MA/PlantCtrl into develop 2026-03-18 01:25:29 +01:00
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
66e1fe63e0 Revert "new ota logic"
This reverts commit c61a586595.
2026-03-17 22:17:47 +01:00
02c9486e98 canbus fix and ota adjustments 2026-03-15 20:28:53 +01:00
2d2d7d16cd Merge branch 'develop' of ssh://git.mannheim.ccc.de:1337/C3MA/PlantCtrl into develop 2026-03-15 20:04:02 +01:00
86f29a336c Merge branch 'develop' of ssh://git.mannheim.ccc.de:1337/C3MA/PlantCtrl into develop 2026-03-15 20:02:05 +01:00
c61a586595 new ota logic 2026-03-15 19:57:19 +01:00
af27f3b820 canbus debugging 2026-03-15 13:43:36 +01:00
a4d764c4fe remove: eliminate MoistureSensorState::Disabled, simplify moisture sensor processing, refactor pump logic, and clean up redundant/unnecessary code 2026-03-12 21:12:14 +01:00
5c78495bd5 update: initialize all pump expander pins to low before setting output mode 2026-03-12 21:12:14 +01:00
9b21d505e6 allow single sensor detection, get rid of sensor disabled hardware state == nomessage 2026-02-27 23:12:40 +01:00
c909b33af0 remove: comment out unused plant visibility logic, update moisture sensor processing, and enhance plant ID handling in TWAI communication 2026-02-13 23:24:21 +01:00
e6f8e34f7d remove: delete initial_hal implementation, update moisture sensor logic to handle optional raw values, optimize TWAI management, and improve CAN data handling 2026-02-01 03:57:36 +01:00
ce10d084f8 update: refactor and enhance CAN sensor initialization, reorganize GPIO assignments, improve error detection and logging, and streamline TWAI handling 2026-01-31 00:06:42 +01:00
355388aa62 update: refactor and enhance CAN sensor initialization, reorganize GPIO assignments, improve error detection and logging, and streamline TWAI handling 2026-01-30 22:01:37 +01:00
0c0b62e2ed update: improve documentation and restructure code for modular hardware integration, add CAN communication to HAL, and update KiCad layouts 2026-01-23 22:02:14 +01:00
1de40085fb add: implement UART-based serial configuration handling and improve error handling in charge indicator updates 2026-01-05 19:57:57 +01:00
8fc2a89503 refactor: simplify battery monitoring logic, remove unused fields, and replace BQ34Z100G1 integration with WCH I2C implementation 2026-01-04 23:59:14 +01:00
d33b05e1d7 remove HAL implementation files for v3 and v4, and the build script 2026-01-04 18:41:38 +01:00
ca2fd8a5e1 improved sensor canbus code 2025-12-06 04:01:16 +01:00
8cd9e08e93 shared flash test 2025-11-02 02:30:21 +01:00
f366aace7f esp-hal release wip 2025-10-31 23:22:40 +01:00
cafe1b264e refactor: unify moisture handling, update config structure, and add peer dependencies 2025-10-23 22:44:44 +02:00
1db3f7af64 chore: 📎 + fmt 2025-10-18 20:40:38 +02:00
a446f3ace2 sensor and esp and canable call all communicate with each other. 2025-10-18 00:58:12 +02:00
f6f8829cf5 cleanups 2025-10-15 02:14:49 +02:00