Skip to content

Opentronika/SerialGUI-rs

Repository files navigation

SerialGUI-Rs

A lightweight serial terminal monitor written in Rust

SerialGUI-Rs is a cross-platform graphical serial monitor application that uses the serialport-rs library as its backend and eframe for the graphical interface.

Screenshot

Features

  • Real-time serial port monitoring.
  • Cross-platform support (Windows, macOS, Linux).
  • Intuitive and user-friendly graphical interface.
  • Configuration of serial communication parameters (baud rate, parity, etc.).

Installation

Download the latest release for your platform from the Releases page:

Linux

  • x86_64 (Intel/AMD 64-bit):

    • File: SerialGUI_rs-Linux-x64.AppImage
    • The SHA256 hash is available on the download page.
  • ARM64 (Raspberry Pi, etc):

    • File: SerialGUI_rs-Linux-arm64.AppImage
    • The SHA256 hash is available on the download page.

To run the AppImage:

chmod +x SerialGUI_rs-*.AppImage
./SerialGUI_rs-*.AppImage

macOS

  • Apple Silicon (ARM64):

    • File: SerialGUI_rs-MacOS-arm64.dmg
    • The SHA256 hash is available on the download page.
  • Intel (x64):

    • File: SerialGUI_rs-MacOS-x64.dmg
    • The SHA256 hash is available on the download page.

To install:

  1. Download the .dmg file for your architecture from the latest release.
  2. Open it and drag the app to your Applications folder.

Windows

  • x86_64 (64-bit):
    • File: SerialGUI_rs-x86_64-pc-windows-msvc.exe
    • The SHA256 hash is available on the download page.

To install:

  1. Download the .exe file from the latest release.
  2. Double-click to run.

Tip:
You can verify the integrity of your download with the provided SHA256 hash. For example, on Linux/macOS:

sha256sum SerialGUI_rs-*.AppImage

or on Windows (PowerShell):

Get-FileHash .\SerialGUI_rs-x86_64-pc-windows-msvc.exe -Algorithm SHA256

Usage from cargo

  1. Run the application:
    cargo run --release
  2. Select the serial port and configure the parameters according to your needs.
  3. Start monitoring the serial communication.

Graph Mode

SerialGUI-Rs now includes a graph visualization feature for displaying numeric data in real-time.

How to Use Graph Mode

  1. Enable the chart panel by checking "Show chart panel" in the top menu bar
  2. Send numeric data in a comma-separated format through your serial device
  3. Watch as your data is automatically plotted on the chart

Supported Data Format

The graph mode accepts data in the following format:

value1,value2,value3,value4,...

Examples:

  • Simple integers: 1,2,3,4,5,6
  • Decimal values: 1.5,2.7,3.2,4.8
  • Mixed data: 10,25.5,30,15.2
  • Negative numbers: -1,2,-3.5,4

Features

  • Real-time plotting: Data points appear immediately as they arrive
  • Auto-scaling: The Y-axis automatically adjusts to fit your data range
  • Streaming support: Works with continuous data streams
  • Fragmentation handling: Correctly processes data split across multiple packets
  • Memory efficient: Limits data history to 1000 samples to prevent memory issues
  • Grid lines: Visual reference lines help interpret the data values
  • Axis labels: Clear X and Y axis labels showing data values and sample indices

Contribution

Thank you for considering contributing to SerialGUI-Rs! Here are some basic rules for contributing to the project, following the guidelines of GNU projects:

  1. Install git hooks
./setup-hooks.sh
  1. Clean and documented code: Ensure your code is well-documented and follows the project's style conventions.
  2. Clear commits: Make small, clear commits with descriptive messages.
  3. Pull requests: Submit your changes through pull requests and make sure your code passes all tests before submitting.
  4. Open discussion: If you have any ideas or suggestions, feel free to open an issue to discuss it with the community.

For more details, check the GNU Contribution Guide.

Contributors

Made with contrib.rocks.

About

A lightweight serial terminal monitor written in Rust

Resources

License

Stars

Watchers

Forks

Packages

No packages published