diff options
| author | hathach <[email protected]> | 2020-11-01 13:37:56 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2020-11-01 13:37:56 +0700 |
| commit | 67ac40b98d217dde82090bf10a0cf55af5d1c44b (patch) | |
| tree | 3e0e9c25134055995dc0d9ef03a9134b82f2998e | |
| parent | 8f0f2d1863036521422b3eb840a98c3aa7fdff2e (diff) | |
house keeping: make tu_print_mem format easier to compare with hex2dump
| -rw-r--r-- | examples/device/audio_test/src/tusb_config.h | 6 | ||||
| -rw-r--r-- | src/common/tusb_common.h | 2 | ||||
| -rw-r--r-- | src/tusb.c | 24 |
3 files changed, 17 insertions, 15 deletions
diff --git a/examples/device/audio_test/src/tusb_config.h b/examples/device/audio_test/src/tusb_config.h index 16f88a4da..5d94858ea 100644 --- a/examples/device/audio_test/src/tusb_config.h +++ b/examples/device/audio_test/src/tusb_config.h @@ -47,6 +47,10 @@ extern "C" { #define CFG_TUSB_OS OPT_OS_NONE +#ifndef CFG_TUSB_DEBUG +#define CFG_TUSB_DEBUG 0 +#endif + // CFG_TUSB_DEBUG is defined by compiler in DEBUG build // #define CFG_TUSB_DEBUG 0 @@ -105,8 +109,6 @@ extern "C" { // Size of control request buffer #define CFG_TUD_AUDIO_CTRL_BUF_SIZE 64 -#define CFG_TUSB_DEBUG 0 - #ifdef __cplusplus } #endif diff --git a/src/common/tusb_common.h b/src/common/tusb_common.h index 15892fa33..f10be88ab 100644 --- a/src/common/tusb_common.h +++ b/src/common/tusb_common.h @@ -213,7 +213,7 @@ static inline bool tu_bit_test (uint32_t value, uint8_t pos) { return (value // 2 : print out log #if CFG_TUSB_DEBUG -void tu_print_mem(void const *buf, uint16_t count, uint8_t indent); +void tu_print_mem(void const *buf, uint32_t count, uint8_t indent); #ifdef CFG_TUSB_DEBUG_PRINTF extern int CFG_TUSB_DEBUG_PRINTF(const char *format, ...); diff --git a/src/tusb.c b/src/tusb.c index 1bc134dba..bed525b9f 100644 --- a/src/tusb.c +++ b/src/tusb.c @@ -70,20 +70,24 @@ char const* const tusb_strerr[TUSB_ERROR_COUNT] = { ERROR_TABLE(ERROR_STRING) }; static void dump_str_line(uint8_t const* buf, uint16_t count) { + tu_printf(" |"); + // each line is 16 bytes for(uint16_t i=0; i<count; i++) { const char ch = buf[i]; tu_printf("%c", isprint(ch) ? ch : '.'); } + + tu_printf("|\r\n"); } /* Print out memory contents - * - size : item size in bytes + * - buf : buffer * - count : number of item * - indent: prefix spaces on every line */ -void tu_print_mem(void const *buf, uint16_t count, uint8_t indent) +void tu_print_mem(void const *buf, uint32_t count, uint8_t indent) { uint8_t const size = 1; // fixed 1 byte for now @@ -95,29 +99,27 @@ void tu_print_mem(void const *buf, uint16_t count, uint8_t indent) uint8_t const *buf8 = (uint8_t const *) buf; - char format[] = "%00lX"; + char format[] = "%00X"; format[2] += 2*size; const uint8_t item_per_line = 16 / size; - for(uint16_t i=0; i<count; i++) + for(unsigned int i=0; i<count; i++) { - uint32_t value=0; + unsigned int value=0; if ( i%item_per_line == 0 ) { // Print Ascii if ( i != 0 ) { - tu_printf(" | "); dump_str_line(buf8-16, 16); - tu_printf("\r\n"); } for(uint8_t s=0; s < indent; s++) tu_printf(" "); // print offset or absolute address - tu_printf("%03X: ", 16*i/item_per_line); + tu_printf("%04X: ", 16*i/item_per_line); } memcpy(&value, buf8, size); @@ -128,21 +130,19 @@ void tu_print_mem(void const *buf, uint16_t count, uint8_t indent) } // fill up last row to 16 for printing ascii - const uint16_t remain = count%16; + const uint32_t remain = count%16; uint8_t nback = (remain ? remain : 16); if ( remain ) { - for(uint16_t i=0; i< 16-remain; i++) + for(uint32_t i=0; i< 16-remain; i++) { tu_printf(" "); for(int j=0; j<2*size; j++) tu_printf(" "); } } - tu_printf(" | "); dump_str_line(buf8-nback, nback); - tu_printf("\r\n"); } #endif |
