sbs1

package module
v0.0.0-...-7b115aa Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2023 License: Apache-2.0 Imports: 7 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
	TransmissionType TransmissionType
	SessionId        string
	AircraftId       string
	HexId            string
	FlightId         string
	Generated        time.Time
	Logged           time.Time
	Callsign         string
	Altitude         int32
	GroundSpeed      int32
	Track            s1.Angle
	Coordinates      s2.LatLng
	VerticalRate     int16
	Squawk           string
}

func Parse

func Parse(fields []string) (*Message, error)

type MessageType

type MessageType string
const (
	MessageTypeSelectionChange MessageType = "SEL"
	MessageTypeNewId           MessageType = "ID"
	MessageTypeNewAircraft     MessageType = "AIR"
	MessageTypeStatusAircraft  MessageType = "STA"
	MessageTypeClick           MessageType = "CLK"
	MessageTypeTransmission    MessageType = "MSG"
)

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 = 1
	TransmissionTypeESSurfacePos       TransmissionType = 2
	TransmissionTypeESAirbornePos      TransmissionType = 3
	TransmissionTypeESAirborneVel      TransmissionType = 4
	TransmissionTypeSurveillanceAlt    TransmissionType = 5
	TransmissionTypeSurveillanceId     TransmissionType = 6
	TransmissionTypeAirToAir           TransmissionType = 7
	TransmissionTypeAllCallReply       TransmissionType = 8
)

Jump to

Keyboard shortcuts

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