diff --git a/impl/src/main.c b/impl/src/main.c index 37b86da..09d0680 100644 --- a/impl/src/main.c +++ b/impl/src/main.c @@ -69,47 +69,6 @@ void print_complex_array(const char *varname, float complex const *array, size_t } -void hexdump(const uint8_t *data, size_t len) -{ - static const char lut[16] = "0123456789ABCDEF"; - static const size_t BYTES_PER_LINE = 16; - - size_t pos = 0; - - while(pos < len) { - size_t bytes_in_line = len - pos; - if(bytes_in_line > BYTES_PER_LINE) { - bytes_in_line = BYTES_PER_LINE; - } - - for(size_t i = 0; i < BYTES_PER_LINE; i++) { - if(i >= bytes_in_line) { - fputs(" ", stderr); - } else { - uint8_t byte = data[pos+i]; - - fprintf(stderr, "%c%c ", lut[byte >> 4], lut[byte & 0x0F]); - } - } - - fputs(" ", stderr); - - for(size_t i = 0; i < bytes_in_line; i++) { - uint8_t byte = data[pos+i]; - - if(isprint(byte)) { - putc(byte, stderr); - } else { - putc('.', stderr); - } - } - - putc('\n', stderr); - pos += bytes_in_line; - } -} - - void cb_rx(rx_evt_t evt, const struct layer1_rx_s *rx, uint8_t *packet_data, size_t packet_len) { int ret; diff --git a/impl/src/utils.c b/impl/src/utils.c index 9047d20..7f8daa7 100644 --- a/impl/src/utils.c +++ b/impl/src/utils.c @@ -97,3 +97,44 @@ void sleep_until(double hires_time) } while(ret == EINTR); } +void hexdump(const uint8_t *data, size_t len) +{ + static const char lut[16] = "0123456789ABCDEF"; + static const size_t BYTES_PER_LINE = 16; + + size_t pos = 0; + + while(pos < len) { + size_t bytes_in_line = len - pos; + if(bytes_in_line > BYTES_PER_LINE) { + bytes_in_line = BYTES_PER_LINE; + } + + for(size_t i = 0; i < BYTES_PER_LINE; i++) { + if(i >= bytes_in_line) { + fputs(" ", stderr); + } else { + uint8_t byte = data[pos+i]; + + fprintf(stderr, "%c%c ", lut[byte >> 4], lut[byte & 0x0F]); + } + } + + fputs(" ", stderr); + + for(size_t i = 0; i < bytes_in_line; i++) { + uint8_t byte = data[pos+i]; + + if(isprint(byte)) { + putc(byte, stderr); + } else { + putc('.', stderr); + } + } + + putc('\n', stderr); + pos += bytes_in_line; + } +} + + diff --git a/impl/src/utils.h b/impl/src/utils.h index 68d0e26..f62a2c9 100644 --- a/impl/src/utils.h +++ b/impl/src/utils.h @@ -28,4 +28,6 @@ void sleep_until(double hires_time); void fsleep(double d); double get_hires_time(void); +void hexdump(const uint8_t *data, size_t len); + #endif // UTILS_H diff --git a/impl/test/layer1/test_loopback.c b/impl/test/layer1/test_loopback.c index 72894e0..e8fb256 100644 --- a/impl/test/layer1/test_loopback.c +++ b/impl/test/layer1/test_loopback.c @@ -33,47 +33,6 @@ void print_complex_array(const char *varname, float complex const *array, size_t } -void hexdump(const uint8_t *data, size_t len) -{ - static const char lut[16] = "0123456789ABCDEF"; - static const size_t BYTES_PER_LINE = 16; - - size_t pos = 0; - - while(pos < len) { - size_t bytes_in_line = len - pos; - if(bytes_in_line > BYTES_PER_LINE) { - bytes_in_line = BYTES_PER_LINE; - } - - for(size_t i = 0; i < BYTES_PER_LINE; i++) { - if(i >= bytes_in_line) { - fputs(" ", stderr); - } else { - uint8_t byte = data[pos+i]; - - fprintf(stderr, "%c%c ", lut[byte >> 4], lut[byte & 0x0F]); - } - } - - fputs(" ", stderr); - - for(size_t i = 0; i < bytes_in_line; i++) { - uint8_t byte = data[pos+i]; - - if(isprint(byte)) { - putc(byte, stderr); - } else { - putc('.', stderr); - } - } - - putc('\n', stderr); - pos += bytes_in_line; - } -} - - void cb_rx(rx_evt_t evt, const layer1_rx_t *rx, uint8_t *packet_data, size_t packet_len) { (void)rx; diff --git a/impl/test/layer1/test_rx_file.c b/impl/test/layer1/test_rx_file.c index 03b911c..c440a1f 100644 --- a/impl/test/layer1/test_rx_file.c +++ b/impl/test/layer1/test_rx_file.c @@ -5,6 +5,7 @@ #include #include "logger.h" +#include "utils.h" #include "layer1/rx.h" #include "config.h"