mirror of
https://github.com/0xFEEDC0DE64/arduino-esp32.git
synced 2025-07-30 02:37:14 +02:00
Add log_buf to pretty print buffers
``` /* 0x0000 */ 0x7b, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // {{.............. /* 0x0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ ```
This commit is contained in:
@ -669,6 +669,36 @@ int log_printf(const char *format, ...)
|
||||
return len;
|
||||
}
|
||||
|
||||
static void log_print_buf_line(const uint8_t *b, size_t len, size_t total_len){
|
||||
for(size_t i = 0; i<len; i++){
|
||||
log_printf("%s0x%02x,",i?" ":"", b[i]);
|
||||
}
|
||||
if(total_len > 16){
|
||||
for(size_t i = len; i<16; i++){
|
||||
log_printf(" ");
|
||||
}
|
||||
log_printf(" // ");
|
||||
} else {
|
||||
log_printf(" // ");
|
||||
}
|
||||
for(size_t i = 0; i<len; i++){
|
||||
log_printf("%c",((b[i] >= 0x20) && (b[i] < 0x80))?b[i]:'.');
|
||||
}
|
||||
log_printf("\n");
|
||||
}
|
||||
|
||||
void log_print_buf(const uint8_t *b, size_t len){
|
||||
if(!len || !b){
|
||||
return;
|
||||
}
|
||||
for(size_t i = 0; i<len; i+=16){
|
||||
if(len > 16){
|
||||
log_printf("/* 0x%04X */ ", i);
|
||||
}
|
||||
log_print_buf_line(b+i, ((len-i)<16)?(len - i):16, len);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* if enough pulses are detected return the minimum high pulse duration + minimum low pulse duration divided by two.
|
||||
* This equals one bit period. If flag is true the function return inmediately, otherwise it waits for enough pulses.
|
||||
|
Reference in New Issue
Block a user