From 7c6887eaaf812b63bab6c5e134f80a2ef36aeb31 Mon Sep 17 00:00:00 2001 From: fishsoupisgood Date: Tue, 12 Jan 2021 16:58:31 +0000 Subject: works --- radiator-plc/stm32/app/rain.c | 100 ------------------------------------------ 1 file changed, 100 deletions(-) delete mode 100644 radiator-plc/stm32/app/rain.c (limited to 'radiator-plc/stm32/app/rain.c') 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); -} - - -- cgit v1.2.3