void dbg_blocking_putchar(const char ch) { if (dbg_write_overrun) { while (dbg_send_bytes((const unsigned char*) "^", 1) != 1) ; } dbg_write_overrun = 0; while (dbg_send_bytes((const unsigned char*) &ch, 1) != 1) ; }
void dbg_putchar(const char ch) { if (dbg_write_overrun) { if (dbg_send_bytes((const unsigned char*) "^", 1) != 1) return; } dbg_write_overrun = 0; if (dbg_send_bytes((const unsigned char*) &ch, 1) != 1) { dbg_write_overrun = 1; } }
int puts(const char *s) { unsigned int l = strlen(s); dbg_send_bytes((const unsigned char *)s, l); return l; }
int _write(int file, char *ptr, int len) { dbg_send_bytes((uint8_t*)ptr,len); #if PRINTF_VCP VCP_send_buffer((uint8_t*)ptr, len); return len; #else debug_buffer_append(ptr, len); return len; #endif }
static StrFormatResult write_str(void *user_data, const char *data, unsigned int len) { dbg_send_bytes((unsigned char*)data, len); return STRFORMAT_OK; }