Packet.Ax25.Sdl
0.3.0
See the version list below for details.
dotnet add package Packet.Ax25.Sdl --version 0.3.0
NuGet\Install-Package Packet.Ax25.Sdl -Version 0.3.0
<PackageReference Include="Packet.Ax25.Sdl" Version="0.3.0" />
<PackageVersion Include="Packet.Ax25.Sdl" Version="0.3.0" />
<PackageReference Include="Packet.Ax25.Sdl" />
paket add Packet.Ax25.Sdl --version 0.3.0
#r "nuget: Packet.Ax25.Sdl, 0.3.0"
#:package Packet.Ax25.Sdl@0.3.0
#addin nuget:?package=Packet.Ax25.Sdl&version=0.3.0
#tool nuget:?package=Packet.Ax25.Sdl&version=0.3.0
ax25sdl
AX.25 v2.2 SDL transcriptions, codegen, and multi-language artefacts.
This repo holds the canonical SDL transcriptions for the connected-mode link-layer state machines (figc4.1 through figc4.7) and the codegen pipeline that turns them into ready-to-consume libraries in seven languages: C#, Go, TypeScript, JSON, Rust, C, and Python.
Status: prove-out repo. Tom (M0LTE) is working with the original AX.25 spec authors on whether
packethacking/ax25specshould be the canonical community home. Until that's agreed, this repo lives atm0lte/ax25sdland downstream consumers (e.g.m0lte/packet.net) pull from here.
Layout
spec-sdl/ YAML DSL + JSON schema — human-authored transcriptions
spec-sdl/data-link/*.sdl.yaml transcribed state pages (figc4.x)
spec-sdl/data-link/*.graphml yEd source for the transcribed figures
spec-sdl/schema/ JSON Schema for the *.sdl.yaml files
spec-sdl/actions.yaml action-verb normalisation table
spec-sdl/events.yaml canonical event catalog
tools/Packet.Sdl.IR/ language-neutral IR + validation
tools/Packet.Sdl.CodeGen/ thin orchestrator (driver)
tools/Packet.Sdl.CodeGen.Csharp/ C# emitter (Scriban + Roslyn)
tools/Packet.Sdl.CodeGen.Go/ Go emitter (hand-rolled, gofmt-finalised)
tools/Packet.Sdl.CodeGen.Ts/ TypeScript emitter
tools/Packet.Sdl.CodeGen.Json/ JSON emitter (codified IR for non-C# consumers)
tools/Packet.Sdl.CodeGen.Rust/ Rust emitter
tools/Packet.Sdl.CodeGen.C/ C emitter
tools/Packet.Sdl.CodeGen.Python/ Python emitter
tools/Packet.Sdl.Lint/ standalone schema lint
src/Packet.Ax25.Sdl/ C# package (NuGet: Packet.Ax25.Sdl)
go-spec/ Go module (github.com/m0lte/ax25sdl/go-spec)
ts-spec/ npm package (ax25sdl)
tests/Packet.Sdl.CodeGen.Tests/ codegen tests
docs/sdl-primer.md SDL shape reference
docs/sdl-transcription-runbook.md end-to-end per-figure workflow
docs/sdl-verb-catalogue.md action-verb normalisation reference
docs/adr/0001-sdl-dsl.md why the YAML DSL + codegen exists
Common commands
# Build the codegen tools + C# library
dotnet build
# Run codegen tests
dotnet test
# Regenerate all backends (writes into src/Packet.Ax25.Sdl/, ts-spec/, go-spec/, etc.)
dotnet run --project tools/Packet.Sdl.CodeGen
# Regenerate a single backend
dotnet run --project tools/Packet.Sdl.CodeGen -- --csharp
dotnet run --project tools/Packet.Sdl.CodeGen -- --go
dotnet run --project tools/Packet.Sdl.CodeGen -- --ts
dotnet run --project tools/Packet.Sdl.CodeGen -- --rust
dotnet run --project tools/Packet.Sdl.CodeGen -- --c
dotnet run --project tools/Packet.Sdl.CodeGen -- --python
dotnet run --project tools/Packet.Sdl.CodeGen -- --json
# Verify the generated Go compiles + passes gofmt
cd go-spec && go build ./... && go vet ./... && go test ./... && gofmt -l .
# Verify the generated TS typechecks + tests pass
cd ts-spec && npm ci && npm run typecheck && npm test
What's published
| Artefact | Package manager | Name | Source |
|---|---|---|---|
| C# library | NuGet | Packet.Ax25.Sdl |
src/Packet.Ax25.Sdl/ |
| TypeScript library | npm | ax25sdl |
ts-spec/ |
| Go module | git | github.com/m0lte/ax25sdl/go-spec |
go-spec/ |
| Rust crate | tbd | tbd | tools/Packet.Sdl.CodeGen.Rust/ output |
| C / Python / JSON | tbd | tbd | codegen output |
License
MIT — see LICENSE for details. Spec text and figures are derived from the AX.25 v2.2 specification; this repo's transcription discipline is documented in docs/sdl-transcription-runbook.md.
| 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
- 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 |