N9MII Field Day Logger
  • PHP 59.4%
  • JavaScript 23.7%
  • CSS 7.8%
  • HTML 5.1%
  • Shell 2.1%
  • Other 1.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2024-07-27 02:59:52 -07:00
extra cab class added, cab/mode breakdown as a view but not plumbed 2024-07-27 02:59:52 -07:00
loggerlink actually make loggerlink executable 2024-06-20 14:59:20 -07:00
loggerscripts added loggerscripts and a makefile for them 2024-06-20 14:47:59 -07:00
src cab class added, cab/mode breakdown as a view but not plumbed 2024-07-27 02:59:52 -07:00
test changes to automatically create cabrillo files 2024-07-27 01:38:30 -07:00
.gitignore import scripts now callbookgen and more helpful, pharter 2 2024-06-18 02:43:13 -07:00
LICENSE Initial commit 2022-06-23 15:46:19 -07:00
Makefile server side add now checks for dupe 2024-06-19 22:58:13 -07:00
pharbuild pharter 1 2024-06-18 00:56:34 -07:00
README.md server side add now checks for dupe 2024-06-19 22:58:13 -07:00

N9MII's Field Day Logger

In 2020 and 2022, we used CloudLog to capture our data.

While that eventually worked, it required a lot of SQL finagling to get the data into Cabrillo file format that the ARRL site understood. Most other field day loggers we could find seemed hard to work with and incomplete, or written for Windows users. As we are strictly a unix shop, that wouldn't do.

For the record: In 2021, I had some brain wrong that made field day kinda hard.

Notably: I hate the name of this repo, and I just think of it as "logger." I should come up with a better name.

How the Logger Works

It's basically a response to things I realized while I was logging FD in 2022. I would often type my notes in a text editor, and then copy what I copied into the logger. Based on that, this logger gives the user an open text field. The parser attempts to figure out the call and exchange from what you type in. If you add some notes in between square brackets it will include those notes in the log.

It's pretty slick once you get it. As long as it doesn't have horrible parser bugs.

Logger Requirements

The server needs:

  • PHP >8 with functional webserver, developed on 8.3, but doesn't use anything that new.
  • MariaDB, developed with 11.3.
    • Notably, we use views and triggers. SQLite was considered, but concurrency is good.
  • curl for downloading logbook data (optional)

The clients need:

  • A web browser. Currently only tested with Firefox
  • hamlib for rigctl
  • PHP CLI >8 for reporting rigctl data to the logger.

The Basic Installation Idea

  • Create a database
  • Import extra/logger.sql into the database
  • Generate the callbook sql
    • Create a work directory for the callbook generator.
    • Run extra/callbookgen -o /your/work/dir
    • Wait a minute.
    • import /your/work/dir/callbook.sql into the database
  • run make, make install will put things into system places
  • use the resultant logger.phar with your webserver
    • php -S 0.0.0.0:8888 logger.phar works
    • There is an example config for lighttpd in extra/
  • Configure extra/logger.ini appropriately. Copy it either to /etc or a location specified in the webserver's environment variable LOGGERINI.

To use loggerlink see the readme in loggerlink.

Arch Linux

I've created PKGBUILDs for all of this in my personal PKBUILD repo.

Security?

Nope.

This is designed for local use only. In our use case, we have a single wifi router that only the computers that are working Field Day are allowed to join.

If you put this on the internet, you will be sad.

License

This code is AGPL3. I'll get to adding appropriate headers later.

The font I'm using is RedHat Mono, which is distributed via the OFL.