/* function pointer of sendchar to be used by print utility */
void print_set_sendchar(int8_t (*print_sendchar_func)(uint8_t));
-#elif defined(__arm__)
+#elif defined(PROTOCOL_CHIBIOS) /* __AVR__ */
+
+#include "chibios/printf.h"
+
+#define print(s) printf(s)
+#define println(s) printf(s "\r\n")
+#define xprintf printf
+
+#elif defined(__arm__) /* __AVR__ */
#include "mbed/xprintf.h"
#else /* NO_PRINT */
-#define xprintf
-#define print
-#define println
-#define print_set_sendchar(func)
-#define print_dec(data)
-#define print_decs(data)
-#define print_hex4(data)
-#define print_hex8(data)
-#define print_hex16(data)
-#define print_hex32(data)
-#define print_bin4(data)
-#define print_bin8(data)
-#define print_bin16(data)
-#define print_bin32(data)
-#define print_bin_reverse8(data)
-#define print_bin_reverse16(data)
-#define print_bin_reverse32(data)
-#define print_val_dec(v)
-#define print_val_decs(v)
-#define print_val_hex8(v)
-#define print_val_hex16(v)
-#define print_val_hex32(v)
-#define print_val_bin8(v)
-#define print_val_bin16(v)
-#define print_val_bin32(v)
-#define print_val_bin_reverse8(v)
-#define print_val_bin_reverse16(v)
-#define print_val_bin_reverse32(v)
+#define xprintf(s,...) ((void)0)
+#define print(s) ((void)0)
+#define println(s) ((void)0)
+#define print_set_sendchar(func) ((void)0)
+#define print_dec(data) ((void)0)
+#define print_decs(data) ((void)0)
+#define print_hex4(data) ((void)0)
+#define print_hex8(data) ((void)0)
+#define print_hex16(data) ((void)0)
+#define print_hex32(data) ((void)0)
+#define print_bin4(data) ((void)0)
+#define print_bin8(data) ((void)0)
+#define print_bin16(data) ((void)0)
+#define print_bin32(data) ((void)0)
+#define print_bin_reverse8(data) ((void)0)
+#define print_bin_reverse16(data) ((void)0)
+#define print_bin_reverse32(data) ((void)0)
+#define print_val_dec(v) ((void)0)
+#define print_val_decs(v) ((void)0)
+#define print_val_hex8(v) ((void)0)
+#define print_val_hex16(v) ((void)0)
+#define print_val_hex32(v) ((void)0)
+#define print_val_bin8(v) ((void)0)
+#define print_val_bin16(v) ((void)0)
+#define print_val_bin32(v) ((void)0)
+#define print_val_bin_reverse8(v) ((void)0)
+#define print_val_bin_reverse16(v) ((void)0)
+#define print_val_bin_reverse32(v) ((void)0)
+#define init_printf(s,ss) ((void)0)
#endif /* NO_PRINT */