diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-12-13 00:43:41 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-12-13 00:43:41 +0100 |
commit | e47eab60c490495acc6468668f44f19a88065b2f (patch) | |
tree | 6cb0ea27bad092ed488188c179a8b708305fc4b7 /src | |
parent | aebb7e588e73bd4123be7a540bcad8596b4351d6 (diff) | |
download | glutte-o-matic-e47eab60c490495acc6468668f44f19a88065b2f.tar.gz glutte-o-matic-e47eab60c490495acc6468668f44f19a88065b2f.tar.bz2 glutte-o-matic-e47eab60c490495acc6468668f44f19a88065b2f.zip |
Ensure tm_trigger only does a single pulse
Diffstat (limited to 'src')
-rw-r--r-- | src/fsm/main.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/fsm/main.c b/src/fsm/main.c index 15fe4cb..903f874 100644 --- a/src/fsm/main.c +++ b/src/fsm/main.c @@ -16,11 +16,8 @@ #include "common.h" // Private variables -volatile uint32_t time_var1, time_var2; - static int tm_trigger = 0; - // Private function prototypes void init(); @@ -152,6 +149,7 @@ static struct fsm_input_signals_t fsm_input; static void exercise_fsm(void *pvParameters) { int cw_last_trigger = 0; + int last_tm_trigger = 0; fsm_input.humidity = 0; fsm_input.temp = 15; @@ -160,7 +158,9 @@ static void exercise_fsm(void *pvParameters) fsm_input.wind_generator_ok = 1; while (1) { pio_set_fsm_signals(&fsm_input); - fsm_input.start_tm = tm_trigger; // user button + fsm_input.start_tm = (tm_trigger == 1 && last_tm_trigger == 0) ? 1 : 0; + last_tm_trigger = tm_trigger; + if (fsm_input.start_tm) { GPIO_SetBits(GPIOD, GPIO_Pin_15); } |