Replaced with and with in the and functions of . This change optimizes screen updates in the Curses-based UI, which should significantly reduce flickering when running the tool over SSH connections.
Signed-off-by: Eduard Iten <eduard@iten.pro>
Removed the 'Toggle Output 1' and 'Toggle Output 2' menu options from the Modbus tool's main menu. This simplifies the user interface by removing functionality that is not directly related to the core valve control.
Signed-off-by: Eduard Iten <eduard@iten.pro>
Introduces separate configurable current thresholds for obstacle detection
during valve opening and closing movements.
- Added state to .
- Added and
to .
- Modified to implement obstacle detection in ,
setting on high current, and to load/save
these new thresholds via settings.
- Added new setter/getter functions for obstacle thresholds to and .
- Updated with new shell commands (, )
and updated to display these settings.
- Updated to document the new registers and error states.
- Updated to include new register definitions, menu options,
and display of obstacle current thresholds.
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.
This commit introduces a new Modbus input register for the system's supply voltage.
- The `modbus-registers.de.md` documentation is updated to include the `SUPPLY_VOLTAGE_MV` register at address `0x00F5` within the system block.
- The `modbus_server.h` header defines the new register.
- The `modbus_server.c` implementation provides a fixed value (12300 mV) for this register.
- The `modbus_tool.py` script is updated to read and display this new supply voltage value in the UI.
This lays the groundwork for integrating actual voltage measurements in the future.
- Implement a simple, curses-based file browser to allow selecting firmware files from the filesystem.
- The selected file path is used for the firmware update process.
- Fix a visual bug where the progress bar would not reach 100% upon completion.
- Remove a leftover function that was causing a NameError.
- Add a new thread to handle the firmware update process, preventing the UI from freezing.
- The UI now displays a progress bar and status messages during the update.
- The tool reads a file and sends it to the slave in chunks.
- Add a dummy for testing purposes.
- Fix Modbus communication issues by reducing the chunk size to a safe value (248 bytes) and sending data in smaller bursts to improve stability.
- Update the README with the new features and instructions.
- Update the TUI to display all new registers from the slave, including digital I/O and system status.
- Add new menu buttons to control digital outputs and set the watchdog timer.
- Add a placeholder button for the firmware update process.
- Fix various bugs, including incorrect argument passing in Modbus calls and a module import error.
- Refactor the curses drawing loop to be state-based, eliminating screen flicker after user input.
- Add a helper function to format uptime from seconds into a human-readable string (d/h/m/s).
- Replace the basic command-line prompt with a full-screen, interactive TUI using the library.
- The new UI provides a real-time, tabular status display and intuitive, button-style menu navigation.
- Implement a consistent blue background theme for better aesthetics.
- Add a detailed with installation and usage instructions.
- Fix several bugs in the Modbus communication logic.