Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
ui
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Hello Contest

A simple HF contest log for Linux, written in Go using gotk3 for the UI. As I'm using this only for CW contests on HF, the program might not be very useful for other modes or higher frequencies. Anyway, here are some highlights:

  • Calculate points, multis, and score per band and overall. The calculation rules can be changed in the configuration file.
  • Export the logbook in the Cabrillo or ADIF format.
  • Get additional information about the entered callsign from the DXCC and super check partial databases.
  • Use the TCI protocol or the cwdaemon to transmit CW macros.
  • Define different macros for running and search&pounce working mode.
  • Connect to your transceiver through the TCI protocol or the Hamlib network protocol to keep the band and mode information in sync.

I use this little project mainly as training ground to learn how to develop a desktop application in Go and to improve my Go-Fu.

Build

gtk+3.0

To build the software on your system with the gotk3 library, you may need to set a tag with the version number of gtk+3.0 that is installed on your system:

# find out the version number
pkg-config --modversion gtk+-3.0

# build hellocontest (example for gtk+ 3.22.30)
go build -tags gtk_3_22

Protobuf

Hellocontest uses Google's protocol buffers to define the data format of the log data stored on disk. The proto definition of the data format resides in the core/pb package. This package also contains the generated Go code to access the binary logbook data according to the proto definition. If you make any changes to the proto definition, you need to regenerate this code. The code generation is done using Google's protoc compiler for protocol buffers (see Google's documentation on protocol buffers for more information about how to install this tool). To run the code generation simply execute

go generate ./core/pb

This will generate the Go code to access the binary data in the logbook files into the core/pb package.

Glade

The UI is defined using a Glade file. This file is automatically integrated into the executable by the Go compiler, using Go's embed package (new in 1.16).

License

This software is published under the MIT License.

Copyright Florian Thienel