From a90347438e51bbd5f65c1c58c76ba339df7fc814 Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Tue, 29 Nov 2022 00:53:17 +0100 Subject: Refactoring and added sdk uart (not working) --- src/usb_stdio.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/usb_stdio.c (limited to 'src/usb_stdio.c') diff --git a/src/usb_stdio.c b/src/usb_stdio.c new file mode 100644 index 0000000..90beefb --- /dev/null +++ b/src/usb_stdio.c @@ -0,0 +1,40 @@ +#include "usb_stdio.h" + +#include "pico/stdio/driver.h" +#include "tusb.h" + +static void usb_stdio_write(const char *buf, int len); +static void usb_stdio_flush(void); +static int usb_stdio_read(char *buf, int len); + +static struct stdio_driver usb_stdio = { + .out_chars = usb_stdio_write, + .out_flush = usb_stdio_flush, + .in_chars = usb_stdio_read, + .next = NULL +}; + +void +usb_stdio_write(const char *buf, int len) +{ + tud_cdc_write(buf, (uint32_t) len); +} + +void +usb_stdio_flush(void) +{ + tud_cdc_write_flush(); +} + +int +usb_stdio_read(char *buf, int len) +{ + return (int) tud_cdc_read(buf, (uint32_t) len); +} + +void +usb_stdio_init(void) +{ + stdio_set_driver_enabled(&usb_stdio, true); + stdio_init_all(); +} -- cgit v1.2.3-71-gd317