From 93fd9ad895fc2331c2f0c5861ab3087b1f8ee0a7 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 2 Mar 2015 23:47:17 +0100 Subject: using burst read for config register dump, fixed address check error --- lib/cc1101.c | 9 +++++---- lib/cc1101_defines.h | 2 ++ 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/cc1101.c b/lib/cc1101.c index 20a2bda..1a4e9cc 100644 --- a/lib/cc1101.c +++ b/lib/cc1101.c @@ -74,7 +74,7 @@ static uint8_t cc1101_spi_strobe_command(const uint8_t cmd) static uint8_t cc1101_spi_read_register(const uint8_t addr) { - if(addr > CC1101_ADDR_MAX || (addr >= CC1101_CMD_MIN && addr <= CC1101_CMD_MAX)) + if(addr > CC1101_ADDR_MAX) return 0xFF; uint8_t hdr = addr; @@ -835,9 +835,10 @@ void cc1101_dump_register(void) int i; printf(" config (read/write) register:\r\n"); - for(i=0; i<=CC1101_REG_RW_MAX; ++i) { - uint8_t data = cc1101_spi_read_register(i); // TODO: use burst mode... - printf(" 0x%02X (%s): 0x%02X\r\n", i, cc1101_config_reg_to_string(i), data); + uint8_t data[(CC1101_REG_RW_MAX-CC1101_REG_RW_MIN) + 1]; + uint8_t l = cc1101_spi_read_register_burst(CC1101_REG_RW_MIN, data, sizeof(data)); + for(i=0; i