@@ -295,70 +295,45 @@ char serial_read(void) {
295295}
296296
297297uint32_t serial_bytes_available (void ) {
298+ // There may be multiple serial input channels, so sum the count from all.
299+ uint32_t count = 0 ;
300+
298301 #if CIRCUITPY_USB_VENDOR
299302 if (tud_vendor_connected ()) {
300- uint32_t count = tud_vendor_available ();
301- if (count > 0 ) {
302- return count ;
303- }
303+ count += tud_vendor_available ();
304304 }
305305 #endif
306306
307307 #if CIRCUITPY_CONSOLE_UART
308- {
309- uint32_t count = common_hal_busio_uart_rx_characters_available (& console_uart );
310- if (count > 0 ) {
311- return count ;
312- }
313- }
308+ count += common_hal_busio_uart_rx_characters_available (& console_uart );
314309 #endif
315310
316311 #if CIRCUITPY_SERIAL_BLE
317- {
318- uint32_t count = ble_serial_available ();
319- if (count > 0 ) {
320- return count ;
321- }
322- }
312+ count += ble_serial_available ();
323313 #endif
324314
325315 #if CIRCUITPY_WEB_WORKFLOW
326- {
327- uint32_t count = websocket_available ();
328- if (count > 0 ) {
329- return count ;
330- }
331- }
316+ count += websocket_available ();
332317 #endif
333318
334319 #if CIRCUITPY_USB_KEYBOARD_WORKFLOW
335- {
336- uint32_t count = usb_keyboard_chars_available ();
337- if (count > 0 ) {
338- return count ;
339- }
340- }
320+ count += usb_keyboard_chars_available ();
341321 #endif
342322
343323 #if CIRCUITPY_USB_CDC
344324 if (usb_cdc_console_enabled ()) {
345- uint32_t count = tud_cdc_available ();
346- if (count > 0 ) {
347- return count ;
348- }
325+ count += tud_cdc_available ();
349326 }
350327 #endif
351328
352329 #if CIRCUITPY_USB
353- {
354- uint32_t count = tud_cdc_available ();
355- if (count > 0 ) {
356- return count ;
357- }
358- }
330+ count += tud_cdc_available ();
359331 #endif
360332
361- return port_serial_bytes_available ();
333+ // Port-specific serial input.
334+ count += port_serial_bytes_available ();
335+
336+ return count ;
362337}
363338
364339void serial_write_substring (const char * text , uint32_t length ) {
0 commit comments