Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Aug 6, 2025

Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.

Original description:

Implement a full modular C# solution named 'SharpCAT' for controlling ham radios via the CAT protocol over serial ports, supporting Windows, Linux, and macOS. The solution must:

  1. Structure:

    • Include a shared library project 'Common' with logging (console + native OS logging for Windows EventLog and Linux/macOS syslog), configuration loading from JSON, certificate management (auto-generate self-signed CA and server certs, support TLS mutual authentication), radio CAT command abstractions (allow defining commands per radio model/manufacturer), serial port platform helper for OS-specific port naming, and data models for server/client configs.
    • Include a 'Server' console app referencing 'Common' that reads config, hosts a TCP server with TLS mutual authentication, manages serial port communication, handles multiple clients, and logs to console and OS logs.
    • Include a 'Client' console app referencing 'Common' that reads config, connects to the server over TLS with mutual authentication, sends CAT commands interactively, displays responses, and logs to console and OS logs.
  2. Security:

    • Use TLS 1.2+ with server/client certificates for authentication and auto-generate CA/certs if missing. Validate all certs.
  3. Cross-Platform:

    • Detect serial port names per OS, use System.IO.Ports for serial, P/Invoke/native APIs for OS logs, compatible with .NET 6+.
  4. Development:

    • Provide a .NET 6 solution with three projects, .vscode folder with launch/tasks.json for debugging/building in VS Code, and sample config files.
  5. Coding standards:

    • Use async where needed, dependency injection as appropriate, clean error handling, modular namespaces, and comments.
  6. Deliverables:

    • All source code, project files, solution file, config files, VS Code settings, documentation, and usage/build instructions, ready to run cross-platform.

Update all documentation and comments accordingly.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

@ekinnee ekinnee marked this pull request as ready for review August 6, 2025 22:01
Copilot AI requested a review from ekinnee August 6, 2025 22:03
@ekinnee ekinnee closed this Aug 6, 2025
@ekinnee ekinnee deleted the copilot/fix-88701e70-6777-4f56-8d21-84fb7dd1df8f branch August 6, 2025 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants