feat: Modbus-Register für Endstromschwellenwerte korrigiert
Behebt ein Problem, bei dem das Python-Tool 0 mA für die Endstromschwellenwerte anzeigte.
Die Zephyr-Anwendung definierte zuvor nur ein einzelnes Modbus-Register für den Endstromschwellenwert, während das Python-Tool separate Register für das Öffnen und Schließen erwartete.
Änderungen:
- :
- wurde in umbenannt.
- wurde als neues Register hinzugefügt.
- :
- Implementierung der Lese- und Schreib-Callbacks für und unter Verwendung der entsprechenden -Bibliotheksfunktionen.
Diese Änderungen stellen sicher, dass die Zephyr-Anwendung die Endstromschwellenwerte korrekt über Modbus bereitstellt und das Python-Tool diese Werte nun richtig lesen und schreiben kann.
This commit is contained in:
parent
b937c52bcc
commit
ddaaa8988d
|
|
@ -91,7 +91,12 @@ enum {
|
|||
/**
|
||||
* @brief Minimum current threshold in mA for end-position detection.
|
||||
*/
|
||||
REG_HOLDING_VALVE_END_CURRENT_THRESHOLD_MA = 0x0003,
|
||||
REG_HOLDING_END_CURRENT_THRESHOLD_OPEN_MA = 0x0003,
|
||||
/**
|
||||
* @brief Minimum current threshold in mA for end-position detection during
|
||||
* closing.
|
||||
*/
|
||||
REG_HOLDING_END_CURRENT_THRESHOLD_CLOSE_MA = 0x0004,
|
||||
/**
|
||||
* @brief Bitmask for reading and writing digital outputs. Bit 0: Output 1,
|
||||
* Bit 1: Output 2. 1=ON, 0=OFF.
|
||||
|
|
|
|||
|
|
@ -81,6 +81,12 @@ static int holding_reg_rd(uint16_t addr, uint16_t *reg)
|
|||
case REG_HOLDING_WATCHDOG_TIMEOUT_S:
|
||||
*reg = watchdog_timeout_s;
|
||||
break;
|
||||
case REG_HOLDING_END_CURRENT_THRESHOLD_OPEN_MA:
|
||||
*reg = valve_get_end_current_threshold_open();
|
||||
break;
|
||||
case REG_HOLDING_END_CURRENT_THRESHOLD_CLOSE_MA:
|
||||
*reg = valve_get_end_current_threshold_close();
|
||||
break;
|
||||
default:
|
||||
*reg = 0;
|
||||
break;
|
||||
|
|
@ -114,6 +120,12 @@ static int holding_reg_wr(uint16_t addr, uint16_t reg)
|
|||
case REG_HOLDING_MAX_CLOSING_TIME_S:
|
||||
valve_set_max_close_time(reg);
|
||||
break;
|
||||
case REG_HOLDING_END_CURRENT_THRESHOLD_OPEN_MA:
|
||||
valve_set_end_current_threshold_open(reg);
|
||||
break;
|
||||
case REG_HOLDING_END_CURRENT_THRESHOLD_CLOSE_MA:
|
||||
valve_set_end_current_threshold_close(reg);
|
||||
break;
|
||||
case REG_HOLDING_WATCHDOG_TIMEOUT_S:
|
||||
watchdog_timeout_s = reg;
|
||||
if (watchdog_timeout_s > 0) {
|
||||
|
|
@ -176,6 +188,12 @@ static int input_reg_rd(uint16_t addr, uint16_t *reg)
|
|||
case REG_INPUT_FIRMWARE_VERSION_PATCH:
|
||||
*reg = APP_PATCHLEVEL;
|
||||
break;
|
||||
case REG_HOLDING_END_CURRENT_THRESHOLD_OPEN_MA:
|
||||
*reg = valve_get_end_current_threshold_open();
|
||||
break;
|
||||
case REG_HOLDING_END_CURRENT_THRESHOLD_CLOSE_MA:
|
||||
*reg = valve_get_end_current_threshold_close();
|
||||
break;
|
||||
default:
|
||||
*reg = 0;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in New Issue