SkillAgentSearch skills...

Arinc424.net

A standalone ARINC 424 parser that allows you to read aeronautical data in an object-oriented way.

Install / Use

/learn @malstraem/Arinc424.net
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

NuGet

[!WARNING] work in progress and target on v23 of the specification (with backward compatibility to v18)</br></br> if you see any issues testing the library on real world data, please report it</br></br> any reviews and PRs are welcome

Overview

This is a long-term research and proof of concept to provide a model and reader for the globally used ARINC 424 aircraft navigation data using metaprogramming.

While the ARINC 424 specification describes entities with 132-byte fixed-length strings, this library creates a database object model via building entities using reflection and runtime compilation.

  • Most terms are converted according to the specification into custom, enum or numeric values.

  • Relations between entities are established after the building stage.

In practice, this allows you read the tree-like representation of ARINC 424 database.

See docs to know how specification is mapped.

Getting started

First, you need to create runtime compiled metadata. This describes how strings will be parsed and entities created based on supplement.

var meta = Meta424.Create(Supplement.V20);

So you can get navigation data from the strings with remaining diagnostics (bad coded fields, miss links, etc) and skipped strings that don't match entity types.

var data = Data424.Create(meta, strings, out var skipped, out var invalid);

Build and prerequisites

  • .NET 10 SDK
  • dotnet build

[!NOTE] The project uses the Roslyn API to generate converters of specification terms to internal types.</br> Use a suitable IDE to view the generated code.

View on GitHub
GitHub Stars21
CategoryData
Updated2mo ago
Forks5

Languages

C#

Security Score

95/100

Audited on Jan 23, 2026

No findings