Packet.Ax25.Radio.Tait 0.36.0

dotnet add package Packet.Ax25.Radio.Tait --version 0.36.0
                    
NuGet\Install-Package Packet.Ax25.Radio.Tait -Version 0.36.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="Packet.Ax25.Radio.Tait" Version="0.36.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Packet.Ax25.Radio.Tait" Version="0.36.0" />
                    
Directory.Packages.props
<PackageReference Include="Packet.Ax25.Radio.Tait" />
                    
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 Packet.Ax25.Radio.Tait --version 0.36.0
                    
#r "nuget: Packet.Ax25.Radio.Tait, 0.36.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 Packet.Ax25.Radio.Tait@0.36.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=Packet.Ax25.Radio.Tait&version=0.36.0
                    
Install as a Cake Addin
#tool nuget:?package=Packet.Ax25.Radio.Tait&version=0.36.0
                    
Install as a Cake Tool

Packet.Ax25.Radio.Tait

AX.25 over a Tait TM8100/TM8200's own FFSK modem. One device, no TNC, no audio wiring.

TaitTransparentTransport is an IAx25Transport whose modem is the radio. It puts the radio into Transparent mode (its internal FFSK modem as an 8-bit-clean byte pipe), frames AX.25 with KISS SLIP framing over that pipe, and de-frames the inbound byte stream back into whole AX.25 frames. The radio fragments and reassembles the over-air blocks itself.

Install

dotnet add package Packet.Ax25.Radio.Tait

Usage

using Packet.Ax25.Radio.Tait;

await using var link = await TaitTransparentTransport.OpenAsync("/dev/ttyUSB0");

await link.SendAsync(ax25FrameBody);            // SLIP-framed over the FFSK pipe
await foreach (var f in link.ReceiveAsync(ct))  // whole frames, ReceivedAt + airtime stamped
{
    Handle(f.Ax25, f.ReceivedAt, f.Radio?.EstimatedAirtime);
}
// DisposeAsync escapes Transparent (+++) and restores Command mode.

Because the transport owns the transmission it times it directly: a TxTiming event and ITxCompletionTransport give per-frame on-air start and end, and inbound frames carry ReceivedAt plus RadioMetadata.EstimatedAirtime.

The trade-off against a separate modem

One device and no audio wiring, but no signal telemetry. While the CCDI channel is acting as a byte pipe, RSSI, SNR, noise floor and DCD are unavailable, so those RadioMetadata fields stay null and only airtime is known. If you want per-frame signal metadata, use a separate modem with Packet.Ax25.Radio's RssiTaggingTransport over the CCDI control channel instead.

Before running this unattended, check the radio is not programmed with "Ignore Escape Sequence" on. If it is, the +++ exit cannot succeed and recovery is a power cycle.

See also


AGPL-3.0-licensed. Part of the Packet.NET stack.

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 Packet.Ax25.Radio.Tait:

Package Downloads
Packet.Tune.Core

Coordination primitives for tuning a NinoTNC + radio pair with the two ends apart: the tuning-telegram protocol (ITuningLink), an SDM flavour riding the radio's own side channel (M0LTE.Rig.IRadioSideChannel; Tait CCDI short data messages: radio-native FFSK, independent of the TNC mode/pot under tune), a WebSocket flavour with a PIN-rendezvous relay, the shared meter/tuned assistant loop, a mode-coordination protocol (propose/confirm/commit a TNC mode + radio channel switch, probe-verify, revert-to-home on failure), and a capability doctor for the whole TNC-to-radio stack. Source: github.com/packet-net/packet.net.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.36.0 72 9/7/2026
0.35.0 82 9/6/2026
0.34.0 84 9/5/2026