diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2025-05-05 12:33:45 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2025-05-05 12:33:45 +0800 |
| commit | 909d4c02a49694af662c10477bb2f8cbfbe4290e (patch) | |
| tree | 6b790256608d8ab936534f8afee5cd4c8140c252 /lock/fend.c | |
| parent | 605423d76e1f73c5a8590163b841c2db523626f7 (diff) | |
| download | smart-home-909d4c02a49694af662c10477bb2f8cbfbe4290e.tar.gz | |
Full system working.
Diffstat (limited to 'lock/fend.c')
| -rw-r--r-- | lock/fend.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lock/fend.c b/lock/fend.c index 78e42a1..1d1fe12 100644 --- a/lock/fend.c +++ b/lock/fend.c @@ -8,9 +8,9 @@ #include <avr/interrupt.h> #include <util/delay.h> +#include "fpm.h" #include "nrfm.h" #include "util.h" -#include "uart.h" #define LOCK_PIN PD2 #define UNLOCK_PIN PD3 @@ -65,20 +65,26 @@ int main(void) char buf[WDLEN], key[WDLEN]; wdt_off(); - uart_init(); led_init(); + fpm_init(); init_rx(); init_btns(); radio_init(rxaddr); - radio_print_config(); sei(); radio_listen(); for (;;) { if (!sync && (islock || isunlock)) { + if (isunlock) { + if (!fpm_match()) { + isunlock = 0; + continue; + } + } + xor(KEY, SYN, buf, WDLEN); retries = 0; do { |
