sbs1

package module
v0.0.0-...-e92c84f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

README

go-sbs1

This is a SBS1 parser for Go.

Example

The following example connects to the SBS1 port of dump1090 and prints the messages.

package main

import (
	"github.com/ornen/go-sbs1"
	"io"
	"log"
	"net"
)

func main() {
	conn, err := net.Dial("tcp", "127.0.0.1:30003")

	if err != nil {
		log.Fatal(err)
	}

	defer conn.Close()

	var reader = sbs1.NewReader(conn)

	for {
		var message, err = reader.Read()

		if err != nil {
			if err == io.EOF {
				break
			} else {
				log.Println(err)
				continue
			}
		}

		log.Println(message)
	}
}

License

This code is licensed under the Apache License 2.0.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnkownMessageType       = errors.New("unknown message type")
	ErrUnknownTransmissionType = errors.New("unknown transmission type")
)

Functions

This section is empty.

Types

type Message

type Message struct {
	MessageType      MessageType      `json:"messageType"`
	TransmissionType TransmissionType `json:"transmissionType"`
	SessionId        string           `json:"sessionId"`
	AircraftId       string           `json:"aircraftId"`
	HexId            string           `json:"hexId"`
	FlightId         string           `json:"FlightId"`
	Generated        time.Time        `json:"generated"`
	Logged           time.Time        `json:"logged"`
	Callsign         string           `json:"callsign"`
	Altitude         int32            `json:"altitude"`
	GroundSpeed      int32            `json:"groundSpeed"`
	Track            float64          `json:"track"`
	Latitude         float64          `json:"latitude"`
	Longitude        float64          `json:"longitude"`
	VerticalRate     int16            `json:"verticalRate"`
	Squawk           string           `json:"squawk"`
}

type MessageType

type MessageType uint8
const (
	MessageTypeSelectionChange MessageType = iota
	MessageTypeNewId
	MessageTypeNewAircraft
	MessageTypeStatusAircraft
	MessageTypeClick
	MessageTypeTransmission
)

type Reader

type Reader struct {
	// contains filtered or unexported fields
}

func NewReader

func NewReader(r io.Reader) *Reader

func (*Reader) Read

func (r *Reader) Read() (*Message, error)

type TransmissionType

type TransmissionType uint8
const (
	TransmissionTypeESIdentAndCategory TransmissionType = iota
	TransmissionTypeESSurfacePos
	TransmissionTypeESAirbornePos
	TransmissionTypeESAirborneVel
	TransmissionTypeSurveillanceAlt
	TransmissionTypeSurveillanceId
	TransmissionTypeAirToAir
	TransmissionTypeAllCallReply
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL