core

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Bands are all supported HF bands.

Modes are all relevant modes.

Functions

func IsExchangeField added in v0.10.0

func IsExchangeField(name string) bool

Types

type AnnotatedCallsign

type AnnotatedCallsign struct {
	Callsign          callsign.Callsign
	Assembly          MatchingAssembly
	Duplicate         bool
	Worked            bool
	ExactMatch        bool
	Points            int
	Multis            int
	PredictedExchange []string
	Name              string
	UserText          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 {
	QSOs       int
	Duplicates int
	Points     int
	Multis     int
}

func (*BandScore) Add added in v0.2.0

func (s *BandScore) Add(other BandScore)

func (*BandScore) AddQSO added in v0.10.0

func (s *BandScore) AddQSO(qso QSOScore)

func (BandScore) PointsPerQSO added in v0.3.0

func (s BandScore) PointsPerQSO() float64

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 {
	Definition             *conval.Definition
	Name                   string
	ExchangeValues         []string
	GenerateSerialExchange bool

	MyExchangeFields         []ExchangeField
	MyReportExchangeField    ExchangeField
	MyNumberExchangeField    ExchangeField
	TheirExchangeFields      []ExchangeField
	TheirReportExchangeField ExchangeField
	TheirNumberExchangeField ExchangeField

	CallHistoryFilename   string
	CallHistoryFieldNames []string

	QSOsGoal   int
	PointsGoal int
	MultisGoal int
}

func (*Contest) UpdateExchangeFields added in v0.10.0

func (c *Contest) UpdateExchangeFields()

type EntryField

type EntryField string

EntryField represents an entry field in the visual part.

const (
	CallsignField EntryField = "callsign"
	BandField     EntryField = "band"
	ModeField     EntryField = "mode"
	OtherField    EntryField = "other"
)

The entry fields.

func MyExchangeField added in v0.10.0

func MyExchangeField(index int) EntryField

func TheirExchangeField added in v0.10.0

func TheirExchangeField(index int) EntryField

func (EntryField) ExchangeIndex added in v0.10.0

func (f EntryField) ExchangeIndex() int

func (EntryField) IsMyExchange added in v0.10.0

func (f EntryField) IsMyExchange() bool

func (EntryField) IsTheirExchange added in v0.10.0

func (f EntryField) IsTheirExchange() bool

func (EntryField) NextExchangeField added in v0.10.0

func (f EntryField) NextExchangeField() EntryField

type ExchangeField added in v0.10.0

type ExchangeField struct {
	Field            EntryField
	CanContainSerial bool
	EmptyAllowed     bool
	Properties       conval.ExchangeField

	Short    string
	Name     string
	Hint     string
	ReadOnly bool
}

func DefinitionsToExchangeFields added in v0.10.0

func DefinitionsToExchangeFields(fieldDefinitions []conval.ExchangeField, exchangeEntryField func(int) EntryField) []ExchangeField

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
	MyExchange  string
	MyExchanges []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
	FalseFriend
)

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
	MyExchange    []string
	TheirReport   RST
	TheirNumber   QSONumber
	TheirExchange []string
	LogTimestamp  time.Time
	DXCC          dxcc.Prefix
	Points        int
	Multis        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

	LastHourPoints int
	Last5MinPoints int
	LastHourMultis int
	Last5MinMultis int
}

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 QSOScore added in v0.10.0

type QSOScore struct {
	Points    int
	Multis    int
	Duplicate bool
}

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
}

func (Score) Result added in v0.10.0

func (s Score) Result() 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.

Directories

Path Synopsis
Package callhistory provides access to call history files.
Package callhistory provides access to call history files.
export
csv

Jump to

Keyboard shortcuts

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