From 07c922a04a654c70d0e916a63411b839b50b72c7 Mon Sep 17 00:00:00 2001 From: Steins7 Date: Sat, 22 Feb 2020 23:26:08 +0100 Subject: [PATCH] Fixed major bug with filter * changed relay GPIO as a temporary measure --- src/main.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main.c b/src/main.c index ddcd172..c1902a7 100644 --- a/src/main.c +++ b/src/main.c @@ -78,9 +78,9 @@ int main(void) { io_write(GPIOC, 1, PIN_13); // configure GPIO for relay - if(io_configure(GPIOB, PIN_12, IO_MODE_OUTPUT | IO_OUT_PUSH_PULL, 0)) + if(io_configure(GPIOB, PIN_11, IO_MODE_OUTPUT | IO_OUT_PUSH_PULL, 0)) return -1; - io_write(GPIOB, 1, PIN_12); + io_write(GPIOB, 1, PIN_11); // configure GPIOS for temperature sensors if(io_configure(GPIOA, PIN_0 | PIN_1 | PIN_2 | PIN_3 | PIN_4 | PIN_5, @@ -113,7 +113,7 @@ int main(void) { // shift filter queue int32_t sum = 0; - for(int i=0; i<(FILTER_LENGTH-2); i++) { + for(int i=0; i<(FILTER_LENGTH-1); ++i) { temp_filter[sensor_id][i] = temp_filter[sensor_id][i+1]; sum += temp_filter[sensor_id][i]; } @@ -135,12 +135,16 @@ int main(void) { // set fan state if((vars.temps[vars.silo] - vars.temps[T_EXT]) >= vars.start_treshold) { - vars.fan = 1; - io_set(GPIOB, PIN_12); + if(!vars.fan) { + io_set(GPIOB, PIN_11); + vars.fan = 1; + } } else if((vars.temps[vars.silo] - vars.temps[T_EXT]) <= vars.stop_treshold) { - vars.fan = 0; - io_clear(GPIOB, PIN_12); + if(vars.fan) { + io_clear(GPIOB, PIN_11); + vars.fan = 0; + } } }