summaryrefslogtreecommitdiffstats
path: root/lock/fend.c
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2025-05-05 12:33:45 +0800
committerSadeep Madurange <sadeep@asciimx.com>2025-05-05 12:33:45 +0800
commit909d4c02a49694af662c10477bb2f8cbfbe4290e (patch)
tree6b790256608d8ab936534f8afee5cd4c8140c252 /lock/fend.c
parent605423d76e1f73c5a8590163b841c2db523626f7 (diff)
downloadsmart-home-909d4c02a49694af662c10477bb2f8cbfbe4290e.tar.gz
Full system working.
Diffstat (limited to 'lock/fend.c')
-rw-r--r--lock/fend.c12
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 {