summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2024-12-03 17:43:08 +0800
committerSadeep Madurange <sadeep@asciimx.com>2024-12-03 17:43:08 +0800
commitab97e3dfbd93a876bf16b74345af1d6b8b3843f1 (patch)
tree377f232b6d34b69deca8ff0a840ca673dff77c97
parentbe08f5feda80f5a6f8a2d749ef4d5565d2899861 (diff)
downloadsmart-home-ab97e3dfbd93a876bf16b74345af1d6b8b3843f1.tar.gz
Log received payload.
-rw-r--r--rf_test/send.c26
-rw-r--r--rf_test/serial.c2
-rw-r--r--rf_test/serial.h2
3 files changed, 17 insertions, 13 deletions
diff --git a/rf_test/send.c b/rf_test/send.c
index fe93a72..71e764b 100644
--- a/rf_test/send.c
+++ b/rf_test/send.c
@@ -86,6 +86,8 @@ static inline uint8_t radio_recv(char *buf, uint8_t n)
{
uint8_t i;
+ i = 0;
+
if ((read_reg(0x28) & 0x04))
{
write_reg(0x01, 0x04);
@@ -96,22 +98,21 @@ static inline uint8_t radio_recv(char *buf, uint8_t n)
SPDR = 0x00 | 0x7F;
while (!(SPSR & (1 << SPIF)))
;
- for (i = 0; i < n; i++) {
+ while (i < n) {
SPDR = 0;
while (!(SPSR & (1 << SPIF)))
;
- buf[i] = SPDR;
+ buf[i++] = SPDR;
}
SPI_PORT |= (1 << SPI_SS);
}
-
- return len;
+ return i;
}
struct radio_cfg {
- uint8_t payload_len
-}
+ uint8_t payload_len;
+};
static inline void radio_init(struct radio_cfg *cfg)
{
@@ -151,10 +152,13 @@ int main(void)
ISR(RX_PCINTVEC)
{
- uint8_t n;
-
- const uint8_t buflen = 32;
- char buf[buflen];
+ uint8_t i, n;
+ char buf[PAYLOAD_LEN];
+
+ n = radio_recv(buf, PAYLOAD_LEN);
- n = radio_recv(buf, buflen);
+ for (i = 0; i < n; i++)
+ serial_write(buf[i]);
+ serial_write('\r');
+ serial_write('\n');
}
diff --git a/rf_test/serial.c b/rf_test/serial.c
index a7dbb93..782e848 100644
--- a/rf_test/serial.c
+++ b/rf_test/serial.c
@@ -16,7 +16,7 @@ void serial_init(void)
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00);
}
-void serial_write(unsigned char data)
+void serial_write(char data)
{
while (!(UCSR0A & (1 << UDRE0)))
;
diff --git a/rf_test/serial.h b/rf_test/serial.h
index 96fdcab..0f9415b 100644
--- a/rf_test/serial.h
+++ b/rf_test/serial.h
@@ -2,7 +2,7 @@
#define SA_SERIAL_H
void serial_init(void);
-void serial_write(unsigned char data);
+void serial_write(char data);
void serial_write_line(const char *s);
#endif /* SA_SERIAL_H */