psn

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: MIT Imports: 2 Imported by: 0

README

psn-go

Golang implementation of the PosiStageNet protocol

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CHUNK_HEADER_SIZE = 4
View Source
var MAX_UDP_PACKET_SIZE = 1500
View Source
var PACKET_HEADER_SIZE = 16

Functions

This section is empty.

Types

type Decoder

type Decoder struct {
	Trackers   map[uint16]*Tracker
	SystemName string
	// contains filtered or unexported fields
}

func NewDecoder

func NewDecoder() *Decoder

func (*Decoder) Decode

func (d *Decoder) Decode(bytes []byte)

type Encoder

type Encoder struct {
	SystemName  string
	VersionHigh uint8
	VersionLow  uint8
	// contains filtered or unexported fields
}

func (*Encoder) GetDataPackets

func (e *Encoder) GetDataPackets(timestamp uint64, trackers []Tracker) [][]byte

func (*Encoder) GetInfoPackets

func (e *Encoder) GetInfoPackets(timestamp uint64, trackers []Tracker) [][]byte

func (*Encoder) ResetDataFrameId

func (e *Encoder) ResetDataFrameId()

func (*Encoder) ResetInfoFrameId

func (e *Encoder) ResetInfoFrameId()

type Tracker

type Tracker struct {
	Id        uint16
	Name      string
	Pos       *XYZData
	Speed     *XYZData
	Ori       *XYZData
	Validity  *float32
	Accel     *XYZData
	TrgtPos   *XYZData
	Timestamp *uint64
}

func TrackerFromData

func TrackerFromData(dataTrackerChunk decoders.DataTrackerChunk) *Tracker

func TrackerFromInfo

func TrackerFromInfo(infoTrackerChunk decoders.InfoTrackerChunk) *Tracker

func (*Tracker) GetDataChunk

func (t *Tracker) GetDataChunk() []byte

func (*Tracker) GetInfoChunk

func (t *Tracker) GetInfoChunk() []byte

func (*Tracker) SetAccel

func (t *Tracker) SetAccel(x float32, y float32, z float32)

func (*Tracker) SetOri

func (t *Tracker) SetOri(x float32, y float32, z float32)

func (*Tracker) SetPos

func (t *Tracker) SetPos(x float32, y float32, z float32)

func (*Tracker) SetSpeed

func (t *Tracker) SetSpeed(x float32, y float32, z float32)

func (*Tracker) SetStatus

func (t *Tracker) SetStatus(validity float32)

func (*Tracker) SetTimestamp

func (t *Tracker) SetTimestamp(timestamp uint64)

func (*Tracker) SetTrgtPos

func (t *Tracker) SetTrgtPos(x float32, y float32, z float32)

func (*Tracker) UpdateData

func (t *Tracker) UpdateData(dataTrackerChunk decoders.DataTrackerChunk)

func (*Tracker) UpdateInfo

func (t *Tracker) UpdateInfo(infoTrackerChunk decoders.InfoTrackerChunk)

type XYZData

type XYZData struct {
	X float32
	Y float32
	Z float32
}

Directories

Path Synopsis
examples
internal

Jump to

Keyboard shortcuts

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