- Renamed shell commands in and to be shorter
and remove underscores (e.g., to ).
- Consolidated get functions into a single show command for both valve
and Modbus settings (e.g., , ).
- Adjusted output formatting for show commands to be right-aligned and
remove horizontal lines for better readability.
- Fixed missing getter function implementations in and their
declarations in .
- Ensured is correctly selected in
to make valve shell commands available.
Introduces separate Modbus holding registers for configurable end-position
current thresholds for both opening and closing valve movements.
- Added REG_HOLDING_VALVE_END_CURRENT_THRESHOLD_OPEN_MA and
REG_HOLDING_VALVE_END_CURRENT_THRESHOLD_CLOSE_MA to modbus_server.h.
- Modified valve.c to use these new thresholds and save/load them via settings.
- Added new setter functions to valve.h.
- Created new shell_valve library with commands to set/get these thresholds.
- Updated modbus_tool.py to include new menu options for setting thresholds.
- Updated docs/modbus-registers.de.md to document the new registers.
This enhances the flexibility and calibration of the valve control system.
- Updated Doxygen comments in header files (valve.h, fwu.h, modbus_server.h) to be consistent and in English.
- Translated German register names in docs/modbus-registers.de.md to English.
- Updated docs/concept.de.md to reflect new details on current measurement and sensors.
- Updated docs/planning.de.md to reflect completed tasks in Phase 1.
- Implemented VND7050AJ and core functionality including current and voltage measurement and end-position detection.
Added Doxygen-style comments to all C source and header files in the
and directories. This improves
code documentation and enables VSCode tooltip help.
Additionally, short inline comments were added to all global variables
for better clarity.
This commit implements the real valve control using the GPIOs connected to the VND7050AJ driver.
- The `weact_stm32g431_core.overlay` is updated with a specific compatible string and a device tree label for the valve controller.
- `valve.h` is extended to include GPIO device specifications.
- `valve.c` now initializes and controls the GPIOs for opening and closing the valve, including the reset logic. The IN0 and IN1 pins are interlocked to prevent simultaneous activation. The RST pin is activated before each movement and deactivated afterward.
This replaces the previous virtual/simulated valve logic with actual hardware control.
This commit introduces a major refactoring of the project structure to align
with Zephyr's recommended multi-application and library organization.
Key changes include:
- Relocation of custom modules from 'software/modules/' to 'software/lib/'.
- Introduction of a central 'software/CMakeLists.txt' to manage application
and library subdirectories.
- Creation of new Kconfig files for 'software/' and 'software/apps/slave_node/'
to define project-wide and application-specific configurations.
- Removal of the 'gateway' and 'stm32g431_tests' applications.
- Removal of 'shell_modbus.c' and 'shell_system.c' from 'slave_node' application's
direct source files, indicating a shift towards library-based shell commands.
- Updates to 'software/apps/slave_node/CMakeLists.txt', 'prj.conf', and
'boards/bluepill_f103rb.conf' to reflect the new structure and dependencies.