summaryrefslogtreecommitdiff
path: root/supervisor/shared/serial.c
diff options
context:
space:
mode:
Diffstat (limited to 'supervisor/shared/serial.c')
-rw-r--r--supervisor/shared/serial.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/supervisor/shared/serial.c b/supervisor/shared/serial.c
index 303f89e75..7383cc228 100644
--- a/supervisor/shared/serial.c
+++ b/supervisor/shared/serial.c
@@ -69,7 +69,9 @@ bool serial_connected(void) {
#if defined(DEBUG_UART_TX) && defined(DEBUG_UART_RX)
return true;
#else
- return tud_cdc_connected();
+ // True if DTR is asserted, and the USB connection is up.
+ // tud_cdc_get_line_state(): bit 0 is DTR, bit 1 is RTS
+ return (tud_cdc_get_line_state() & 1) && tud_ready();
#endif
}