core

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2022 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Bands are all supported HF bands.

Modes are all relevant modes.

Functions

This section is empty.

Types

type AnnotatedCallsign

type AnnotatedCallsign struct {
	Callsign         callsign.Callsign
	Assembly         MatchingAssembly
	Duplicate        bool
	Worked           bool
	ExactMatch       bool
	Points           int
	Multis           int
	PredictedXchange string

	Comparable interface{}
	Compare    func(interface{}, interface{}) bool
}

AnnotatedCallsign contains a callsign with additional information retrieved from databases and the logbook.

func (AnnotatedCallsign) LessThan added in v0.9.0

type AsyncRunner added in v0.5.0

type AsyncRunner func(func())

type Band

type Band string

Band represents an amateur radio band.

const (
	NoBand   Band = ""
	Band160m Band = "160m"
	Band80m  Band = "80m"
	Band60m  Band = "60m"
	Band40m  Band = "40m"
	Band30m  Band = "30m"
	Band20m  Band = "20m"
	Band17m  Band = "17m"
	Band15m  Band = "15m"
	Band12m  Band = "12m"
	Band10m  Band = "10m"
)

All HF bands.

func (*Band) String

func (band *Band) String() string

type BandScore added in v0.2.0

type BandScore struct {
	SpecificCountryQSOs int
	SameCountryQSOs     int
	SameContinentQSOs   int
	OtherQSOs           int
	Duplicates          int
	Points              int
	CQZones             int
	ITUZones            int
	DXCCEntities        int
	WPXPrefixes         int
	XchangeValues       int
	Multis              int
}

func (*BandScore) Add added in v0.2.0

func (s *BandScore) Add(other BandScore)

func (*BandScore) PointsPerQSO added in v0.3.0

func (s *BandScore) PointsPerQSO() float64

func (*BandScore) QSOs added in v0.3.0

func (s *BandScore) QSOs() int

func (*BandScore) QSOsPerMulti added in v0.3.0

func (s *BandScore) QSOsPerMulti() float64

func (*BandScore) Result added in v0.3.0

func (s *BandScore) Result() int

func (BandScore) String added in v0.2.0

func (s BandScore) String() string

type Clock

type Clock interface {
	Now() time.Time
}

Clock represents a source of the current time.

type Contest added in v0.6.0

type Contest struct {
	Name                string
	EnterTheirNumber    bool
	EnterTheirXchange   bool
	RequireTheirXchange bool
	AllowMultiBand      bool
	AllowMultiMode      bool

	SameCountryPoints       int
	SameContinentPoints     int
	SpecificCountryPoints   int
	SpecificCountryPrefixes []string
	OtherPoints             int

	Multis              Multis
	XchangeMultiPattern string
	CountPerBand        bool

	CabrilloQSOTemplate string

	CallHistoryFilename string
	CallHistoryField    string
}

type EntryField

type EntryField int

EntryField represents an entry field in the visual part.

const (
	CallsignField EntryField = iota
	TheirReportField
	TheirNumberField
	TheirXchangeField
	MyReportField
	MyNumberField
	MyXchangeField
	BandField
	ModeField
	OtherField
)

The entry fields.

type Frequency added in v0.4.0

type Frequency float64

Frequency in Hz.

func (Frequency) String added in v0.4.0

func (f Frequency) String() string

type Hour added in v0.3.1

type Hour time.Time

Hour is used as reference to calculate the number of QSOs per hour.

func HourOf added in v0.3.1

func HourOf(t time.Time) Hour

HourOf returns the given time to the hour.

type Keyer added in v0.6.0

type Keyer struct {
	SPMacros  []string
	RunMacros []string
	WPM       int
}

type KeyerValues

type KeyerValues struct {
	TheirCall string
	MyNumber  QSONumber
	MyReport  RST
	MyXchange string
}

KeyerValues contains the values that can be used as variables in the keyer templates.

type MatchingAssembly added in v0.9.0

type MatchingAssembly []MatchingPart

func (MatchingAssembly) String added in v0.9.0

func (m MatchingAssembly) String() string

type MatchingOperation added in v0.8.0

type MatchingOperation int
const (
	Matching MatchingOperation = iota
	Insert
	Delete
	Substitute
)

type MatchingPart added in v0.9.0

type MatchingPart struct {
	OP    MatchingOperation
	Value string
}

type Mode

type Mode string

Mode represents the mode.

const (
	NoMode      Mode = ""
	ModeCW      Mode = "CW"
	ModeSSB     Mode = "SSB"
	ModeFM      Mode = "FM"
	ModeRTTY    Mode = "RTTY"
	ModeDigital Mode = "DIGI"
)

All relevant modes.

func (*Mode) String

func (mode *Mode) String() string

type Multis added in v0.6.0

type Multis struct {
	DXCC    bool
	WPX     bool
	Xchange bool
}

type QSO

type QSO struct {
	Callsign     callsign.Callsign
	Time         time.Time
	Frequency    Frequency
	Band         Band
	Mode         Mode
	MyReport     RST
	MyNumber     QSONumber
	MyXchange    string
	TheirReport  RST
	TheirNumber  QSONumber
	TheirXchange string
	LogTimestamp time.Time
	DXCC         dxcc.Prefix
	Points       int
	Duplicate    bool
}

QSO contains the details about one radio contact.

func (*QSO) String

func (qso *QSO) String() string

type QSONumber

type QSONumber int

QSONumber is the unique number of a QSO in the log, either on my or on their side.

func (*QSONumber) String

func (nr *QSONumber) String() string

type QSORate added in v0.3.1

type QSORate struct {
	LastHourRate QSOsPerHour
	Last5MinRate QSOsPerHour
	QSOsPerHours QSOsPerHours
	SinceLastQSO time.Duration
}

QSORate contains all statistics regarding the rate of QSOs in a contest.

func (QSORate) SinceLastQSOFormatted added in v0.4.0

func (r QSORate) SinceLastQSOFormatted() string

type QSOsPerHour added in v0.3.1

type QSOsPerHour int

QSOsPerHour is the rate of QSOs per one hour

type QSOsPerHours added in v0.3.1

type QSOsPerHours map[Hour]QSOsPerHour

QSOsPerHours contains the complete QSO rate statistic mapping each Hour in the contest to the rate of QSOs within this Hour

type RST

type RST string

RST represents a signal report using the "Readability/Signalstrength/Tone" system.

func (*RST) String

func (rst *RST) String() string

type Score added in v0.2.0

type Score struct {
	ScorePerBand map[Band]BandScore
	TotalScore   BandScore
	OverallScore BandScore
}

func (Score) String added in v0.2.0

func (s Score) String() string

type Service added in v0.5.0

type Service int
const (
	NoService Service = iota
	TCIService
	HamlibService
	CWDaemonService
	DXCCService
	SCPService
	CallHistoryService
)

type ServiceStatusListener added in v0.5.0

type ServiceStatusListener interface {
	StatusChanged(service Service, avialable bool)
}

type ServiceStatusListenerFunc added in v0.5.0

type ServiceStatusListenerFunc func(Service, bool)

func (ServiceStatusListenerFunc) StatusChanged added in v0.5.0

func (f ServiceStatusListenerFunc) StatusChanged(service Service, available bool)

type Settings added in v0.6.0

type Settings interface {
	Station() Station
	Contest() Contest
}

type Station added in v0.6.0

type Station struct {
	Callsign callsign.Callsign
	Operator callsign.Callsign
	Locator  locator.Locator
}

type Workmode

type Workmode int

Workmode is either search&pounce or run.

const (
	SearchPounce Workmode = iota
	Run
)

All work modes.

Jump to

Keyboard shortcuts

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