How yiaobang/serialporttoolfx works
SerialPortToolFX is a JavaFX serial-port debugging application. The main workflow is to discover and configure a port, open a connection, send and receive ASCII or HEX data, inspect or save traffic, and optionally load a JSON device simulator that replies to matching packets. Separate windows support parallel device sessions; the UI also provides internationalization and theme switching. The graph follows documented capabilities and sampled call sites; listener internals and some UI wiring were not sampled, so uncertain links are omitted.
Main entry points: SerialPortView.java Serial window · SerialComm.java Serial session · DeviceSimulator.java Device simulator · PortMonitor.java Port monitor
Components 19
Application UI
- App launcher
src/main/java/com/yiaobang/serialPortToolFX/AppLauncher.java - Serial window
src/main/java/com/yiaobang/serialPortToolFX/view/SerialPortView.java
Serial Communication
- Port monitor
src/main/java/com/yiaobang/serialPortToolFX/serial/PortMonitor.java - Serial session
src/main/java/com/yiaobang/serialPortToolFX/serial/SerialComm.java - Data listener
src/main/java/com/yiaobang/serialPortToolFX/serial/SerialDataListener.java
Traffic and Simulation
- ASCII / HEX format
src/main/java/com/yiaobang/serialPortToolFX/utils/CodeFormat.java - Receive buffer
src/main/java/com/yiaobang/serialPortToolFX/model/ByteBuffer.java - Traffic file writer
src/main/java/com/yiaobang/serialPortToolFX/model/DataWriteFile.java - Device simulator
src/main/java/com/yiaobang/serialPortToolFX/model/DeviceSimulator.java - Fixed-length framing
src/main/java/com/yiaobang/serialPortToolFX/model/FixedLengthSimulator.java - Delimiter framing
src/main/java/com/yiaobang/serialPortToolFX/model/DelimiterBasedSimulator.java
UI Framework
- Theme selection
src/main/java/com/yiaobang/serialPortToolFX/framework/theme/Theme.java - Localization
src/main/java/com/yiaobang/serialPortToolFX/utils/I18nUtils.java - JavaFX helpers
src/main/java/com/yiaobang/serialPortToolFX/framework/core/FX.java
Other components
- Engineer
- System serial ports
- Serial device
- Local files
- Simulator JSON
Connections 26
- Engineer → Serial window: operates
- App launcher → Port monitor: starts monitoring
- App launcher → Serial window: opens window
- Port monitor → System serial ports: scans
- Serial window → Port monitor: reads port list
- Serial window → Serial session: configures session
- Serial window → Serial session: sends bytes
- Serial window → ASCII / HEX format: converts input
- Serial window → ASCII / HEX format: formats display
- Serial window → Theme selection: switches theme
- Serial window → Localization: loads translations
- Serial window → JavaFX helpers: creates windows
- Serial session → Data listener: creates listener
- Serial session → System serial ports: finds port
- Serial session → Serial device: reads and writes
- Serial session → Receive buffer: stores received data
- Serial window → Receive buffer: clears display buffer
- Serial session → Traffic file writer: records traffic
- Traffic file writer → Local files: writes traffic
- Engineer → Simulator JSON: selects configuration
- Serial window → Serial session: loads simulator
- Serial session → Device simulator: creates and feeds
- Device simulator → Simulator JSON: reads rules
- Device simulator → Fixed-length framing: creates fixed framing
- Device simulator → Delimiter framing: creates delimiter framing
- Device simulator → Serial session: writes matched reply