Commit Graph

899 Commits

Author SHA1 Message Date
c9a96f37f0 feat: add sensor combine mode with Min, Max, and Avg options, update web UI and configuration for multi-sensor support 2026-05-29 11:22:12 +02:00
fbf97732a4 refactor: update KiCad 3D model paths and zone settings for compatibility with updated libraries 2026-05-28 20:14:51 +02:00
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
3618b3329c refactor tank info field names and improve null checks in UI 2026-05-27 15:18:46 +02:00
f5f73723d1 retry wifi connection, show canbus FW version, adjust measurement formular 2026-05-27 03:36:39 +02:00
be98380ba4 new toast impl, wip 2026-05-26 13:27:35 +02:00
fe2d227c67 Fix fertilizer calculation and logging 2026-05-26 02:03:19 +02:00
bd5b687430 fix pump test progress bar 2026-05-25 23:22:21 +02:00
7679fa09dc clippy: fix clippy warnings 2026-05-25 20:11:58 +02:00
7078af5713 Merge pull request 'refactor/mqtt-data-serialization' (#23) from refactor/mqtt-data-serialization into develop
Reviewed-on: #23
2026-05-25 19:42:14 +02:00
32256d0c91 move all mqtt publishing functions to mqtt module 2026-05-24 18:32:10 +02:00
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
6bf7a04024 refactor: PlantInfo structure (consistent layout)
- fix: use tagged enum serialization for MoistureSensorError and PumpError
- fix: flatten PlantInfo sensors to SensorTelemetry with top-level moisture_pct
2026-05-24 17:50:38 +02:00
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
7866604a40 fix: serialize firmware/state as JSON instead of Debug format 2026-05-24 14:06:39 +02:00
d989b41bdd wip website docu 2026-05-21 07:16:39 +02:00
ac8305953a Merge pull request 'refactor/mkstatic-util' (#22) from refactor/mkstatic-util into develop
Reviewed-on: #22
2026-05-18 00:29:52 +02:00
d1076145c4 Merge branch 'develop' into refactor/mkstatic-util 2026-05-18 00:29:41 +02:00
cf32f7e05d Merge pull request 'refactor/network-module' (#21) from refactor/network-module into develop
Reviewed-on: #21
2026-05-18 00:29:14 +02:00
5e08820276 Merge pull request 'refactor/mqtt-module' (#20) from refactor/mqtt-module into develop
Reviewed-on: #20
2026-05-18 00:28:12 +02:00
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
40f99870cf refactor: move try_connect_wifi_sntp_mqtt to network module 2026-05-17 12:30:43 +02:00
ac200af7a9 refactor: move wifi to network module 2026-05-17 12:29:57 +02:00
9d57805502 refactor: move wifi_ap to network module 2026-05-17 12:27:54 +02:00
bafc86681c refactor: move sntp to network module 2026-05-17 12:24:39 +02:00
5f9db41d65 refactor: move run_dhcp to network module 2026-05-17 12:22:07 +02:00
ba654a904b refactor: move net_task to network module 2026-05-17 12:21:32 +02:00
cd4d0cc683 refactor: create network module
- move NetworkMode and SntpMode enums
2026-05-17 12:19:22 +02:00
2cfb2607a9 refactor: move Solar struct to mqtt module 2026-05-10 02:38:50 +02:00
271c1a1383 refactor: move PumpInfo struct to mqtt module 2026-05-10 02:38:43 +02:00
a02b84d732 refactor: create mqtt module with core MQTT statics and tasks 2026-05-10 02:34:16 +02:00
b0f8bcc9da Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	Software/MainBoard/rust/src/hal/water.rs
2026-05-06 09:29:25 +02:00
103859120c Add initial TODO file with pending tasks for One Wire, Flow Sensor, and PlantProfiles implementation 2026-05-06 09:27:19 +02:00
403517fdb4 Suppress EMI noise on water flow sensor by filtering short pulses 2026-05-06 09:26:14 +02:00
11eb8713bf more startup debugging 2026-05-05 18:04:00 +02:00
d903c2bf52 Refactor flow meter logic: replace global mutex with per-instance flow_unit and use critical-section for thread safety. 2026-05-05 16:27:21 +02:00
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
3cc5a0d2bd dependency lock upgrade 2026-05-05 00:50:18 +02:00
3be585ecbf Refactor flow meter handling with interrupt-based logic and global state
- Added `flow_interrupt_handler` for efficient interrupt processing.
- Replaced per-instance `flow_counter` with global atomic and mutex-based state (`FLOW_OVERFLOW_COUNTER`, `FLOW_UNIT`).
- Updated flow meter functions to leverage the new architecture for better modularity and thread safety.
- Switched debugging output from `println!` to `log` for improved logging consistency.
2026-05-05 00:50:18 +02:00
5b1a945ac3 Replace blocking http_server call with async task using spawner 2026-05-05 00:50:18 +02:00
f4e050d413 Add ChecksumError handling to FatError conversion 2026-05-05 00:50:18 +02:00
776db785c4 Update hardware and firmware documentation for new modules and features
- Removed outdated TODOs and legacy references in hardware documentation.
- Added details on the new CH32V203-based Sensor Module for CAN bus soil moisture sensors.
- Documented updates to the Battery Management System (CH32V203-based) replacing the older bq34z100 design.
- Refined sensor, pump, and power module descriptions with updated specifications.
- Expanded firmware documentation to include Rust-based ESP32-C6 platform details, new OTA procedure, and MQTT telemetry topics.
- Simplified toolchain setup and compilation process with updated scripts and instructions.
2026-05-05 00:50:18 +02:00
Kai Börnert
ef0ec47d92 Improve CAN bus robustness: adjust NART, add transmission delays for error recovery. 2026-05-04 17:44:54 +02:00
0ed9d6bb57 Adjust timeouts and constants for improved moisture sensor and backup management accuracy
- Increased CAN measurement timeout to 5000ms for reliability.
- Updated `SAVEGAME_SLOT_SIZE` usage in backup handling for consistency.
- Refined moisture sensor frequency thresholds for better sensor calibration (400Hz-70kHz).
2026-05-03 21:03:13 +02:00
4771a77686 Merge branch 'test_new_storage' into develop
# Conflicts:
#	Software/MainBoard/rust/src/main.rs
2026-05-03 14:42:08 +02:00
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
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
a30d59605d Improve CAN bus error handling and logging
- Enhanced error detection with detailed status logging for bus-off, error warning, and passive errors.
- Added line breaks to CAN and RX error logs for better readability.
- Refined CAN transmission logic and error feedback, including buffer overflow handling.
- Simplified firmware timestamp frame creation and ensured successful sending.
2026-05-01 13:11:37 +02:00
2ee3615dcd switch fertilizer to extra 1 2026-05-01 10:45:54 +02:00
db0f7daa4c feat: add fertilizer cooldown functionality with web UI, HAL integration, and configuration support 2026-04-30 22:09:04 +02:00