M0LTE.Ardop 0.4.0

dotnet add package M0LTE.Ardop --version 0.4.0
                    
NuGet\Install-Package M0LTE.Ardop -Version 0.4.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="M0LTE.Ardop" Version="0.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="M0LTE.Ardop" Version="0.4.0" />
                    
Directory.Packages.props
<PackageReference Include="M0LTE.Ardop" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add M0LTE.Ardop --version 0.4.0
                    
#r "nuget: M0LTE.Ardop, 0.4.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package M0LTE.Ardop@0.4.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=M0LTE.Ardop&version=0.4.0
                    
Install as a Cake Addin
#tool nuget:?package=M0LTE.Ardop&version=0.4.0
                    
Install as a Cake Tool

M0LTE.Ardop

A managed, ardopcf-compatible ARDOP 1 virtual TNC for .NET, extracted from the pdn-soundmodem packet-radio modem. It is, as far as we know, the only ARDOP TNC written in managed C#.

  • The full modem — 4FSK / 4PSK / 8PSK / 16QAM modulator and demodulator, Reed-Solomon FEC.
  • The full ARQ engine — connection setup, bandwidth negotiation, gearshift, teardown.
  • A byte-compatible ardopcf TCP host interface, so Winlink hosts (Pat, Winlink Express, ARIM, gARIM, hamChat) connect unmodified on the usual command/data socket pair.

Validated bidirectionally against ardopcf itself (byte-for-byte host transcript; audio decodes both ways; trial-identical noise-knee).

Install

dotnet add package M0LTE.Ardop

Run a TNC on an audio device

Implement the three M0LTE.Radio.Audio seams for your sound card / SDR (all at ARDOP's native 12 kHz), then:

using M0LTE.Ardop.Host;

IAudioInput  rx  = /* your 12 kHz capture  */;
IAudioOutput tx  = /* your 12 kHz playback */;
IPttControl  ptt = /* your keying          */;

await using ArdopHostServer server = ArdopHostServer.ForAudio(rx, tx, ptt, commandPort: 8515);
server.Start();
// Point Pat (or any ardopcf host) at localhost:8515 — data socket is 8516.

ForAudio pumps receive audio from rx into the demodulator, and each transmit burst keys ptt, plays through tx, drains, and unkeys. For full control, construct new ArdopHostTnc(...) yourself and bind its Transmitter / ProcessReceive seam directly.

Licence & provenance

AGPL-3.0-or-later (see LICENSE). A port with provenance of the MIT-licensed ardopcf (© Muething KN6KB / Wiseman G8BPQ / LaRue AI7YN); attributions in PROVENANCE.md. Not affiliated with the ARDOP authors.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on M0LTE.Ardop:

Package Downloads
pdn-soundmodem

Headless soundcard packet modem core: IL2P/AX.25 framing and FEC now; demodulators, KISS TCP and DCD to follow.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.0 132 8/8/2026
0.3.0 443 8/2/2026
0.2.0 238 7/19/2026
0.1.0 131 7/17/2026