summaryrefslogtreecommitdiffstats
path: root/rf_test
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2024-11-17 16:08:01 +0800
committerSadeep Madurange <sadeep@asciimx.com>2024-11-17 16:08:01 +0800
commit7f568115a564740c1f8b9573de72eb79f48f169a (patch)
tree8b8d69cfb2aba550b93d65ee349eb395e3c7a590 /rf_test
parent7da764b02292397dd355c2599891bb01086fb4f3 (diff)
downloadsmart-home-7f568115a564740c1f8b9573de72eb79f48f169a.tar.gz
Detect interference, but no meaningful data.
Diffstat (limited to 'rf_test')
-rw-r--r--rf_test/recv.c47
-rw-r--r--rf_test/send.c10
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();
}