diff options
author | root <root@ka-ata-killa.ourano.james.local> | 2021-06-13 11:41:11 +0100 |
---|---|---|
committer | root <root@ka-ata-killa.ourano.james.local> | 2021-06-13 11:41:11 +0100 |
commit | 0d810335cfc55c836a054db14fab36fb99f58441 (patch) | |
tree | 67e9fc2ab764bbe76d03f644ecea2dfd6dde4037 /radiator-plc/stm32/app/logic.c | |
parent | 6386636edb53aabc99de2f8479b00ca8f6ee6bfe (diff) | |
download | heating-master.tar.gz heating-master.tar.bz2 heating-master.zip |
Diffstat (limited to 'radiator-plc/stm32/app/logic.c')
-rw-r--r-- | radiator-plc/stm32/app/logic.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/radiator-plc/stm32/app/logic.c b/radiator-plc/stm32/app/logic.c index b5b768d..fb6ccd4 100644 --- a/radiator-plc/stm32/app/logic.c +++ b/radiator-plc/stm32/app/logic.c @@ -96,6 +96,8 @@ int high_limit[N_VALVES] = { 00000, }; +int override[N_VALVES]; + int valve_state[N_VALVES]; int failed_reads[N_VALVES]; @@ -130,6 +132,10 @@ void mqtt_dispatch (char *type, char *who, char *what, char *msg) usart1_queue_buf (msg_buf, sprintf (msg_buf, "\r\nMQTTR stat/%s/var2 %.2f\r\n", valve_name[i], scale (high_limit[i]))); } + if (!strcmp (what, "var3")) { + override[i] = atoi (msg); + usart1_queue_buf (msg_buf, sprintf (msg_buf, "\r\nMQTTR stat/%s/var3 %d\r\n", valve_name[i], override[i])); + } } } @@ -164,6 +170,9 @@ void logic_tick (void) valve_state[i] = 0; } + if (override[i]) + valve_state[i]=1; + o = valve_state[i]; output_write (i, o); |