From 57dcea3ededb8dfa4a1594e6eb8f67193ca285e5 Mon Sep 17 00:00:00 2001 From: jaseg Date: Tue, 15 Jan 2019 15:01:23 +0900 Subject: Fix double edge issue with driver --- fw/main.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'fw') diff --git a/fw/main.c b/fw/main.c index 8a89157..2340ecb 100644 --- a/fw/main.c +++ b/fw/main.c @@ -79,11 +79,6 @@ void unblank_low(void) { set_drv_gpios(out_state >> 4); } -void unblank(int new_bit) { - bit = new_bit; - unblank_low(); -} - void TIM3_IRQHandler(void) { GPIOA->BSRR = 1<<10; if (TIM3->SR & TIM_SR_UIF) @@ -166,13 +161,12 @@ int main(void) { adc_configure_monitor_mode(&cmd_if.cmd_if, 20 /*us*/); - int old = 0; while (42) { int new = GPIOA->IDR & (1<<0); - if (new != old) { - unblank(new); + if (new != bit) { + bit = new; TIM3->EGR |= TIM_EGR_UG; - old = new; + unblank_low(); } /* idle */ } -- cgit