7 #ifndef ZRTOS_DEBUG_CONSOLE_H 8 #define ZRTOS_DEBUG_CONSOLE_H 13 #ifdef ZRTOS_DEBUG__CFG_ENABLED 18 #define ZRTOS_DEBUG_CONSOLE__INIT(name,length)\ 19 uint8_t name##_buffer[length];\ 20 zrtos_debug_console_t name = {\ 21 .buffer = name##_buffer\ 22 ,.ptr = name##_buffer\ 23 ,.buffer_length = sizeof(name##_buffer)/sizeof(name##_buffer[0])\ 26 typedef struct _zrtos_debug_console_t{
30 }zrtos_debug_console_t;
32 void zrtos_debug_console__put_char(zrtos_debug_console_t *thiz,
char c){
33 if(thiz->ptr > thiz->buffer + thiz->buffer_length){
34 thiz->ptr = thiz->buffer;
39 static void zrtos_debug_console__printf_callback(
void *args,
char c){
40 zrtos_debug_console__put_char((zrtos_debug_console_t *)args,c);
43 void zrtos_debug_console__printf(
44 zrtos_debug_console_t *thiz
51 zrtos_debug_console__printf_callback
static void zrtos_str__vsnprintf_internal(void(*putc)(void *args, char c), void *putc_args, char const *fmt, va_list arg)