Skip to content

Repository files navigation

ComCross

A cross-platform embedded communication toolbox for serial, TCP, and UDP workflows.

Documentation notice: repository documentation may be drafted or translated with AI assistance. Treat translated documents as convenience references. For security, release verification, and implementation decisions, verify against the English source documents and project history.

License .NET Platform Version

Languages

Status

ComCross is preparing the v0.6.0 release. This release focuses on optional session archive history, large message viewing, cancellable message search, and message workflow stability on top of the v0.5 release packaging baseline.

The v0.4.0+ workspace format is not compatible with old v0.3 session state. Existing sessions from older development builds should be recreated.

Supported Operating Systems

ComCross currently provides official release packages for the following desktop systems:

OS Minimum version Architecture Package
Windows Windows 10 22H2 / Windows 11 22H2 x64, ARM64 MSI
Ubuntu 22.04 LTS x64, ARM64 DEB, AppImage
Debian 12 x64, ARM64 DEB, AppImage
Fedora 40 x64 RPM, AppImage

This support list is the baseline compatibility target. At the current project stage, ComCross does not yet have enough testing resources to fully validate every supported OS version, desktop environment, graphics stack, and hardware configuration.

Other Linux distributions may work, but they are not part of the formal support commitment. Users on non-mainstream distributions are expected to understand their own runtime, desktop, graphics, and package-management environment. AppImage packages are provided as the recommended fallback for these systems.

ComCross does not currently provide official macOS packages.

Features

  • Serial, TCP, and UDP bus adapters delivered as isolated plugins.
  • Session and workload management with persisted descriptors.
  • RX/TX message stream with searchable frame attributes.
  • Optional per-session Archive history for stored message browsing.
  • Plain, Slim, and Detailed message display modes.
  • Cancellable message search and navigation over available session data.
  • UDP listener replies through plugin-provided transmit targets.
  • TCP listener accepted clients as scoped child sessions.
  • Quick commands with editable user storage and localized defaults.
  • Plugin settings pages, plugin-produced UI state, and plugin-owned serial scanning.
  • Built-in English and Simplified Chinese localization.

Architecture

ComCross treats the main program and bus plugins as a producer/consumer boundary:

  • Bus plugins produce domain facts through PluginSdk contracts.
  • Core coordinates plugin runtimes, session lifecycle, persistence, IPC, and message flow.
  • Shell consumes Core/Shell-facing services and renders plugin-provided facts without inferring plugin-private semantics.

Project layout:

ComCross/
├── src/
│   ├── Shell/          # Avalonia desktop UI using MVVM
│   ├── Core/           # Orchestration, workspace/session services, persistence, plugin runtime coordination
│   ├── Shared/         # Shared contracts, events, models, and pure helpers
│   ├── PluginSdk/      # Public plugin API and protocol-facing plugin types
│   ├── Platform/       # Platform capabilities only
│   ├── PluginHost/     # Plugin process host
│   ├── SessionHost/    # Session-scoped host process
│   ├── ExtensionHost/  # Extension host process
│   └── Plugins/        # Built-in plugins
├── docs/
│   └── specs/          # Product and system specifications
├── repo-tools/         # Repository guardrails
├── scripts/            # Packaging helpers
└── tests/              # Automated tests

Quick Start

Prerequisites:

  • .NET 8 SDK or newer SDK that can build net8.0
  • Linux or Windows

Commands:

dotnet restore
dotnet build ComCross.sln --no-restore
dotnet run --project src/Shell/ComCross.Shell.csproj
dotnet test ComCross.sln --no-build

Repository guardrails:

bash repo-tools/check-project-boundaries.sh
bash repo-tools/check-shell-i18n.sh
bash repo-tools/check-shell-i18n-keys.sh

Documentation

Internationalization

ComCross uses ILocalizationService and ILocalizationStrings for Shell UI text. English strings are built into Core, and additional cultures are loaded from:

src/Assets/Resources/Localization/strings.json

Current shipped cultures:

  • en-US
  • zh-CN

When adding user-visible Shell copy, use localization keys and run the i18n guardrails before committing.

Release Notes

v0.6.0 focuses on message workflow stability:

  • Optional per-session Archive and archive history browsing.
  • Live/archive message data-source separation.
  • Plain, Slim, and Detailed display modes.
  • Cancellable search as a message-viewer navigation workflow.
  • Message font settings and improved aggregate text rendering.
  • First official static website source under website/.

See v0.6.0 release notes and v0.6.0 changelog.

v0.6.1 Direction

Planned post-v0.6.0 work:

  • Search highlight and navigation hardening across all display modes.
  • Detailed row copy and stable Plain/Slim copy behavior.
  • Export reliability for live spool and archive sources.
  • Archive/spool error-state UX improvements.
  • Release documentation and website update checks.

See v0.6.1 scope.

Runtime Baseline

ComCross targets the .NET 8 LTS runtime baseline. The baseline should remain stable for users and only change with an explicit release decision.

License

This project is licensed under the MIT License. See LICENSE for details.

About

Cross-platform serial toolbox for embedded debugging with a modern UI, multi-session support, and extensible tools.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages