Expand description
Target-side FDomain UART driver daemon for Fuchsia devices.
This component acts as the target-side transport bridge between a physical or
virtual serial device (/dev/class/serial) and the Remote Control Service
(fuchsia.developer.remotecontrol.connector.Connector).
§Architecture
- Boot Argument Check: Checks
fuchsia.boot.Argumentsfordev.fdomain.uart(defaults to disabled; opt-in viadev.fdomain.uart=true) anddev.fdomain.uart.baud(defaults to1000000). - Device Discovery: Scans
/dev/class/serial, preferringClass::Genericports overClass::Consoleports, and configures 8N1 at the target baud rate. - Handshake: Runs
TargetHandshakesupportingProtocolId::ResendSP(Go-Back-N sliding-window framing) and preserves any trailing bytes read past the handshake frame. - Bridge Tasks: Spawns four concurrent tasks (
writer_task,receiver_task,sender_task, andcoordinator_task) that multiplex FDomain channels over UART frames and connect each channel to RCS viafdomain_toolbox_socket.
Re-exports§
pub use error::Result;
Modules§
- coordinator
- Multiplexed FDomain channel coordinator and RCS socket bridge tasks.
- error
- Error types for the target-side FDomain UART driver.
- receiver
- Target-side ResendSP frame receiver task and session validation.
- sender
- Target-side ResendSP Go-Back-N sender task and retransmission management.
- serial
- Low-level serial I/O traits, device discovery, handshake, frame reader, and writer task.
Functions§
- run_
driver - Runs the target-side FDomain UART driver daemon.