Coder Social home page Coder Social logo

ftl / hellocontest Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 1.1 MB

A simple HF contest log for Linux, written in Go

License: MIT License

Go 98.39% Makefile 1.01% CSS 0.58% Shell 0.02%
hamradio contest ham-radio hf-contest-log gotk3 amateur-radio amateurradio cabrillo adif cwdaemon

hellocontest's Introduction

CI-Build

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 is done using the conval library. You can select the contest definition in the settings dialog (File > Settings).
  • Show the current rate of QSOs, points, and multis in a comprehensive graphic.
  • Export the logbook as Cabrillo, ADIF, CSV, or call history.
  • Get additional information about the entered callsign from the DXCC and super check partial databases, or a call history file.
  • Use a call history file from a former contest to predict the exchange for the currently entered callsign.
  • Use a dx cluster or a local CW skimmer and show the spotted stations in a spot list (or even the spectrum view of your radio, if it supports the TCI protocol).
  • Define different CW macros for the running and the search&pounce working mode.
  • Use the TCI protocol, the Hamlib daemon, or the cwdaemon to transmit CW macros.
  • Connect to your transceiver through the TCI protocol or the Hamlib network protocol to keep the band and mode information in sync.
  • Show the currently worked station on F5UII's HamDXMap.

main raw

Known Issues

In combination with wayland, the "new contest" dialog does not work properly sometimes: you cannot select anything and the entry field for the contest name does not respond to any input. I found no hint so far, what the causes this behavior. If you have problems running Hello Contest in combination with wayland, please switch to X11. If you have any hints, what could be the cause of this behavior, please don't hesitate to contact me.

Install

See also the installation wiki page for more details.

AppImage

Download the AppImage of the latest release here.

Debian, Ubuntu, etc.

Download the Debian package of the latest release here.

Arch

The latest release of Hello Contest is available as AUR package: hellocontest.

Build

Build hellocontest using the included Makefile by simply running

make

The following libraries are required:

  • libgtk-3-0
  • libgtk-3-dev
  • libpango-1.0-0
  • libpango1.0-dev
  • libpangocairo-1.0-0

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

make generate

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

hellocontest's People

Contributors

benishor avatar dependabot[bot] avatar ftl avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

m5evt benishor

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.