From 4cf229ee3a950804d4b6c8f70511839e2d772fc4 Mon Sep 17 00:00:00 2001 From: Jasmine Iwanek Date: Sat, 5 Nov 2022 21:43:42 -0400 Subject: [PATCH] Port the very basic serial console from mtrr It's enabled by the flag ENABLE_SERIAL CONSOLE --- src/device/serial.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/device/serial.c b/src/device/serial.c index 48f206f84..16573c82f 100644 --- a/src/device/serial.c +++ b/src/device/serial.c @@ -51,6 +51,7 @@ enum { static int next_inst = 0; static serial_device_t serial_devices[SERIAL_MAX]; +//#define ENABLE_SERIAL_CONSOLE 1 #ifdef ENABLE_SERIAL_LOG int serial_do_log = ENABLE_SERIAL_LOG; @@ -193,6 +194,15 @@ serial_transmit(serial_t *dev, uint8_t val) write_fifo(dev, val); else if (dev->sd->dev_write) dev->sd->dev_write(dev, dev->sd->priv, val); +#ifdef ENABLE_SERIAL_CONSOLE + if ((val >= ' ' && val <= '~') || val == '\r' || val == '\n') { + fputc(val, stdout); + if (val == '\n') + fflush(stdout); + } else { + fprintf(stdout, "[%02X]", val); + } +#endif } static void