diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2024-11-17 16:08:01 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2024-11-17 16:08:01 +0800 |
| commit | 7f568115a564740c1f8b9573de72eb79f48f169a (patch) | |
| tree | 8b8d69cfb2aba550b93d65ee349eb395e3c7a590 | |
| parent | 7da764b02292397dd355c2599891bb01086fb4f3 (diff) | |
| download | smart-home-7f568115a564740c1f8b9573de72eb79f48f169a.tar.gz | |
Detect interference, but no meaningful data.
| -rw-r--r-- | rf_test/recv.c | 47 | ||||
| -rw-r--r-- | rf_test/send.c | 10 |
2 files changed, 28 insertions, 29 deletions
diff --git a/rf_test/recv.c b/rf_test/recv.c index 1e1a21c..02fab41 100644 --- a/rf_test/recv.c +++ b/rf_test/recv.c @@ -3,13 +3,14 @@ #include <util/delay.h> #include <util/setbaud.h> +#define TEST_LED PB1 #define LOCK_LED PD6 #define UNLOCK_LED PD7 -#define SYN 0xA4 -#define ADDR 0x01 -#define LOCK_CMD 0x02 -#define UNLOCK_CMD 0x03 +#define SYN 0xA4 +#define ADDR 0x44 +#define LOCK_CMD 0x11 +#define UNLOCK_CMD 0x22 static void usart_init(void) { @@ -27,8 +28,8 @@ static unsigned char usart_recv(void) static void led_init(void) { + DDRB |= (1 << TEST_LED); DDRD |= (1 << LOCK_LED) | (1 << UNLOCK_LED); - PORTD |= (1 << LOCK_LED) | (1 << UNLOCK_LED); } int main(void) @@ -58,26 +59,24 @@ ISR(USART_RX_vect) { unsigned char syn, addr, data, chk; - PORTD ^= ((1 << LOCK_LED) | (1 << UNLOCK_LED)); - - syn = usart_recv(); + syn = usart_recv(); addr = usart_recv(); data = usart_recv(); - chk = usart_recv(); + chk = usart_recv(); - //if(chk == (addr + data)) - //{ - // if(addr == ADDR) - // { - // if(data == LOCK_CMD) { - // PORTD |= (1 << LOCK_LED); - // PORTD &= ~(1 << UNLOCK_LED); - // - // } else if (data == UNLOCK_LED) { - // PORTD |= (1 << UNLOCK_LED); - // PORTD &= ~(1 << LOCK_LED); - // } - // } - //} - + if(chk == (addr + data)) + { + if(addr == ADDR) + { + if(data == LOCK_CMD) { + PORTD |= (1 << LOCK_LED); + PORTD &= ~(1 << UNLOCK_LED); + + } else if (data == UNLOCK_LED) { + PORTD |= (1 << UNLOCK_LED); + PORTD &= ~(1 << LOCK_LED); + } + } + PORTB ^= (1 << TEST_LED); + } } diff --git a/rf_test/send.c b/rf_test/send.c index b80c5a6..0a12692 100644 --- a/rf_test/send.c +++ b/rf_test/send.c @@ -8,9 +8,9 @@ #define UNLOCK_BTN PD7 #define SYN 0xA4 -#define ADDR 0x01 -#define LOCK_CMD 0x02 -#define UNLOCK_CMD 0x03 +#define ADDR 0x44 +#define LOCK_CMD 0x11 +#define UNLOCK_CMD 0x22 static void usart_init(void) { @@ -64,9 +64,9 @@ int main(void) //sei(); for (;;) { - _delay_ms(2000); + _delay_ms(4000); lock(); - _delay_ms(2000); + _delay_ms(4000); unlock(); } |
