How yiaobang/kserial works
KSerial is a desktop serial-workbench with three user workflows: connect and inspect a serial device, simulate a configured device response, or route data between serial ports. The graph follows the documented workspace and capabilities; some subsystem wiring is inferred only where the README explicitly describes behavior, since several implementation files were not sampled.
Main entry points: SerialViewModel.kt Terminal session · GatewayViewModel.kt Gateway session · App.kt Workspace screens · SerialComm.kt Serial transport
Components 19
Workspace UI
- Desktop app
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/main.kt - Workspace state
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/workspace/WorkspaceState.kt - Workspace tabs
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/workspace/WorkspaceTabContent.kt - Workspace screens
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/App.kt
Serial terminal
- Terminal session
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/SerialViewModel.kt - Port settings
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/model/SerialPortConfig.kt - Serial transport
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/serial/SerialComm.kt - Port discovery
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/serial/PortMonitor.kt
Device simulation
- Simulator session
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/App.kt - Response rules
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/model/DeviceSimulator.kt
Serial gateway
- Gateway session
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/feature/GatewayViewModel.kt
Shared services
- Config validation
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/model/ConfigValidation.kt - Frame parsing
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/utils/FrameParser.kt - Checksums
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/utils/ChecksumUtils.kt - Log export
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/utils/LogExporter.kt - Settings store
composeApp/src/jvmMain/kotlin/com/yiaobang/kserial/model/AppSettingsStore.kt
Other components
- Operator
- Serial device
- HOCON configs
Connections 23
- Operator → Desktop app: uses
- Desktop app → Workspace state: creates
- Workspace state → Workspace tabs: manages
- Desktop app → Workspace screens: renders
- Workspace screens → Terminal session: controls
- Workspace screens → Simulator session: controls
- Workspace screens → Gateway session: controls
- Terminal session → Serial transport: opens and transfers
- Serial transport → Serial device: reads and writes
- Port discovery → Terminal session: reports ports
- Terminal session → Port settings: uses settings
- Simulator session → Config validation: validates config
- Simulator session → Response rules: matches requests
- Simulator session → Serial transport: communicates over
- HOCON configs → Simulator session: loads rules
- Gateway session → Config validation: validates config
- Gateway session → Serial transport: opens endpoints
- Gateway session → Gateway session: routes received bytes
- HOCON configs → Gateway session: loads routes
- Terminal session → Frame parsing: frames received data
- Terminal session → Checksums: calculates checksums
- Workspace screens → Log export: exports logs
- Workspace state → Settings store: loads and saves