Skip to content

NeuronInnovations/go-adsb

 
 

Repository files navigation

Overview

go-adsb is a Go module that includes packages for working with ADS-B and Mode S aircraft transponder data.

beast

The beast package is a low-level library for handling data in Mode S Beast format, as provided by common software such as dump1090. Decoder provides a consumer for an io.Reader such as net.Conn, which will then parse a Beast stream into individual frames. These frames are passed to a BinaryUnmarshaler via Decode. The provided Frame is a BinaryUnmarshaler that provides methods to extract the Beast data such as timestamp and signal level, as well as the enclosed Mode S or ADS-B data.

adsb

The adsb package is a library for decoding Mode S and ADS-B transponder messages. RawMessage is a low-level wrapper that provides access to arbitrary bit sequences and named message fields. Message is a higher-level abstraction that provides functions to retrieve decoded values such as altitude and callsign from the encoded data.

CPR (position) decoding in adsb/position.go is documented against EUROCAE ED-102B (MOPS for 1090 MHz ES, ADS-B and TIS-B), using § references (e.g. §T.5.* decode, §A.1.7 encoding). An in-repo EUROCAE MOPS copy sits at the module root for cross-checking. RTCA DO-260B is the aligned US document. The position.go package comment includes a page index for one 1492-page EUROCAE edition (§ labels are the stable anchors if pagination differs).

Both Message and RawMessage designed to accept a beast.Frame to provide a complete solution for decoding usable values from an incoming data stream.

adsbtype

The adsbtype package provides constants for Mode S and ADS-B data fields that have fixed values. Converting the value to a provided data type allows the text description of the value to be returned via the %s operator in Printf-style operations.

Usage

See the documentation on pkg.go.dev for import paths and usage information.

Attribution

This project is a fork of bluvec's repository, which itself was forked from the original project by Collin Kreklow.

The original project by Collin Kreklow is licensed under the MIT License.

Credit goes to both Collin Kreklow and bluvec for their contributions to this project.

This fork, maintained by Neuron Innovations, aims to build upon their excellent work.

For CPR decoding read ED-102B (§T.5–§T.6 decode flow, §A.1.7 encoding and appendix T);

About

Packages for parsing and working with ADS-B messages in Go.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 100.0%