npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

a429-flight-display

v1.0.10

Published

React components for ARINC 429 Flight Display with primary flight instruments

Downloads

69

Readme

ARINC 429 Flight Display

React components for building primary flight displays (PFD) with ARINC 429 data visualization and raw data conversion utilities.

Screenshots

Primary Flight Display

Flight Display Complete PFD with attitude, airspeed, altitude, heading, and vertical speed indicators

Flight Tracking

Flight Tracking
Real-time flight tracking with Google Maps integration

Installation

npm install a429-flight-display

Usage

Basic Usage

import { AircraftPFD, useA429ValuesSimulator, defaultFlightData } from 'a429-flight-display';
import 'a429-flight-display/style.css';

function App() {
  // Use the enhanced flight data simulator with realistic ARINC 429 parameters
  const flightData = useA429ValuesSimulator(defaultFlightData);
  
  return <AircraftPFD flightData={flightData} />;
}

ARINC 429 Raw Data Simulation

import { useA429RawDataSimulator, defaultFlightData } from 'a429-flight-display';

function App() {
  // Get both raw ARINC 429 data and processed flight data
  const { rawData, flightData } = useA429RawDataSimulator(defaultFlightData);
  
  // rawData contains ARINC429Word objects with proper encoding
  // flightData contains the processed flight parameters
  
  return <AircraftPFD flightData={flightData} />;
}

Data Conversion Utilities

import { 
  convertToA429RawData,
  convertFromA429RawData,
  convertFlightParamsToA429,
  convertA429ToFlightParams,
  FlightParameters
} from 'a429-flight-display';

// Convert flight data to ARINC 429 format
const flightParams: FlightParameters = {
  altitude: 35000,
  airspeed: 285,
  heading: 270,
  vertical_speed: 0
};

// Convert to raw ARINC 429 data
const rawData = convertFlightParamsToA429(flightParams);

// Convert back to flight parameters  
const decodedParams = convertA429ToFlightParams(rawData);

// Work with 32-bit word arrays for transmission
import { rawDataToWords, wordsToRawData } from 'a429-flight-display';

const words = rawDataToWords(rawData);
const reconstructedData = wordsToRawData(words, ['altitude', 'airspeed', 'heading']);

Individual Components

import { 
  AttitudeIndicator, 
  AirspeedIndicator, 
  AltitudeIndicator,
  HeadingIndicator,
  VerticalSpeedIndicator,
  ARINC429DataBus,
  FlightTracking
} from 'a429-flight-display';
import 'a429-flight-display/style.css';

function CustomPFD() {
  const flightData = useA429ValuesSimulator(defaultFlightData);
  
  return (
    <div>
      <AttitudeIndicator pitch={flightData.pitch_angle} roll={flightData.roll_angle} />
      <AirspeedIndicator airspeed={flightData.airspeed} />
      <AltitudeIndicator altitude={flightData.altitude} />
      <HeadingIndicator heading={flightData.true_heading} />
      <VerticalSpeedIndicator verticalSpeed={flightData.vertical_speed} />
      <FlightTracking flightData={flightData} apiKey="your-google-maps-api-key" />
      <ARINC429DataBus flightData={flightData} />
    </div>
  );
}

Components

  • AircraftPFD - Complete primary flight display
  • FlightDisplay - Main flight instruments display
  • AttitudeIndicator - Artificial horizon with pitch/roll
  • AirspeedIndicator - Airspeed tape display
  • AltitudeIndicator - Altitude tape display
  • HeadingIndicator - Heading compass display
  • VerticalSpeedIndicator - Vertical speed indicator
  • FlightTracking - Real-time flight tracking with map integration
  • ARINC429DataBus - Live ARINC 429 data visualization

ARINC 429 Features

Raw Data Generation

  • Realistic ARINC 429 word encoding with proper scales
  • Support for common aviation parameters (altitude, airspeed, heading, etc.)
  • Automatic parity calculation and validation
  • Sign Status Matrix (SSM) support

Data Conversion

  • convertToA429RawData / convertFlightParamsToA429 - Convert flight parameters to ARINC 429 format
  • convertFromA429RawData / convertA429ToFlightParams - Decode ARINC 429 data to flight parameters
  • rawDataToWords - Convert to 32-bit integer array for transmission
  • wordsToRawData - Reconstruct from 32-bit integer array
  • validateA429Word - Verify parity and data integrity

Supported ARINC 429 Labels

  • 203 (Octal) - Altitude
  • 206 (Octal) - Airspeed
  • 207 (Octal) - Mach Number
  • 222 (Octal) - Heading
  • 365 (Octal) - Vertical Speed
  • 324 (Octal) - Pitch Angle
  • 325 (Octal) - Roll Angle
  • 211 (Octal) - Temperature

API Reference

Hooks

  • useA429ValuesSimulator(initialData) - Enhanced flight data simulator
  • useA429RawDataSimulator(initialData) - Raw ARINC 429 data simulator

Conversion Functions

  • convertToA429RawData(flightData) - Convert FlightData to ARINC 429
  • convertFromA429RawData(rawData) - Convert ARINC 429 to flight parameters
  • convertFlightParamsToA429(params) - Generic parameter conversion
  • convertA429ToFlightParams(rawData) - Generic parameter decoding

Utility Functions

  • rawDataToWords(rawData) - Convert to transmission format
  • wordsToRawData(words, labels) - Reconstruct from words
  • validateA429Word(word) - Validate word integrity
  • getLabelName(label) - Get parameter name from label

TypeScript Support

Full TypeScript support with exported types:

import { 
  FlightData, 
  FlightParameters,
  ARINC429Word, 
  ARINC429RawData,
  ARINC429_LABELS, 
  SSM 
} from 'a429-flight-display';

Standalone Converter Package

For applications that only need ARINC 429 conversion without React components, a standalone converter package is available. See a429-converter-package.json for npm publishing configuration.

License

ISC