From d617852905decfbf2abb82adea157dd954d46580 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Thu, 24 Apr 2025 10:35:28 +0800 Subject: Fix duplicate packet by debouncing btn. --- ding.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ding.c b/ding.c index 32b088a..48fc60a 100644 --- a/ding.c +++ b/ding.c @@ -43,7 +43,7 @@ static inline void init_btns(void) static inline int is_btn_pressed(unsigned char btn) { if (!((PIND >> btn) & 0x01)) { - _delay_us(2000); + _delay_ms(100); return !((PIND >> btn) & 0x01); } @@ -95,12 +95,16 @@ ISR(RX_PCINTVEC) ISR(INT0_vect) { - if (is_btn_pressed(LOCK_PIN)) + if (is_btn_pressed(LOCK_PIN)) { lock = 1; + uart_write_line("IRQ0"); + } } ISR(INT1_vect) { - if (is_btn_pressed(UNLOCK_PIN)) + if (is_btn_pressed(UNLOCK_PIN)) { lock = 1; + uart_write_line("IRQ1"); + } } -- cgit v1.2.3