events

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2022 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package events describes the events coming from the Winterhill on port 9901 For definitions in Winterhill, see: https://github.com/BritishAmateurTelevisionClub/winterhill/blob/main/whsource-3v20/whmain-3v20/main.h

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StateToFloat

func StateToFloat(in string) float64

Types

type Listener

type Listener struct {
	Receivers map[int64]*StatusEvent `json:"receivers"`
}

func New

func New(n int64, historySize int) *Listener

func (*Listener) Run

func (L *Listener) Run(addr string, stop chan bool) error

Run will start listening on the network for events, and use them to update Receivers

type StatusEvent

type StatusEvent struct {
	Index                int64            `json:"index"`              // $0
	State                string           `json:"state"`              // $1: StateType
	LNAGain              interface{}      `json:"lna_gain"`           // $2: unused?
	PunctureRate         interface{}      `json:"puncture_rate"`      // $3: unused?
	PowerI               interface{}      `json:"power_i"`            // $4: unused?
	PowerO               interface{}      `json:"power_o"`            // $5: unused?
	CarrierFrequency     float64          `json:"carrier_frequency"`  // $6: in MHz
	ConstellationI       interface{}      `json:"constellation_i"`    // $7: unused?
	ConstellationO       interface{}      `json:"constellation_o"`    // $8: unused?
	SymbolRate           int64            `json:"symbol_rate"`        // $9: in kS
	ViterbiErrorRate     interface{}      `json:"viterbi_error_rate"` // $10: unused?
	Ber                  interface{}      `json:"ber"`                // $11: unused?
	Mer                  float64          `json:"mer"`                // $12: in 0.1 dB
	MerHistory           *ringbuffer.Ring `json:"mer_history"`
	ServiceName          string           `json:"service_name"` // $13: service name
	ServiceHistory       *ringbuffer.Ring `json:"service_history"`
	ServiceProviderName  string           `json:"service_provider_name"`  // $14: provider name
	TsNullPercentage     float64          `json:"ts_null_percentage"`     // $15: 99.9 * rcv[rx].nullpacketcountrx / (rcv[rx].packetcountrx + 1)
	EsPid                interface{}      `json:"es_pid"`                 // $16: unused
	EsType               interface{}      `json:"es_type"`                // $17: unused
	ModulationCode       string           `json:"modulation_code"`        // $18: modulation + fec
	FrameType            string           `json:"frame_type"`             // $19: 'L' ?
	Pilots               string           `json:"pilots"`                 // $20: 'N' ?
	ErrorsLDPCCount      interface{}      `json:"errors_ldpc_count"`      // $21: unused?
	ErrorsBCHCount       interface{}      `json:"errors_bch_count"`       // $22: unused?
	ErrorsBCHUncorrected interface{}      `json:"errors_bch_uncorrected"` // $23: unused?
	LNBSupply            interface{}      `json:"lnb_supply"`             // $24: unused?
	LNBPolarisationH     interface{}      `json:"lnb_polarisation_h"`     // $25: unused? - is referencedÏ
	MultiStream0         interface{}      `json:"multi_stream_0"`         // $26: unused?
	MultiStream1         interface{}      `json:"multi_stream_1"`         // $27: unused?
	Debug0               interface{}      `json:"debug_0"`                // $28: unused?
	Debug1               interface{}      `json:"debug_1"`                // $29: unused?
	DNumber              float64          `json:"d_number"`               // $30: MER value above minimum for decoding
	VideoType            string           `json:"video_type"`             // $31:
	RollOff              int64            `json:"roll_off"`               // $32:
	Antenna              string           `json:"antenna"`                // $33:
	AudioType            string           `json:"audio_type"`             // $34:
	TitleBar             string           `json:"title_bar"`              // $94:
	VlcStops             int64            `json:"vlc_stops"`              // $96:
	VlcExts              int64            `json:"vlc_exts"`               // $97:
	ModeChanges          int64            `json:"mode_changes"`           // $98:
	IPChanges            int64            `json:"ip_changes"`             // $99:
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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