All Projects β†’ tzneal β†’ ham-go

tzneal / ham-go

Licence: MIT license
Amateur radio related code written in go

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to ham-go

herald
Log annotation for logging frameworks
Stars: ✭ 71 (+195.83%)
Mutual labels:  logger
Meteor-logger-file
πŸ”– Meteor Logging: Store application log messages into file (FS)
Stars: ✭ 24 (+0%)
Mutual labels:  logger
sqlite micro logger arduino
Fast and Lean Sqlite database logger for Microcontrollers
Stars: ✭ 128 (+433.33%)
Mutual labels:  logger
Laravel-FluentLogger
fluent logger for laravel (with Monolog handler for Fluentd)
Stars: ✭ 55 (+129.17%)
Mutual labels:  logger
turbo-log
Fast log message inserting for quick debug.
Stars: ✭ 66 (+175%)
Mutual labels:  logger
logger
Gin middleware/handler to logger url path using rs/zerolog
Stars: ✭ 119 (+395.83%)
Mutual labels:  logger
NLog
Flexible logging for C# and Unity
Stars: ✭ 158 (+558.33%)
Mutual labels:  logger
pio
Low-level package that provides an easy way to centralize different output targets. Supports colors and text decoration to all popular terminals
Stars: ✭ 21 (-12.5%)
Mutual labels:  logger
ShipBookSDK-Android
A logging system for Android
Stars: ✭ 19 (-20.83%)
Mutual labels:  logger
random-logger
Docker image for a random log generator.
Stars: ✭ 104 (+333.33%)
Mutual labels:  logger
log
A simple to use log system, minimalist but with features for debugging and differentiation of messages
Stars: ✭ 21 (-12.5%)
Mutual labels:  logger
glog-gokit
This packages is a replacement for glog in projects that use the go-kit logger.
Stars: ✭ 18 (-25%)
Mutual labels:  logger
faraday-detailed logger
A detailed request and response logger for Faraday.
Stars: ✭ 56 (+133.33%)
Mutual labels:  logger
lgr
Basic logger with some extras
Stars: ✭ 33 (+37.5%)
Mutual labels:  logger
apollo-log
A logging extension for the Apollo GraphQL Server
Stars: ✭ 64 (+166.67%)
Mutual labels:  logger
clue
a extremely high performance log library for android. ι«˜ζ€§θƒ½ηš„Androidζ—₯εΏ—εΊ“
Stars: ✭ 27 (+12.5%)
Mutual labels:  logger
neptune-client
πŸ“’ Experiment tracking tool and model registry
Stars: ✭ 348 (+1350%)
Mutual labels:  logger
Proglog
πŸ“ Logs and progress bars manager for Python
Stars: ✭ 87 (+262.5%)
Mutual labels:  logger
GoogleCloudLogging
Swift (Darwin) library for logging application events in Google Cloud.
Stars: ✭ 24 (+0%)
Mutual labels:  logger
l
Cross-platform html/io [L]ogger with simple API.
Stars: ✭ 26 (+8.33%)
Mutual labels:  logger

Ham related go code

cmd/termlog

screenshot

The main driver for writing the rest of this code. A cross platform console based ham contact logger. I'm developing it for my own use, so it only has features I need/want.

  • Saves logs as ADIF files with custom fields
  • Supports auto-commiting log filesgit to a git repository
  • DX cluster & POTA spot monitoring
  • Radio control through hamlib (github.com/dh1tw/goHamlib)
  • Logs for both WSJT-X and fldigi
  • LoTW integration (syncs QSL information from LoTW to stored ADIF files)

Installation

Linux x64

```
sudo apt-get install -y libhamlib2
sudo wget https://github.com/tzneal/ham-go/releases/latest/download/termlog.amd64 -O /usr/bin/termlog
sudo chmod a+x /usr/bin/termlog
/usr/bin/termlog --upgrade-config
```

Linux/32 bit ARM (Raspberry Pi)

sudo apt-get install -y libhamlib2
sudo wget https://github.com/tzneal/ham-go/releases/latest/download/termlog.arm -O /usr/bin/termlog
sudo chmod a+x /usr/bin/termlog
/usr/bin/termlog --upgrade-config

Linux/64 bit ARM

sudo apt-get install -y libhamlib2
sudo wget https://github.com/tzneal/ham-go/releases/latest/download/termlog.arm64 -O /usr/bin/termlog
sudo chmod a+x /usr/bin/termlog
/usr/bin/termlog --upgrade-config

Precompiled binaries are also available at https://github.com/tzneal/ham-go/releases

Configuration

  1. Run termlog once, then hit Ctrl+Q to quit. This will create an initial config file at ~/.termlog.toml that you can then modify.
  2. Fill out the operator section at a minimum

Custom Commands

Custom user commands can be reached through Ctrl+E. These command are defined in the configuration file and environment variables are used to pass state to the command line.

As an exanple, the following will construct a command that syncs the current ADIF log file with LoTW using tqsl.

  [[Operator.Commands]]
    Name = "Sync Current Logfile with LoTW"
    Command = "$TQSL -a compliant --nodate --upload --batch $LOGFILE"

Environment Variables

  • LOGFILE - Path to the current logfile
  • TQSL - Path to the tqsl binary configured in the configuration file

Custom Fields

In the configuration file, custom ADIF fields can be defined. A SOTA field is defined in the default configuration and can be removed if not needed.

  [[Operator.CustomFields]]
    Name = "sota_ref"
    Label = "SOTA"
    Width = 8
    Default = ""

Command line options

Usage of ./termlog:
  -color-test
    	display a color test
  -config string
    	path to the configuration file (default "~/.termlog.toml")
  -hamlib-list
    	list the supported libhamlib devices
  -index
    	index the ADIF files passed in on the command line
  -key-test
    	list keyboard events
  -log string
    	specify a log file to load and write to
  -no-net
    	disable all features that require network access (useful for POTA/SOTA)
  -no-rig
    	disable rig control, even if enabled in the config file
  -search string
    	search the indexed ADIF files and print the results
  -sync-lotw-qsl
    	fetches QSL information from LoTW to update log QSL information in the default log directory
  -upgrade-config
    	upgrade the configuration file to the latest format

Commands

Shortcut Command
Ctrl+Q Quit termlog
Ctrl+H Display Help
Ctrl+N Start a new QSO (clearing the current one if not saved)
Ctrl+D Set the QSO time on to the current time
Ctrl+S Save the QSO to the log and start a new one
Ctrl+G Commit the current logfile to git
Ctrl+B Save a bookmark
Alt+B Open the bookmark list
Ctrl+L Focus the QSO List
Ctrl+E Display custom user commands
Ctrl+R Force screen redraw
Alt+Left Tune down 500khz
Alt+Right Tune up 500khz

adif

ADIF parsing and writing

callsigns

Callsign lookup interface with a couple of supported backends.

db

ADIF indexer used to quickly identify when you last saw a contact and how many times you've logged him.

dxcc

Callsign lookup via prefixes/exceptions through the data at www.country-files.com (works offline).

dxcluster

The beginnings of a DXCluster client.

fldigi

Enough code to parse the realtime fldigi emitted logs and save them to termlog.

wsjtx

Enough code to parse the realtime WSJT-X emitted logs and save them to termlog. I use this when running FT8 to capture logs in real time from WSJT-X.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].