Skip to content

core: Support SerialUSB#209

Draft
soburi wants to merge 2 commits into
zephyrproject-rtos:nextfrom
soburi:serialusb
Draft

core: Support SerialUSB#209
soburi wants to merge 2 commits into
zephyrproject-rtos:nextfrom
soburi:serialusb

Conversation

@soburi

@soburi soburi commented Jul 5, 2026

Copy link
Copy Markdown
Member

Import codes to support SerialUSB function.

soburi and others added 2 commits July 5, 2026 23:29
- Refactored ZephyrSerial's send/receive logic and protected the RX/TX
  ring buffers with semaphores.
- Modified `write()` to write the entire payload by calling `yield()`
  if the data exceeds buffer capacity.
- Added support for `availableForWrite()`, `flush()`, and the `Print::write`
  overload to align with the Arduino Core implementation.
- UART re-initialization logic move to `_reinit_if_needed()`.
- Added a mechanism to shift the standard UART to `Serial1` (or higher)
  if `Serial` is occupied by `cdc_acm_serial` or `arduino_router_serial`.
- Added macros (such as `ARDUINO_CONSOLE_SERIAL` and `ARDUINO_HARDWARE_SERIAL`)
  to reference `Serial` objects based on their specific use cases.

Co-authored-by: Kurt Eckhardt <kurte@rockisland.com>
Co-authored-by: Luca Burelli <l.burelli@arduino.cc>
Co-authored-by: Martino Facchin <m.facchin@arduino.cc>
Co-authored-by: Mattia Pennasilico <m.pennasilico@arduino.cc>
Co-authored-by: Tamas Jozsi <tamas.jozsi@silabs.com>
Co-authored-by: iabdalkader <i.abdalkader@gmail.com>
Co-authored-by: kurte <kurte@rockisland.com>
Co-authored-by: pennam <m.pennasilico@arduino.cc>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Import codes to support SerialUSB function.

Co-authored-by: Daniele Cloralio <d.cloralio@arduino.cc>
Co-authored-by: Luca Burelli <l.burelli@arduino.cc>
Co-authored-by: Martino Facchin <m.facchin@arduino.cc>
Co-authored-by: iabdalkader <i.abdalkader@gmail.com>
Co-authored-by: kurte <kurte@rockisland.com>
Co-authored-by: pennam <m.pennasilico@arduino.cc>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant