not1mm 24.11.12.1__tar.gz → 24.11.17__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {not1mm-24.11.12.1 → not1mm-24.11.17}/PKG-INFO +48 -3
- {not1mm-24.11.12.1 → not1mm-24.11.17}/README.md +47 -2
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/__main__.py +10 -6
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/checkwindow.py +1 -1
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/checkwindow.ui +18 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/new_contest.ui +5 -0
- not1mm-24.11.17/not1mm/lib/version.py +3 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_ss_cw.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_vhf_jan.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_vhf_jun.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_vhf_sep.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_160_cw.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_160_ssb.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_ww_cw.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_ww_rtty.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_ww_ssb.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cwt.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/helvetia.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/k1usn_sst.py +10 -0
- not1mm-24.11.17/not1mm/plugins/lz-dx.py +634 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/naqp_cw.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/naqp_rtty.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/naqp_ssb.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/raem.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/stew_perry_topband.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/weekly_rtty.py +10 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/winter_field_day.py +10 -0
- not1mm-24.11.17/not1mm/test.py +8 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/PKG-INFO +48 -3
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/SOURCES.txt +1 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/pyproject.toml +1 -1
- not1mm-24.11.12.1/not1mm/lib/version.py +0 -3
- not1mm-24.11.12.1/not1mm/test.py +0 -39
- {not1mm-24.11.12.1 → not1mm-24.11.17}/LICENSE +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/__init__.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/bandmap.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/about.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/bandmap.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/check.png +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/configuration.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/contests.sql +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/cty.json +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/donors.html +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/editcontact.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/editmacro.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/greendot.png +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/logwindow.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/logwindowx.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/main.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/not1mm.html +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/opon.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/cq2.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/radio_green.png +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/radio_grey.png +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/radio_red.png +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/reddot.png +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/rttymacros.txt +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/settings.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/splash.png +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/vfo.ui +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/fsutils.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/__init__.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/about.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/cat_interface.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/database.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/edit_station.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/fldigi_sendstring.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/fldigi_watcher.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/ft8_watcher.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/lookup.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/multicast.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/n1mm.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/new_contest.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/plugin_common.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/select_contest.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/settings.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/super_check_partial.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/versiontest.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/logwindow.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lookupservice.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/10_10_fall_cw.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/10_10_spring_cw.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/10_10_summer_phone.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/10_10_winter_phone.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/__init__.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_10m.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/canada_day.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_wpx_cw.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_wpx_rtty.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/iaru_hf.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/icwc_mst.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/phone_weekly_test.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/ref_cw.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/ref_ssb.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/radio.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/vfo.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/voice_keying.py +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/top_level.txt +0 -0
- {not1mm-24.11.12.1 → not1mm-24.11.17}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.11.
|
3
|
+
Version: 24.11.17
|
4
4
|
Summary: NOT1MM Logger
|
5
5
|
Author-email: Michael Bridak <michael.bridak@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/mbridak/not1mm
|
@@ -236,6 +236,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
236
236
|
|
237
237
|
## Recent Changes (Polishing the Turd)
|
238
238
|
|
239
|
+
- [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
|
240
|
+
- [24-11-15] Made checkwindow font bigger and match a little more contrasted.
|
239
241
|
- [24-11-12] add check for ipv4 address for CAT.
|
240
242
|
- [24-11-10] ReJiggered CAT/flrig interface to hopefull make it more workable.
|
241
243
|
- [24-11-6] Added Call history to ARRL VHF, CQ160, CQWW, StewPerry, Weekly RTTY
|
@@ -859,7 +861,7 @@ change.
|
|
859
861
|
I caved and started working on ESM or Enter Sends Message. To test it out you can
|
860
862
|
go to `FILE -> Configuration Settings`
|
861
863
|
|
862
|
-

|
863
865
|
|
864
866
|
Check the mark to Enable ESM and tell it which function keys do what. The keys will need
|
865
867
|
to have the same function in both Run and S&P modes. The function keys will highlight
|
@@ -903,7 +905,50 @@ QRZ (for Run) or Exchange (for S&P) is sent.
|
|
903
905
|
|
904
906
|
## Call History Files
|
905
907
|
|
906
|
-
I've started work on using 'call history files'.
|
908
|
+
I've started work on using 'call history files'. To test it, you can
|
909
|
+
go to `FILE -> Configuration Settings`
|
910
|
+
|
911
|
+

|
912
|
+
|
913
|
+
Place a check in the `Use Call History` box. Call history files are very specific to the contest you are working. Example files can be obtained from [n1mm's](https://n1mmwp.hamdocs.com/mmfiles/categories/callhistory/?) website. They have a searchbox so you can find the contest you are looking for. If you are feeling masocistic, you can craft your own. The general makeup of the file is a header defining the fields to be used, followed by by lines of comma separated data.
|
914
|
+
|
915
|
+
An example file excerpt looks like:
|
916
|
+
|
917
|
+
```text
|
918
|
+
!!Order!!,Call,Name,State,UserText,
|
919
|
+
#
|
920
|
+
# 0-This is helping file, LOG what is sent.
|
921
|
+
# 1-Last Edit,2024-08-18
|
922
|
+
# 2-Send any corrections direct to ve2fk@arrl.net
|
923
|
+
# 3-Updated from the log of Marsh/KA5M
|
924
|
+
# 4-Thanks Bjorn SM7IUN for his help.
|
925
|
+
# 5-Thanks
|
926
|
+
# NAQPCW
|
927
|
+
# NAQPRTTY
|
928
|
+
# NAQPSSB
|
929
|
+
# SPRINTCW
|
930
|
+
# SPRINTLADD
|
931
|
+
# SPRINTNS
|
932
|
+
# SPRINTRTTY
|
933
|
+
# SPRINTSSB
|
934
|
+
AA0AC,DAVE,MN,Example UserText
|
935
|
+
AA0AI,STEVE,IA,
|
936
|
+
AA0AO,TOM,MN,
|
937
|
+
AA0AW,DOUG,MN,
|
938
|
+
AA0BA,,TN,
|
939
|
+
AA0BR,,CO,
|
940
|
+
AA0BW,,MO,
|
941
|
+
```
|
942
|
+
|
943
|
+
The first line is the field definition header. The lines starting with a `#` are comments. Some of the comments are other contests that this file also works with.
|
944
|
+
This is followed by the actual data. If the matched call has `UserText` information, that user text is populated to the bottom left of the logging window.
|
945
|
+
|
946
|
+
So if one were to go to `FILE -> LOAD CALL HISTORY FILE` and choose a downloaded call history file for NAQP and typed in the call AA0AC while operating in the NAQP, after pressing space, one would see:
|
947
|
+
|
948
|
+

|
949
|
+
|
950
|
+
Where the Name and State would auto-populate and the UserText info apprears in the bottom left.
|
951
|
+
|
907
952
|
|
908
953
|
## Contest specific notes
|
909
954
|
|
@@ -205,6 +205,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
205
205
|
|
206
206
|
## Recent Changes (Polishing the Turd)
|
207
207
|
|
208
|
+
- [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
|
209
|
+
- [24-11-15] Made checkwindow font bigger and match a little more contrasted.
|
208
210
|
- [24-11-12] add check for ipv4 address for CAT.
|
209
211
|
- [24-11-10] ReJiggered CAT/flrig interface to hopefull make it more workable.
|
210
212
|
- [24-11-6] Added Call history to ARRL VHF, CQ160, CQWW, StewPerry, Weekly RTTY
|
@@ -828,7 +830,7 @@ change.
|
|
828
830
|
I caved and started working on ESM or Enter Sends Message. To test it out you can
|
829
831
|
go to `FILE -> Configuration Settings`
|
830
832
|
|
831
|
-

|
832
834
|
|
833
835
|
Check the mark to Enable ESM and tell it which function keys do what. The keys will need
|
834
836
|
to have the same function in both Run and S&P modes. The function keys will highlight
|
@@ -872,7 +874,50 @@ QRZ (for Run) or Exchange (for S&P) is sent.
|
|
872
874
|
|
873
875
|
## Call History Files
|
874
876
|
|
875
|
-
I've started work on using 'call history files'.
|
877
|
+
I've started work on using 'call history files'. To test it, you can
|
878
|
+
go to `FILE -> Configuration Settings`
|
879
|
+
|
880
|
+

|
881
|
+
|
882
|
+
Place a check in the `Use Call History` box. Call history files are very specific to the contest you are working. Example files can be obtained from [n1mm's](https://n1mmwp.hamdocs.com/mmfiles/categories/callhistory/?) website. They have a searchbox so you can find the contest you are looking for. If you are feeling masocistic, you can craft your own. The general makeup of the file is a header defining the fields to be used, followed by by lines of comma separated data.
|
883
|
+
|
884
|
+
An example file excerpt looks like:
|
885
|
+
|
886
|
+
```text
|
887
|
+
!!Order!!,Call,Name,State,UserText,
|
888
|
+
#
|
889
|
+
# 0-This is helping file, LOG what is sent.
|
890
|
+
# 1-Last Edit,2024-08-18
|
891
|
+
# 2-Send any corrections direct to ve2fk@arrl.net
|
892
|
+
# 3-Updated from the log of Marsh/KA5M
|
893
|
+
# 4-Thanks Bjorn SM7IUN for his help.
|
894
|
+
# 5-Thanks
|
895
|
+
# NAQPCW
|
896
|
+
# NAQPRTTY
|
897
|
+
# NAQPSSB
|
898
|
+
# SPRINTCW
|
899
|
+
# SPRINTLADD
|
900
|
+
# SPRINTNS
|
901
|
+
# SPRINTRTTY
|
902
|
+
# SPRINTSSB
|
903
|
+
AA0AC,DAVE,MN,Example UserText
|
904
|
+
AA0AI,STEVE,IA,
|
905
|
+
AA0AO,TOM,MN,
|
906
|
+
AA0AW,DOUG,MN,
|
907
|
+
AA0BA,,TN,
|
908
|
+
AA0BR,,CO,
|
909
|
+
AA0BW,,MO,
|
910
|
+
```
|
911
|
+
|
912
|
+
The first line is the field definition header. The lines starting with a `#` are comments. Some of the comments are other contests that this file also works with.
|
913
|
+
This is followed by the actual data. If the matched call has `UserText` information, that user text is populated to the bottom left of the logging window.
|
914
|
+
|
915
|
+
So if one were to go to `FILE -> LOAD CALL HISTORY FILE` and choose a downloaded call history file for NAQP and typed in the call AA0AC while operating in the NAQP, after pressing space, one would see:
|
916
|
+
|
917
|
+

|
918
|
+
|
919
|
+
Where the Name and State would auto-populate and the UserText info apprears in the bottom left.
|
920
|
+
|
876
921
|
|
877
922
|
## Contest specific notes
|
878
923
|
|
@@ -608,11 +608,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
608
608
|
if len(x) == 1:
|
609
609
|
if int(x[0]) > 6:
|
610
610
|
old_Qt = False
|
611
|
-
elif len(x)
|
612
|
-
if int(x[0]) >= 6 and int(x[1])
|
613
|
-
old_Qt = False
|
614
|
-
elif len(x) == 3:
|
615
|
-
if int(x[0]) >= 6 and int(x[1]) >= 7 and int(x[2]) >= 2:
|
611
|
+
elif len(x) >= 2:
|
612
|
+
if int(x[0]) >= 6 and int(x[1]) >= 8:
|
616
613
|
old_Qt = False
|
617
614
|
|
618
615
|
# Featureset for wayland if pyqt is older that 6.7.1
|
@@ -3030,6 +3027,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3030
3027
|
self.use_call_history = self.pref.get("use_call_history", False)
|
3031
3028
|
if self.use_call_history:
|
3032
3029
|
self.history_info.show()
|
3030
|
+
else:
|
3031
|
+
self.history_info.hide()
|
3033
3032
|
self.use_esm = self.pref.get("use_esm", False)
|
3034
3033
|
self.esm_dict["CQ"] = fkey_dict.get(self.pref.get("esm_cq", "DISABLED"))
|
3035
3034
|
self.esm_dict["EXCH"] = fkey_dict.get(self.pref.get("esm_exch", "DISABLED"))
|
@@ -3275,6 +3274,11 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3275
3274
|
self.dupe_indicator.show()
|
3276
3275
|
else:
|
3277
3276
|
self.dupe_indicator.hide()
|
3277
|
+
if self.contest:
|
3278
|
+
if self.use_call_history and hasattr(
|
3279
|
+
self.contest, "populate_history_info_line"
|
3280
|
+
):
|
3281
|
+
self.contest.populate_history_info_line(self)
|
3278
3282
|
|
3279
3283
|
def change_freq(self, stripped_text: str) -> None:
|
3280
3284
|
"""
|
@@ -3429,7 +3433,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3429
3433
|
self.contact["CountryPrefix"] = primary_pfx
|
3430
3434
|
self.contact["ZN"] = int(cq)
|
3431
3435
|
if self.contest:
|
3432
|
-
if self.contest.name
|
3436
|
+
if self.contest.name in ("IARU HF", "LZ DX"):
|
3433
3437
|
self.contact["ZN"] = int(itu)
|
3434
3438
|
self.contact["Continent"] = continent
|
3435
3439
|
self.dx_entity.setText(
|
@@ -31,6 +31,12 @@
|
|
31
31
|
<property name="focusPolicy">
|
32
32
|
<enum>Qt::ClickFocus</enum>
|
33
33
|
</property>
|
34
|
+
<property name="font">
|
35
|
+
<font>
|
36
|
+
<family>JetBrains Mono ExtraLight</family>
|
37
|
+
<pointsize>12</pointsize>
|
38
|
+
</font>
|
39
|
+
</property>
|
34
40
|
<property name="sizeAdjustPolicy">
|
35
41
|
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
36
42
|
</property>
|
@@ -62,6 +68,12 @@
|
|
62
68
|
<property name="focusPolicy">
|
63
69
|
<enum>Qt::ClickFocus</enum>
|
64
70
|
</property>
|
71
|
+
<property name="font">
|
72
|
+
<font>
|
73
|
+
<family>JetBrains Mono ExtraLight</family>
|
74
|
+
<pointsize>12</pointsize>
|
75
|
+
</font>
|
76
|
+
</property>
|
65
77
|
<property name="sizeAdjustPolicy">
|
66
78
|
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
67
79
|
</property>
|
@@ -93,6 +105,12 @@
|
|
93
105
|
<property name="focusPolicy">
|
94
106
|
<enum>Qt::ClickFocus</enum>
|
95
107
|
</property>
|
108
|
+
<property name="font">
|
109
|
+
<font>
|
110
|
+
<family>JetBrains Mono ExtraLight</family>
|
111
|
+
<pointsize>12</pointsize>
|
112
|
+
</font>
|
113
|
+
</property>
|
96
114
|
<property name="sizeAdjustPolicy">
|
97
115
|
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
98
116
|
</property>
|
@@ -134,6 +134,16 @@ def prefill(self):
|
|
134
134
|
field.setText(serial_nr)
|
135
135
|
|
136
136
|
|
137
|
+
def populate_history_info_line(self):
|
138
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
139
|
+
if result:
|
140
|
+
self.history_info.setText(
|
141
|
+
f"{result.get('Call', '')}, {result.get('CK', '')}, {result.get('Sect', '')}, {result.get('UserText','...')}"
|
142
|
+
)
|
143
|
+
else:
|
144
|
+
self.history_info.setText("")
|
145
|
+
|
146
|
+
|
137
147
|
def check_call_history(self):
|
138
148
|
""""""
|
139
149
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -537,6 +537,16 @@ def ft8_handler(the_packet: dict):
|
|
537
537
|
ALTEREGO.save_contact()
|
538
538
|
|
539
539
|
|
540
|
+
def populate_history_info_line(self):
|
541
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
542
|
+
if result:
|
543
|
+
self.history_info.setText(
|
544
|
+
f"{result.get('Call', '')}, {result.get('Loc1', '')}, {result.get('UserText','...')}"
|
545
|
+
)
|
546
|
+
else:
|
547
|
+
self.history_info.setText("")
|
548
|
+
|
549
|
+
|
540
550
|
def check_call_history(self):
|
541
551
|
""""""
|
542
552
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -505,6 +505,16 @@ def ft8_handler(the_packet: dict):
|
|
505
505
|
ALTEREGO.save_contact()
|
506
506
|
|
507
507
|
|
508
|
+
def populate_history_info_line(self):
|
509
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
510
|
+
if result:
|
511
|
+
self.history_info.setText(
|
512
|
+
f"{result.get('Call', '')}, {result.get('Loc1', '')}, {result.get('UserText','...')}"
|
513
|
+
)
|
514
|
+
else:
|
515
|
+
self.history_info.setText("")
|
516
|
+
|
517
|
+
|
508
518
|
def check_call_history(self):
|
509
519
|
""""""
|
510
520
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -505,6 +505,16 @@ def ft8_handler(the_packet: dict):
|
|
505
505
|
ALTEREGO.save_contact()
|
506
506
|
|
507
507
|
|
508
|
+
def populate_history_info_line(self):
|
509
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
510
|
+
if result:
|
511
|
+
self.history_info.setText(
|
512
|
+
f"{result.get('Call', '')}, {result.get('Loc1', '')}, {result.get('UserText','...')}"
|
513
|
+
)
|
514
|
+
else:
|
515
|
+
self.history_info.setText("")
|
516
|
+
|
517
|
+
|
508
518
|
def check_call_history(self):
|
509
519
|
""""""
|
510
520
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -450,6 +450,16 @@ def recalculate_mults(self):
|
|
450
450
|
trigger_update(self)
|
451
451
|
|
452
452
|
|
453
|
+
def populate_history_info_line(self):
|
454
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
455
|
+
if result:
|
456
|
+
self.history_info.setText(
|
457
|
+
f"{result.get('Call', '')}, {result.get('UserText','...')}"
|
458
|
+
)
|
459
|
+
else:
|
460
|
+
self.history_info.setText("")
|
461
|
+
|
462
|
+
|
453
463
|
def check_call_history(self):
|
454
464
|
""""""
|
455
465
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -450,6 +450,16 @@ def recalculate_mults(self):
|
|
450
450
|
trigger_update(self)
|
451
451
|
|
452
452
|
|
453
|
+
def populate_history_info_line(self):
|
454
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
455
|
+
if result:
|
456
|
+
self.history_info.setText(
|
457
|
+
f"{result.get('Call', '')}, {result.get('UserText','...')}"
|
458
|
+
)
|
459
|
+
else:
|
460
|
+
self.history_info.setText("")
|
461
|
+
|
462
|
+
|
453
463
|
def check_call_history(self):
|
454
464
|
""""""
|
455
465
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -520,6 +520,16 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
520
520
|
self.process_function_key(button)
|
521
521
|
|
522
522
|
|
523
|
+
def populate_history_info_line(self):
|
524
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
525
|
+
if result:
|
526
|
+
self.history_info.setText(
|
527
|
+
f"{result.get('Call', '')}, {result.get('CQZone', '')}, {result.get('UserText','...')}"
|
528
|
+
)
|
529
|
+
else:
|
530
|
+
self.history_info.setText("")
|
531
|
+
|
532
|
+
|
523
533
|
def check_call_history(self):
|
524
534
|
""""""
|
525
535
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -639,6 +639,16 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
639
639
|
self.fldigi_util.send_string(sendstring)
|
640
640
|
|
641
641
|
|
642
|
+
def populate_history_info_line(self):
|
643
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
644
|
+
if result:
|
645
|
+
self.history_info.setText(
|
646
|
+
f"{result.get('Call', '')}, {result.get('CQZone', '')}, {result.get('State', '')}, {result.get('UserText','...')}"
|
647
|
+
)
|
648
|
+
else:
|
649
|
+
self.history_info.setText("")
|
650
|
+
|
651
|
+
|
642
652
|
def check_call_history(self):
|
643
653
|
""""""
|
644
654
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -508,6 +508,16 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
508
508
|
self.process_function_key(button)
|
509
509
|
|
510
510
|
|
511
|
+
def populate_history_info_line(self):
|
512
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
513
|
+
if result:
|
514
|
+
self.history_info.setText(
|
515
|
+
f"{result.get('Call', '')}, {result.get('CQZone', '')}, {result.get('UserText','...')}"
|
516
|
+
)
|
517
|
+
else:
|
518
|
+
self.history_info.setText("")
|
519
|
+
|
520
|
+
|
511
521
|
def check_call_history(self):
|
512
522
|
""""""
|
513
523
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -514,6 +514,16 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
514
514
|
self.process_function_key(button)
|
515
515
|
|
516
516
|
|
517
|
+
def populate_history_info_line(self):
|
518
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
519
|
+
if result:
|
520
|
+
self.history_info.setText(
|
521
|
+
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('Exch1', '')}, {result.get('UserText','...')}"
|
522
|
+
)
|
523
|
+
else:
|
524
|
+
self.history_info.setText("")
|
525
|
+
|
526
|
+
|
517
527
|
def check_call_history(self):
|
518
528
|
""""""
|
519
529
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -524,6 +524,16 @@ def cabrillo(self, file_encoding):
|
|
524
524
|
return
|
525
525
|
|
526
526
|
|
527
|
+
def populate_history_info_line(self):
|
528
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
529
|
+
if result:
|
530
|
+
self.history_info.setText(
|
531
|
+
f"{result.get('Call', '')}, {result.get('Exch1', '')}, {result.get('UserText','...')}"
|
532
|
+
)
|
533
|
+
else:
|
534
|
+
self.history_info.setText("")
|
535
|
+
|
536
|
+
|
527
537
|
def check_call_history(self):
|
528
538
|
""""""
|
529
539
|
result = self.database.fetch_call_history(self.callsign.text())
|
@@ -493,6 +493,16 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
493
493
|
self.process_function_key(button)
|
494
494
|
|
495
495
|
|
496
|
+
def populate_history_info_line(self):
|
497
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
498
|
+
if result:
|
499
|
+
self.history_info.setText(
|
500
|
+
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('Exch1', '')}, {result.get('UserText','...')}"
|
501
|
+
)
|
502
|
+
else:
|
503
|
+
self.history_info.setText("")
|
504
|
+
|
505
|
+
|
496
506
|
def check_call_history(self):
|
497
507
|
""""""
|
498
508
|
result = self.database.fetch_call_history(self.callsign.text())
|