M0LTE.Ardop
0.4.0
dotnet add package M0LTE.Ardop --version 0.4.0
NuGet\Install-Package M0LTE.Ardop -Version 0.4.0
<PackageReference Include="M0LTE.Ardop" Version="0.4.0" />
<PackageVersion Include="M0LTE.Ardop" Version="0.4.0" />
<PackageReference Include="M0LTE.Ardop" />
paket add M0LTE.Ardop --version 0.4.0
#r "nuget: M0LTE.Ardop, 0.4.0"
#:package M0LTE.Ardop@0.4.0
#addin nuget:?package=M0LTE.Ardop&version=0.4.0
#tool nuget:?package=M0LTE.Ardop&version=0.4.0
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).
- Targets
net10.0. Depends onM0LTE.FecandM0LTE.Radio.Audio. - Public API is locked by a build-time test; the package follows
Semantic Versioning (see
docs/versioning.md).
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 | Versions 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. |
-
net10.0
- M0LTE.Fec (>= 0.1.0)
- M0LTE.Radio.Audio (>= 0.1.0)
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.