My fork during debugging.
Fork of NRF2401P by
Diff: NRF2401P.cpp
- Revision:
- 11:07f76589f00a
- Parent:
- 10:8a217441c38e
- Child:
- 12:ea1345de6478
--- a/NRF2401P.cpp Sat Jul 11 11:18:37 2015 +0000 +++ b/NRF2401P.cpp Sat Jul 11 14:56:17 2015 +0000 @@ -695,46 +695,57 @@ return msg; } -void NRF2401P::printDetails() +void NRF2401P::printReg(char* name, char address, bool newline) { char data; - char addr[addressWidth]; + readReg(address, &data); + printf("%s = 0x%02x", name, data); + if (newline) { + printf("\r\n"); + } +} + +void NRF2401P::printReg(char* name, char address, char width, bool newline) +{ + char data[width]; + readReg(address, data, width); + printf("%s = 0x", name); + for (int i=width-1; i>=0; i--) { + printf("%02x", data[i]); + } + if (newline) { + printf("\r\n"); + } +} + +void NRF2401P::printDetails() { char status = checkStatus(); - printf("STATUS\t\t = 0x%02x RX_DR=%x TX_DS=%x MAX_RT=%x RX_P_NO=%x TX_FULL=%x\r\n", status, + printf("STATUS = 0x%02x RX_DR=%x TX_DS=%x MAX_RT=%x RX_P_NO=%x TX_FULL=%x\r\n", status, (status & (1<<MASK_RX_DR))?1:0, (status & (1<<MASK_TX_DS))?1:0, (status & (1<<MASK_MAX_RT))?1:0, (status >> RX_P_NO) & 7, (status & (1<<TX_FULL))?1:0 ); - readReg(RX_ADDR_P0, addr, addressWidth); printf("RX_ADDR_P0\t = 0x%02x%02x%02x%02x%02x\r\n", addr[4],addr[3],addr[2],addr[1],addr[0]); - readReg(RX_ADDR_P1, addr, addressWidth); printf("RX_ADDR_P1\t = 0x%02x%02x%02x%02x%02x\r\n", addr[4],addr[3],addr[2],addr[1],addr[0]); - readReg(RX_ADDR_P2, addr, addressWidth); printf("RX_ADDR_P2\t = 0x%02x%02x%02x%02x%02x\r\n", addr[4],addr[3],addr[2],addr[1],addr[0]); - readReg(RX_ADDR_P3, addr, addressWidth); printf("RX_ADDR_P3\t = 0x%02x%02x%02x%02x%02x\r\n", addr[4],addr[3],addr[2],addr[1],addr[0]); - readReg(RX_ADDR_P4, addr, addressWidth); printf("RX_ADDR_P4\t = 0x%02x%02x%02x%02x%02x\r\n", addr[4],addr[3],addr[2],addr[1],addr[0]); - readReg(RX_ADDR_P5, addr, addressWidth); printf("RX_ADDR_P5\t = 0x%02x%02x%02x%02x%02x\r\n", addr[4],addr[3],addr[2],addr[1],addr[0]); - readReg(TX_ADDR, addr, addressWidth); printf("TX_ADDR\t\t = 0x%02x%02x%02x%02x%02x\r\n", addr[4],addr[3],addr[2],addr[1],addr[0]); + printReg("RX_ADDR_P0", RX_ADDR_P0, addressWidth); + printReg("RX_ADDR_P1", RX_ADDR_P1, addressWidth); + printReg("RX_ADDR_P2", RX_ADDR_P2, addressWidth); + printReg("RX_ADDR_P3", RX_ADDR_P3, addressWidth); + printReg("RX_ADDR_P4", RX_ADDR_P4, addressWidth); + printReg("RX_ADDR_P5", RX_ADDR_P5, addressWidth); + printReg("TX_ADDR", TX_ADDR, addressWidth); - printf("RX_PW_P0-5\t = "); - readReg(RX_PW_P0, &data); printf("0x%02x ", data); - readReg(RX_PW_P1, &data); printf("0x%02x ", data); - readReg(RX_PW_P2, &data); printf("0x%02x ", data); - readReg(RX_PW_P3, &data); printf("0x%02x ", data); - readReg(RX_PW_P4, &data); printf("0x%02x ", data); - readReg(RX_PW_P5, &data); printf("0x%02x ", data); - printf("\r\n"); - readReg(EN_AA, &data); - printf("EN_AA\t\t = 0x%02x\r\n", data); - readReg(EN_RXADDR, &data); - printf("EN_RXADDR\t = 0x%02x\r\n", data); - readReg(RF_CH, &data); - printf("RF_CH\t\t = 0x%02x\r\n", data); - readReg(RF_SETUP, &data); - printf("RF_SETUP\t = 0x%02x\r\n", data); - readReg(CONFIG, &data); - printf("CONFIG\t\t = 0x%02x\r\n", data); - readReg(DYNPD, &data); - printf("DYNPD\t\t = 0x%02x\r\n", data); - readReg(FEATURE, &data); - printf("FEATURE\t\t = 0x%02x\r\n", data); + printReg("RX_PW_P0", RX_PW_P0, false); // false for no newline, save some space + printReg(" RX_PW_P1", RX_PW_P1, false); + printReg(" RX_PW_P2", RX_PW_P2); + printReg("RX_PW_P3", RX_PW_P3, false); + printReg(" RX_PW_P4", RX_PW_P4, false); + printReg(" RX_PW_P5", RX_PW_P5); + + printReg("EN_AA", EN_AA); + printReg("EN_RXADDR", EN_RXADDR); + printReg("RF_CH", RF_CH); + printReg("RF_SETUP", RF_SETUP); + printReg("DYNPD", DYNPD); + printReg("FEATURE", FEATURE); } \ No newline at end of file