diff --git a/content/posts/2023-09-24-flecli-on-openbsd/index.md b/content/posts/2023-09-24-flecli-on-openbsd/index.md new file mode 100644 index 0000000..e3e1956 --- /dev/null +++ b/content/posts/2023-09-24-flecli-on-openbsd/index.md @@ -0,0 +1,190 @@ ++++ +# vim: ft=markdown +title = 'FLEcli on OpenBSD' +summary = '''Quickly create ADIF or CSV files to import into any logging program later. + Also creates logfiles for the SOTA program.''' +date = '2023-09-24T11:11:43+0200' +lastmod = '2023-09-24T09:18:18+0000' +categories = [ 'amateur-radio' ] +tags = [ 'linux', 'openbsd', 'freebsd', 'windows', 'macos', 'portable', 'neovim', 'software', 'zsh' ] + +draft = true + ++++ + +## What is FLE +Find more useful information about FLE over here: + +- + This is the tool (written in go) that we use in this article, but it interprets + the syntax mentioned on the website below. +- + This is also the website to get a Windows binary, which is actually a logging program, + but the link goes directly to the **documentation page**. +- + This is an addon for the vim editor, that helps you with the syntax by highlighting it. + I haven't got this working with neovim, though (not worth looking into it for now). +- + This is a descriptive blog post by Michael DK1MI on his website about the vim-plugin. + +## Get the source code and install the program + +I usually keep those files in `~/git`. + +```console +$ cd ~/git +$ git clone https://github.com/on4kjm/FLEcli.git +Klone nach 'FLEcli'... +remote: Enumerating objects: 1223, done. +remote: Counting objects: 100% (297/297), done. +remote: Compressing objects: 100% (187/187), done. +remote: Total 1223 (delta 162), reused 213 (delta 106), pack-reused 926 +Empfange Objekte: 100% (1223/1223), 30.01 MiB | 4.88 MiB/s, fertig. +Löse Unterschiede auf: 100% (746/746), fertig. +$ cd FLEcli +$ go build +$ go install +``` +Your program should now be in `$GOPATH/bin`, which is +`~/go/bin` on my computer. This is also listed in my `$PATH`. + +## Create command completion for your shell + +I'm using **zsh** as my primary shell so I'll create the completion file +for zsh in this article. I have my custom completion scripts in +`~/.zcomp`. + +In your home directory: + +```console +$ FLEcli completion zsh > ~/.zcomp/_FLEcli +$ rm .zcompdump +$ compinit +``` + +Hmm, your commands may differ probably, I'm using [prezto][1] since years and that +may differ a bit from other zsh setups. + +[1]: https://github.com/sorin-ionescu/prezto + +## Create a logfile + +The log can be written very quick, for a detailed documentation see the links at the very +beginning of this article, specifically the second one. + +An example logfile `log.fle` looks like this: + +```fle +mycall oe7drt +mygrid jn57lb +date 2023-09-24 +0826 20m ssb oe7test < comments > [ QSL message ] +7 oe7test2 < second contact > +8 oe7test3 < third, minute 8 → 08:28 > +``` +See? You can create logfiles very quick. + +### Have a look at the logfile + +```console +$ FLEcli load log.fle +MyCall OE7DRT +MyGrid JN57lb + +Date Time Band Mode Call Sent Rcvd Notes +---- ---- ---- ---- ---- ---- ---- ---- +2023-09-24 0826 20m SSB OE7TEST 59 59 [ comments ] [ QSL message ] +2023-09-24 0827 20m SSB OE7TEST2 59 59 [ second contact ] +2023-09-24 0828 20m SSB OE7TEST3 59 59 [ third, minute 8 → 08:28 ] + +Successfully parsed 7 lines. +``` + +## Create an ADIF file + +```console +$ FLEcli adif log.fle +No output provided, defaulting to "log.adi" +MyCall OE7DRT +MyGrid JN57lb + +Date Time Band Mode Call Sent Rcvd Notes +---- ---- ---- ---- ---- ---- ---- ---- +2023-09-24 0826 20m SSB OE7TEST 59 59 [ comments ] [ QSL message ] +2023-09-24 0827 20m SSB OE7TEST2 59 59 [ second contact ] +2023-09-24 0828 20m SSB OE7TEST3 59 59 [ third, minute 8 → 08:28 ] + +Successfully parsed 7 lines. + +Successfully wrote 7 lines to file "log.adi" +``` + +Which looks like this then: + +```adif +ADIF Export for Fast Log Entry by DF3CB +FLE +3.1.0 + +OE7DRT OE7TEST 20230924 0826 20m SSB 59 59 comments QSL message JN57lb +OE7DRT OE7TEST2 20230924 0827 20m SSB 59 59 second contact JN57lb +OE7DRT OE7TEST3 20230924 0828 20m SSB 59 59 third, minute 8 → 08:28 JN57lb +``` + +## Create a SOTA log + +I've never activated or hunted a SOTA station, but this is the theoretical +way to produce a valid logfile to submit to the sota website. + +First, the dummy logfile: + +```fle +mycall oe7drt +mygrid jn57lb +mysota oe/ti-674 + +date 2023-09-24 +1015 80m ssb oe0t1 46 58 [no qsl; only LOTW] +20 oe0t2 33 32 < very quiet mic > +22 oe0t3 59 59 < must be very near> +4 oe0t4 34 57 sota oe/ti-559 < nice s2s contact > +``` + +We create the CSV file: + +```console +$ FLEcli csv log.fle +No output provided, defaulting to "log.csv" +MyCall OE7DRT +MySOTA OE/TI-674 +MyGrid JN57lb + +Date Time Band Mode Call Sent Rcvd Notes +---- ---- ---- ---- ---- ---- ---- ---- +2023-09-24 1015 80m SSB OE0T1 46 58 [no qsl; only LOTW] +2023-09-24 1020 80m SSB OE0T2 33 32 [ very quiet mic ] +2023-09-24 1022 80m SSB OE0T3 59 59 [ must be very near] +2023-09-24 1024 80m SSB OE0T4 34 57 [ nice s2s contact ] OE/TI-559 + +Successfully parsed 10 lines. + +Successfully wrote 4 lines to file "log.csv" +``` + +Which results in a CVS file ready for uploading to the SOTA website (untested!): + +```csv +V2,OE7DRT,OE/TI-674,24/09/23,1015,3.5MHz,SSB,OE0T1 +V2,OE7DRT,OE/TI-674,24/09/23,1020,3.5MHz,SSB,OE0T2,, very quiet mic +V2,OE7DRT,OE/TI-674,24/09/23,1022,3.5MHz,SSB,OE0T3,, must be very near +V2,OE7DRT,OE/TI-674,24/09/23,1024,3.5MHz,SSB,OE0T4,OE/TI-559, nice s2s contact +``` + +## Final words + +I guess this is an excellent way to create a **quick offline log** on your computer, +if you have one with you. Otherwise this is a quick way to create a properly formatted +ADIF or CSV file to **import later** into your regular logging program because you really +only type in the needed information like time changes or band changes and the callsigns +with their reports of course. All entered information keeps there for the following QSOs. +