diff options
author | fishsoupisgood <github@madingley.org> | 2021-01-12 16:58:31 +0000 |
---|---|---|
committer | fishsoupisgood <github@madingley.org> | 2021-01-12 16:58:31 +0000 |
commit | 7c6887eaaf812b63bab6c5e134f80a2ef36aeb31 (patch) | |
tree | 4b4b0d371107ae1b8540ca1618cb9aa796b72616 /radiator-plc/stm32/app/rain.c | |
parent | f4b573fe337a436d5e2b20be4be031d77376d609 (diff) | |
download | heating-7c6887eaaf812b63bab6c5e134f80a2ef36aeb31.tar.gz heating-7c6887eaaf812b63bab6c5e134f80a2ef36aeb31.tar.bz2 heating-7c6887eaaf812b63bab6c5e134f80a2ef36aeb31.zip |
works
Diffstat (limited to 'radiator-plc/stm32/app/rain.c')
-rw-r--r-- | radiator-plc/stm32/app/rain.c | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/radiator-plc/stm32/app/rain.c b/radiator-plc/stm32/app/rain.c deleted file mode 100644 index 4188990..0000000 --- a/radiator-plc/stm32/app/rain.c +++ /dev/null @@ -1,100 +0,0 @@ -#include "project.h" - -#define DEBOUNCE 20 - -static uint8_t r_state; -static uint32_t r_ticks; -static uint8_t r_current; -static uint8_t r_filtered; -static unsigned r_expiry; - - -#define RAIN_BANK GPIOA -#define RAIN_GPIO GPIO15 - -static int -raw_rain (void) -{ - return !gpio_get (RAIN_BANK, RAIN_GPIO); -} - - -void rain_notify (void) -{ - if (r_current) - vents_rain_notify(); -} - - -void rain_ticker (void) -{ - unsigned s; - static int ticker = 0; - - - s = raw_rain(); - - if (s == r_state) { - if (r_ticks < DEBOUNCE) - r_ticks++; - else if (r_ticks == DEBOUNCE) { - r_current = s; - r_ticks++; - printf ("D: rain state now %d\r\n", r_current); - } - } else { - r_ticks = 0; - r_state = s; - } - - if (r_current) { - r_filtered = 1; - r_expiry = 1800; - } - - rain_notify(); - - ticker++; - - if (ticker < 1000) return; - - ticker = 0; - - if (r_expiry) - r_expiry--; - else - r_filtered = r_current; - -} - -void rain_slow_ticker (void) -{ - printf ("R: %d %d\r\n", r_current, r_filtered); -} - - -int rain_filtered_state (void) -{ - return r_filtered; -} - -int rain_state (void) -{ - return r_current; -} - -char rain_state_char (void) -{ - return r_current ? 'Y' : 'N'; -} - -void -rain_init (void) -{ - gpio_set_mode (RAIN_BANK, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, - RAIN_GPIO); - - gpio_set (RAIN_BANK, RAIN_GPIO); -} - - |