Packet.Ax25.Sdl 0.10.2

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

ax25sdl

Tooling + distribution for the AX.25 SDL state tables: a codegen pipeline that turns the normative SDL transcriptions into ready-to-consume libraries in seven languages. The figc4.x state-machine figures are encoded once, with discipline, in packethacking/ax25spec — the community home of everything normative about AX.25, prose and figures — and this repo emits that single source of truth as native idiomatic code for C#, Go, TypeScript, JSON, Rust, C, and Python. Downstream runtimes walk the generated tables — they don't have an opinion of their own about what AX.25 says.

Where changes go: figure/spec changes (graphml, yaml transcriptions, citations, catalogues) are PRs against packethacking/ax25spec; a pin-bump PR here then regenerates the language backends. Only tooling (walker/emitters/lint), generated backends and packaging change in this repo.

Inputs

The SDL sources live in the packethacking/ax25spec git submodule at ax25spec/, pinned to a specific commit (the same pin-bump cadence packet.net uses towards this repo). A spec-sdl -> ax25spec/spec-sdl symlink keeps every historical path working. Clone with git clone --recurse-submodules (or run git submodule update --init after a plain clone).

Path What
spec-sdl/v2.2-errata/data-link/ The figc4.1 – figc4.7 data-link state machine (v2.2 + errata), split by artefact kind: sdl/ holds the canonical *.graphml yEd sources, yaml/ holds the *.sdl.yaml transcriptions (derived) plus the *.citations.yaml human-curated sidecars, mmd/ holds the *.g.mmd Mermaid renderings (derived).
spec-sdl/v2.2/ Clean published v2.2 (black-only, no errata). Currently empty — backfill pending.
spec-sdl/schema/ JSON Schema for *.sdl.yaml
spec-sdl/actions.yaml Action-verb normalisation table (figure spellings → canonical verbs)
spec-sdl/events.yaml Canonical event catalog
Upstream The AX.25 v2.2 specification figures themselves — the source of truth for every transcription

Outputs

Artefact Where Name In-repo source
C# library NuGet Packet.Ax25.Sdl spec/csharp/
TypeScript library npm ax25sdl spec/ts/
Go module git github.com/m0lte/ax25sdl/spec/go spec/go/
Rust crate crates.io (publishable; not yet published) ax25sdl (no_std-capable) spec/rust/
C / Python / JSON not externally packaged codegen output for in-tree consumers per-backend dirs

Tagging v* on main fires .github/workflows/publish.yml — NuGet + npm publish from the same tag, version taken from the tag stripped of its leading v.

Discipline

The transcription rules and how to add a new figure live in:

Provenance

Extracted from packet.net (then m0lte/packet.net) on 2026-05-17 — the transcriptions and codegen previously lived alongside the .NET runtime in that monorepo. The SDL transcriptions moved on again to packethacking/ax25spec in 2026-07, making that repo the single normative home (prose + figures) and this one tooling + distribution. History preserved via git filter-repo at both steps.

Sibling repos

Repo Relationship
packethacking/ax25spec upstream — normative SDL sources, consumed here as a pinned submodule
packet-net/packet.net consumes Packet.Ax25.Sdl (NuGet)
packet-net/ax25-ts consumes ax25sdl (npm)
packet-net/packet-term-tui transitive: Packet.Ax25Packet.Ax25.Sdl
packet-net/packet-term-web transitive: @packet-net/ax25ax25sdl

License

MIT. Spec text and figures derive from the AX.25 v2.2 specification; the transcription discipline that turns figures into machine-checkable YAML is documented in docs/sdl-transcription-runbook.md.

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.
  • net10.0

    • No dependencies.

NuGet packages (8)

Showing the top 5 NuGet packages that depend on Packet.Ax25.Sdl:

Package Downloads
Packet.Ax25

AX.25 v2.2 protocol library: frame codec for U/S/I frames with mod-8 sequence numbers, SDL-driven connected-mode session machine, Ax25Listener for inbound session acceptance with per-peer caching, AcceptIncoming toggle, and frame-traced event hooks. Walks the AX.25 SDL transitions from Packet.Ax25.Sdl. Source: github.com/packet-net/packet.net.

Packet.Kiss

KISS (Keep It Simple, Stupid) framing encoder/decoder, ACKMODE handling, multi-drop port support, and TCP transport. Decodes KISS-Data payloads into typed Ax25Frame events. Pair with Packet.Ax25 for connected-mode sessions. Source: github.com/packet-net/packet.net.

Packet.Kiss.Serial

Generic serial-port KISS modem implementing IAx25Transport for the Packet.NET stack. Opens a USB-CDC or hardware serial port, speaks KISS framing in both directions, and surfaces inbound frames as an async stream. Pair with Packet.Kiss.NinoTnc for NinoTNC-specific extensions (ACKMODE, SetMode, frame classification). Source: github.com/packet-net/packet.net.

Packet.Kiss.NinoTnc

NinoTNC-specific KISS extensions for the Packet.NET stack — ACKMODE TX-completion correlation, SETHW mode switching, TX-Test frame classification, USB port discovery. Built on Packet.Kiss.Serial for generic serial-port plumbing. Source: github.com/packet-net/packet.net.

Packet.Axudp

AXUDP transport for the Packet.NET stack: AxudpSocket, a bidirectional AX.25-over-IP (RFC 1226) endpoint that UDP-encapsulates AX.25 frames. It unconditionally appends + validates the 2-octet AX.25 FCS (CRC-16-CCITT) exactly as every real AXIP/AXUDP peer does (ax25ipd, LinBPQ BPQAXIP, XRouter), with a raw escape hatch for replaying captures. Source: github.com/packet-net/packet.net.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.10.2 48 7/18/2026
0.10.1 44 7/18/2026
0.10.0 1,412 6/3/2026
0.9.0 111 6/2/2026
0.8.0 114 6/2/2026
0.7.1 363 5/28/2026
0.7.0 164 5/28/2026
0.6.0 180 5/27/2026
0.5.3 114 5/21/2026
0.5.2 107 5/21/2026
0.5.1 110 5/20/2026
0.5.0 102 5/20/2026
0.4.0 112 5/19/2026
0.3.0 132 5/17/2026