diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2024-12-03 17:43:08 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2024-12-03 17:43:08 +0800 |
| commit | ab97e3dfbd93a876bf16b74345af1d6b8b3843f1 (patch) | |
| tree | 377f232b6d34b69deca8ff0a840ca673dff77c97 | |
| parent | be08f5feda80f5a6f8a2d749ef4d5565d2899861 (diff) | |
| download | smart-home-ab97e3dfbd93a876bf16b74345af1d6b8b3843f1.tar.gz | |
Log received payload.
| -rw-r--r-- | rf_test/send.c | 26 | ||||
| -rw-r--r-- | rf_test/serial.c | 2 | ||||
| -rw-r--r-- | rf_test/serial.h | 2 |
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 */ |
