#include <SEGGER_RTT.h>
#include "util.h"

void hexdump(char *buf, size_t size, uint32_t width) {
    if (width == 0) {
        width = 16;
    }
    SEGGER_RTT_SetFlagsUpBuffer(0, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL);
    for (unsigned int i = 0; i < size; i++) {
        SEGGER_RTT_printf(0, "%.2x ", buf[i]);
        if ((i+1) % width == 0) {
            SEGGER_RTT_printf(0,"\n");
        }
    }
    SEGGER_RTT_printf(0,"\n");
    SEGGER_RTT_SetFlagsUpBuffer(0, SEGGER_RTT_MODE_DEFAULT);
}
