From b54c73edb1c475cfc46c50a03e1ada9c2ea1d45f Mon Sep 17 00:00:00 2001 From: Eduard Iten Date: Wed, 2 Jul 2025 10:03:23 +0200 Subject: [PATCH] fix: handle connection loss and re-establish in modbus_tool.py --- software/tools/modbus_tool/modbus_tool.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/software/tools/modbus_tool/modbus_tool.py b/software/tools/modbus_tool/modbus_tool.py index 2469933..693b7e7 100755 --- a/software/tools/modbus_tool/modbus_tool.py +++ b/software/tools/modbus_tool/modbus_tool.py @@ -225,11 +225,11 @@ def main_menu(stdscr, slave_id): elif selected_option == "Set Watchdog": input_mode, input_prompt, input_target_reg = True, "Enter Watchdog Timeout (s): ", REG_HOLDING_WATCHDOG_TIMEOUT_S elif selected_option == "Reset Node": - client.write_register(REG_HOLDING_DEVICE_RESET, 1, slave=slave_id) - message = "-> Sent RESET command" - elif selected_option == "Firmware Update": - client.write_register(REG_HOLDING_DEVICE_RESET, 1, slave=slave_id) - message = "-> Sent RESET command" + try: + client.write_register(REG_HOLDING_DEVICE_RESET, 1, slave=slave_id) + message = "-> Sent RESET command. Node should reboot." + except Exception as e: + message = f"-> Error sending reset: {e}" elif selected_option == "Firmware Update": filepath = file_browser(stdscr) if filepath: