not1mm 24.6.1__tar.gz → 24.7.13__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.6.1 → not1mm-24.7.13}/PKG-INFO +73 -27
- {not1mm-24.6.1 → not1mm-24.7.13}/README.md +72 -26
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/__main__.py +27 -24
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/MASTER.SCP +1556 -1049
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/configuration.ui +34 -34
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/cty.json +1 -1
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/main.ui +94 -94
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/settings.ui +5 -5
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/cat_interface.py +20 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/ham_utility.py +1 -1
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/n1mm.py +23 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/version.py +1 -1
- not1mm-24.7.13/not1mm/plugins/k1usn_sst.py +367 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/phone_weekly_test.py +1 -1
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm.egg-info/PKG-INFO +73 -27
- {not1mm-24.6.1 → not1mm-24.7.13}/pyproject.toml +1 -1
- not1mm-24.6.1/not1mm/plugins/k1usn_sst.py +0 -24
- {not1mm-24.6.1 → not1mm-24.7.13}/LICENSE +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/__init__.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/bandmap.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/checkwindow.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/about.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/bandmap.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/check.png +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/checkwindow.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/contests.sql +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/donors.html +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/editcontact.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/editmacro.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/greendot.png +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/logwindow.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/logwindowx.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/new_contest.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/not1mm.html +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/opon.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/radio_green.png +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/radio_grey.png +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/radio_red.png +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/reddot.png +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/data/vfo.ui +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/fsutils.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/__init__.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/about.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/database.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/edit_station.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/ft8_watcher.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/lookup.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/multicast.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/new_contest.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/playsound.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/plugin_common.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/select_contest.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/settings.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/super_check_partial.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/lib/versiontest.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/logwindow.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/playsoundtest.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/10_10_fall_cw.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/10_10_spring_cw.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/10_10_summer_phone.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/10_10_winter_phone.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/__init__.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/arrl_10m.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/arrl_ss_cw.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/arrl_vhf_jan.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/arrl_vhf_jun.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/arrl_vhf_sep.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/canada_day.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/cq_160_cw.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/cq_160_ssb.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/cq_wpx_cw.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/cq_ww_cw.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/cq_ww_ssb.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/cwt.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/iaru_hf.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/icwc_mst.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/naqp_cw.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/naqp_ssb.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/stew_perry_topband.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/plugins/winter_field_day.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/radio.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/vfo.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm/voice_keying.py +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm.egg-info/SOURCES.txt +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/not1mm.egg-info/top_level.txt +0 -0
- {not1mm-24.6.1 → not1mm-24.7.13}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.
|
3
|
+
Version: 24.7.13
|
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
|
@@ -44,9 +44,19 @@ Requires-Dist: Levenshtein
|
|
44
44
|
[](https://xkcd.com/1695/)
|
45
45
|
[](https://pypi.org/project/not1mm/)
|
46
46
|
|
47
|
+

|
48
|
+
|
47
49
|
- [Not1MM](#not1mm)
|
48
50
|
- [What and why is Not1MM](#what-and-why-is-not1mm)
|
51
|
+
- [The elephant in the room](#the-elephant-in-the-room)
|
52
|
+
- [The What](#the-what)
|
53
|
+
- [Target Environment](#target-environment)
|
54
|
+
- [The Why](#the-why)
|
55
|
+
- [General logging](#general-logging)
|
49
56
|
- [Current state](#current-state)
|
57
|
+
- [Code maturity](#code-maturity)
|
58
|
+
- [Data and RTTY](#data-and-rtty)
|
59
|
+
- [Other not so supported contests](#other-not-so-supported-contests)
|
50
60
|
- [Our Code Contributors ✨](#our-code-contributors-)
|
51
61
|
- [List of should be working contests](#list-of-should-be-working-contests)
|
52
62
|
- [Recent Changes](#recent-changes)
|
@@ -67,17 +77,18 @@ Requires-Dist: Levenshtein
|
|
67
77
|
- [After the install](#after-the-install)
|
68
78
|
- [You may or may not get a warning message like](#you-may-or-may-not-get-a-warning-message-like)
|
69
79
|
- [Or this fan favorite](#or-this-fan-favorite)
|
80
|
+
- [Update your CTY and SCP files](#update-your-cty-and-scp-files)
|
70
81
|
- [Various data file locations](#various-data-file-locations)
|
71
82
|
- [Data](#data)
|
72
83
|
- [Config](#config)
|
73
|
-
- [The
|
84
|
+
- [The Database](#the-database)
|
74
85
|
- [Why](#why)
|
75
|
-
- [The first one](#the-first-one)
|
86
|
+
- [The first one is free](#the-first-one-is-free)
|
76
87
|
- [Why limit yourself](#why-limit-yourself)
|
77
88
|
- [Revisiting an old friend](#revisiting-an-old-friend)
|
78
|
-
- [Station Settings dialog (REQUIRED)](#station-settings-dialog-required)
|
89
|
+
- [Station Settings dialog (It's REQUIRED Russ)](#station-settings-dialog-its-required-russ)
|
79
90
|
- [Changing station information](#changing-station-information)
|
80
|
-
- [Selecting a contest (REQUIRED)](#selecting-a-contest-required)
|
91
|
+
- [Selecting a contest (It's REQUIRED Russ)](#selecting-a-contest-its-required-russ)
|
81
92
|
- [Selecting a new contest](#selecting-a-new-contest)
|
82
93
|
- [Selecting an existing contest as the current contest](#selecting-an-existing-contest-as-the-current-contest)
|
83
94
|
- [Editing existing contest parameters](#editing-existing-contest-parameters)
|
@@ -113,34 +124,64 @@ Requires-Dist: Levenshtein
|
|
113
124
|
|
114
125
|
## What and why is Not1MM
|
115
126
|
|
127
|
+
### The elephant in the room
|
128
|
+
|
116
129
|
Not1MM's interface is a blatant ripoff of N1MM. It is NOT N1MM and any problem
|
117
130
|
you have with this software should in no way reflect on their software.
|
118
131
|
|
119
|
-
|
120
|
-
|
132
|
+
### The What
|
133
|
+
|
134
|
+
Not1MM attempts to be a useable amateur radio, or HAM, contest logger. It's
|
135
|
+
written in Python, 3.9+, and uses Qt6 framework for the graphical interface
|
136
|
+
and SQLite for the database.
|
137
|
+
|
138
|
+
### Target Environment
|
121
139
|
|
122
|
-
|
123
|
-
|
140
|
+
The primary target for this application is Linux. It may be able to run on other
|
141
|
+
platforms, BSD, Mac and Windows. But I don't have a way, or desire, to directly
|
142
|
+
support them.
|
124
143
|
|
125
|
-
|
126
|
-
|
127
|
-
|
144
|
+
### The Why
|
145
|
+
|
146
|
+
**Currently this exists for my own personal amusement**. I've recently retired
|
147
|
+
after 35+ years working for 'The Phone Company', GTE -> Verizon -> Frontier.
|
148
|
+
And being a Gentleman of Leisure, needed something to do in my free time.
|
149
|
+
I'm a casual contester and could not find any contesting software for Linux that
|
150
|
+
I wanted to use. There is [Tucnak](http://tucnak.nagano.cz/) which is very robust
|
151
|
+
and mature. It just wasn't for me.
|
152
|
+
|
153
|
+
### General logging
|
154
|
+
|
155
|
+
In short... Don't. There are much better general purpose QSO logging programs.
|
156
|
+
Try QLog or CQRLog.
|
128
157
|
|
129
158
|
## Current state
|
130
159
|
|
131
|
-
|
132
|
-
to work contacts and submit a cabrillo at the end. I'm not a "Contester". So
|
133
|
-
I'll add contests as/if I work them. I'm only one guy, so if you see a bug let
|
134
|
-
me know. I don't do much of any Data or RTTY operating. This is why you don't
|
135
|
-
see RTTY in the list of working contests. The Lord helps those who burn people
|
136
|
-
at the... I mean who help themselves. Feel free to fill in that hole with a pull
|
137
|
-
request.
|
160
|
+
### Code maturity
|
138
161
|
|
139
|
-
|
162
|
+
The current state is "**BETA**".
|
163
|
+
|
164
|
+
I've used it for quite a few contests, and was able to work contacts and submit
|
165
|
+
cabrillos at the end. There are still quite a few features I'd like to implement.
|
166
|
+
And "BETA" is a sort of get out of jail free badge for coders. A safety net for
|
167
|
+
when the program craps the bed. I'm only one guy, so if you see a bug let me know.
|
168
|
+
|
169
|
+
### Data and RTTY
|
170
|
+
|
171
|
+
I don't do much of any digital or RTTY operating. This is why you don't see RTTY in
|
172
|
+
the list of working contests. The Lord helps those who burn people at the... I
|
173
|
+
mean, who help themselves. Feel free to fill in that hole with a pull request.
|
174
|
+
|
175
|
+
### Other not so supported contests
|
176
|
+
|
177
|
+
Of note, state QSO parties. I haven't worked any yet. And no one has submitted a PR
|
178
|
+
adding one... So there you go. In the near future I'll probably add California, guess
|
179
|
+
where I live, and the 4 states QSO party.
|
140
180
|
|
141
181
|
## Our Code Contributors ✨
|
142
182
|
|
143
|
-
I wish to thank those who've contributed to the project.
|
183
|
+
I wish to thank those who've contributed to the project. Below is an automatically
|
184
|
+
generated, 'cause I'm lazy, list of those who've submitted PR's.
|
144
185
|
|
145
186
|
<a href="https://github.com/mbridak/not1mm/graphs/contributors">
|
146
187
|
<img src="https://contrib.rocks/image?repo=mbridak/not1mm" alt="Avatar icons for code contributors." />
|
@@ -182,7 +223,7 @@ I wish to thank those who've contributed to the project.
|
|
182
223
|
|
183
224
|
## Recent Changes
|
184
225
|
|
185
|
-
- [24-
|
226
|
+
- [24-7-13] Trap Exceptions in flrig xmlrpc client.
|
186
227
|
|
187
228
|
See [CHANGELOG.md](CHANGELOG.md) for prior changes.
|
188
229
|
|
@@ -243,7 +284,7 @@ source .profile
|
|
243
284
|
|
244
285
|
</details>
|
245
286
|
|
246
|
-
<details>
|
287
|
+
<details>REQUIRED
|
247
288
|
|
248
289
|
<summary><b>Fedora 38, 39 and 40</b></summary>
|
249
290
|
|
@@ -394,6 +435,11 @@ For a more permanent solution you can place the line
|
|
394
435
|
`export QT_QPA_PLATFORM=wayland` in your home directories .bashrc file. Then
|
395
436
|
after logging out and back in you should be able to launch it normally.
|
396
437
|
|
438
|
+
### Update your CTY and SCP files
|
439
|
+
|
440
|
+
After all the configuration stuff below and before operating in a contest, you
|
441
|
+
might want to update the CTY and SCP files. You can do this by choosing FILE->Update CTY and FILE->Update MASTER.SCP
|
442
|
+
|
397
443
|
## Various data file locations
|
398
444
|
|
399
445
|
### Data
|
@@ -407,7 +453,7 @@ CW macro files can be found there. Otherwise they will be found at
|
|
407
453
|
Configuration file(s) can be found at the location defined by `XDG_CONFIG_HOME`.
|
408
454
|
Otherwise they will be found at `yourhome/.config/not1mm`
|
409
455
|
|
410
|
-
## The
|
456
|
+
## The Database
|
411
457
|
|
412
458
|
### Why
|
413
459
|
|
@@ -417,7 +463,7 @@ everything shown in the Station Settings dialog. You can have one database for
|
|
417
463
|
the rest of your life. Filled with hundreds of contests you've logged. Or, you
|
418
464
|
can create a new database to hold just one contest. You do You Boo.
|
419
465
|
|
420
|
-
### The first one
|
466
|
+
### The first one is free
|
421
467
|
|
422
468
|
On the initial running, a database is created for you called `ham.db`. This, and
|
423
469
|
all future databases, are located in the data directory mentioned above.
|
@@ -433,7 +479,7 @@ day for all I care. You can manage your own digital disaster.
|
|
433
479
|
You can select a previously created databases for use by selecting
|
434
480
|
`File` > `Open Database`.
|
435
481
|
|
436
|
-
## Station Settings dialog (REQUIRED)
|
482
|
+
## Station Settings dialog (It's REQUIRED Russ)
|
437
483
|
|
438
484
|
After initial run of the program or creating a new database you will need to
|
439
485
|
fill out the Station Settings dialog that will pop up.
|
@@ -453,7 +499,7 @@ You can fill. You can fill. Everyone look at your keys.
|
|
453
499
|
Station information can be changed any time by going to
|
454
500
|
`File` > `Station Settings` and editing the information.
|
455
501
|
|
456
|
-
## Selecting a contest (REQUIRED)
|
502
|
+
## Selecting a contest (It's REQUIRED Russ)
|
457
503
|
|
458
504
|
### Selecting a new contest
|
459
505
|
|
@@ -12,9 +12,19 @@
|
|
12
12
|
[](https://xkcd.com/1695/)
|
13
13
|
[](https://pypi.org/project/not1mm/)
|
14
14
|
|
15
|
+

|
16
|
+
|
15
17
|
- [Not1MM](#not1mm)
|
16
18
|
- [What and why is Not1MM](#what-and-why-is-not1mm)
|
19
|
+
- [The elephant in the room](#the-elephant-in-the-room)
|
20
|
+
- [The What](#the-what)
|
21
|
+
- [Target Environment](#target-environment)
|
22
|
+
- [The Why](#the-why)
|
23
|
+
- [General logging](#general-logging)
|
17
24
|
- [Current state](#current-state)
|
25
|
+
- [Code maturity](#code-maturity)
|
26
|
+
- [Data and RTTY](#data-and-rtty)
|
27
|
+
- [Other not so supported contests](#other-not-so-supported-contests)
|
18
28
|
- [Our Code Contributors ✨](#our-code-contributors-)
|
19
29
|
- [List of should be working contests](#list-of-should-be-working-contests)
|
20
30
|
- [Recent Changes](#recent-changes)
|
@@ -35,17 +45,18 @@
|
|
35
45
|
- [After the install](#after-the-install)
|
36
46
|
- [You may or may not get a warning message like](#you-may-or-may-not-get-a-warning-message-like)
|
37
47
|
- [Or this fan favorite](#or-this-fan-favorite)
|
48
|
+
- [Update your CTY and SCP files](#update-your-cty-and-scp-files)
|
38
49
|
- [Various data file locations](#various-data-file-locations)
|
39
50
|
- [Data](#data)
|
40
51
|
- [Config](#config)
|
41
|
-
- [The
|
52
|
+
- [The Database](#the-database)
|
42
53
|
- [Why](#why)
|
43
|
-
- [The first one](#the-first-one)
|
54
|
+
- [The first one is free](#the-first-one-is-free)
|
44
55
|
- [Why limit yourself](#why-limit-yourself)
|
45
56
|
- [Revisiting an old friend](#revisiting-an-old-friend)
|
46
|
-
- [Station Settings dialog (REQUIRED)](#station-settings-dialog-required)
|
57
|
+
- [Station Settings dialog (It's REQUIRED Russ)](#station-settings-dialog-its-required-russ)
|
47
58
|
- [Changing station information](#changing-station-information)
|
48
|
-
- [Selecting a contest (REQUIRED)](#selecting-a-contest-required)
|
59
|
+
- [Selecting a contest (It's REQUIRED Russ)](#selecting-a-contest-its-required-russ)
|
49
60
|
- [Selecting a new contest](#selecting-a-new-contest)
|
50
61
|
- [Selecting an existing contest as the current contest](#selecting-an-existing-contest-as-the-current-contest)
|
51
62
|
- [Editing existing contest parameters](#editing-existing-contest-parameters)
|
@@ -81,34 +92,64 @@
|
|
81
92
|
|
82
93
|
## What and why is Not1MM
|
83
94
|
|
95
|
+
### The elephant in the room
|
96
|
+
|
84
97
|
Not1MM's interface is a blatant ripoff of N1MM. It is NOT N1MM and any problem
|
85
98
|
you have with this software should in no way reflect on their software.
|
86
99
|
|
87
|
-
|
88
|
-
|
100
|
+
### The What
|
101
|
+
|
102
|
+
Not1MM attempts to be a useable amateur radio, or HAM, contest logger. It's
|
103
|
+
written in Python, 3.9+, and uses Qt6 framework for the graphical interface
|
104
|
+
and SQLite for the database.
|
105
|
+
|
106
|
+
### Target Environment
|
89
107
|
|
90
|
-
|
91
|
-
|
108
|
+
The primary target for this application is Linux. It may be able to run on other
|
109
|
+
platforms, BSD, Mac and Windows. But I don't have a way, or desire, to directly
|
110
|
+
support them.
|
92
111
|
|
93
|
-
|
94
|
-
|
95
|
-
|
112
|
+
### The Why
|
113
|
+
|
114
|
+
**Currently this exists for my own personal amusement**. I've recently retired
|
115
|
+
after 35+ years working for 'The Phone Company', GTE -> Verizon -> Frontier.
|
116
|
+
And being a Gentleman of Leisure, needed something to do in my free time.
|
117
|
+
I'm a casual contester and could not find any contesting software for Linux that
|
118
|
+
I wanted to use. There is [Tucnak](http://tucnak.nagano.cz/) which is very robust
|
119
|
+
and mature. It just wasn't for me.
|
120
|
+
|
121
|
+
### General logging
|
122
|
+
|
123
|
+
In short... Don't. There are much better general purpose QSO logging programs.
|
124
|
+
Try QLog or CQRLog.
|
96
125
|
|
97
126
|
## Current state
|
98
127
|
|
99
|
-
|
100
|
-
to work contacts and submit a cabrillo at the end. I'm not a "Contester". So
|
101
|
-
I'll add contests as/if I work them. I'm only one guy, so if you see a bug let
|
102
|
-
me know. I don't do much of any Data or RTTY operating. This is why you don't
|
103
|
-
see RTTY in the list of working contests. The Lord helps those who burn people
|
104
|
-
at the... I mean who help themselves. Feel free to fill in that hole with a pull
|
105
|
-
request.
|
128
|
+
### Code maturity
|
106
129
|
|
107
|
-
|
130
|
+
The current state is "**BETA**".
|
131
|
+
|
132
|
+
I've used it for quite a few contests, and was able to work contacts and submit
|
133
|
+
cabrillos at the end. There are still quite a few features I'd like to implement.
|
134
|
+
And "BETA" is a sort of get out of jail free badge for coders. A safety net for
|
135
|
+
when the program craps the bed. I'm only one guy, so if you see a bug let me know.
|
136
|
+
|
137
|
+
### Data and RTTY
|
138
|
+
|
139
|
+
I don't do much of any digital or RTTY operating. This is why you don't see RTTY in
|
140
|
+
the list of working contests. The Lord helps those who burn people at the... I
|
141
|
+
mean, who help themselves. Feel free to fill in that hole with a pull request.
|
142
|
+
|
143
|
+
### Other not so supported contests
|
144
|
+
|
145
|
+
Of note, state QSO parties. I haven't worked any yet. And no one has submitted a PR
|
146
|
+
adding one... So there you go. In the near future I'll probably add California, guess
|
147
|
+
where I live, and the 4 states QSO party.
|
108
148
|
|
109
149
|
## Our Code Contributors ✨
|
110
150
|
|
111
|
-
I wish to thank those who've contributed to the project.
|
151
|
+
I wish to thank those who've contributed to the project. Below is an automatically
|
152
|
+
generated, 'cause I'm lazy, list of those who've submitted PR's.
|
112
153
|
|
113
154
|
<a href="https://github.com/mbridak/not1mm/graphs/contributors">
|
114
155
|
<img src="https://contrib.rocks/image?repo=mbridak/not1mm" alt="Avatar icons for code contributors." />
|
@@ -150,7 +191,7 @@ I wish to thank those who've contributed to the project.
|
|
150
191
|
|
151
192
|
## Recent Changes
|
152
193
|
|
153
|
-
- [24-
|
194
|
+
- [24-7-13] Trap Exceptions in flrig xmlrpc client.
|
154
195
|
|
155
196
|
See [CHANGELOG.md](CHANGELOG.md) for prior changes.
|
156
197
|
|
@@ -211,7 +252,7 @@ source .profile
|
|
211
252
|
|
212
253
|
</details>
|
213
254
|
|
214
|
-
<details>
|
255
|
+
<details>REQUIRED
|
215
256
|
|
216
257
|
<summary><b>Fedora 38, 39 and 40</b></summary>
|
217
258
|
|
@@ -362,6 +403,11 @@ For a more permanent solution you can place the line
|
|
362
403
|
`export QT_QPA_PLATFORM=wayland` in your home directories .bashrc file. Then
|
363
404
|
after logging out and back in you should be able to launch it normally.
|
364
405
|
|
406
|
+
### Update your CTY and SCP files
|
407
|
+
|
408
|
+
After all the configuration stuff below and before operating in a contest, you
|
409
|
+
might want to update the CTY and SCP files. You can do this by choosing FILE->Update CTY and FILE->Update MASTER.SCP
|
410
|
+
|
365
411
|
## Various data file locations
|
366
412
|
|
367
413
|
### Data
|
@@ -375,7 +421,7 @@ CW macro files can be found there. Otherwise they will be found at
|
|
375
421
|
Configuration file(s) can be found at the location defined by `XDG_CONFIG_HOME`.
|
376
422
|
Otherwise they will be found at `yourhome/.config/not1mm`
|
377
423
|
|
378
|
-
## The
|
424
|
+
## The Database
|
379
425
|
|
380
426
|
### Why
|
381
427
|
|
@@ -385,7 +431,7 @@ everything shown in the Station Settings dialog. You can have one database for
|
|
385
431
|
the rest of your life. Filled with hundreds of contests you've logged. Or, you
|
386
432
|
can create a new database to hold just one contest. You do You Boo.
|
387
433
|
|
388
|
-
### The first one
|
434
|
+
### The first one is free
|
389
435
|
|
390
436
|
On the initial running, a database is created for you called `ham.db`. This, and
|
391
437
|
all future databases, are located in the data directory mentioned above.
|
@@ -401,7 +447,7 @@ day for all I care. You can manage your own digital disaster.
|
|
401
447
|
You can select a previously created databases for use by selecting
|
402
448
|
`File` > `Open Database`.
|
403
449
|
|
404
|
-
## Station Settings dialog (REQUIRED)
|
450
|
+
## Station Settings dialog (It's REQUIRED Russ)
|
405
451
|
|
406
452
|
After initial run of the program or creating a new database you will need to
|
407
453
|
fill out the Station Settings dialog that will pop up.
|
@@ -421,7 +467,7 @@ You can fill. You can fill. Everyone look at your keys.
|
|
421
467
|
Station information can be changed any time by going to
|
422
468
|
`File` > `Station Settings` and editing the information.
|
423
469
|
|
424
|
-
## Selecting a contest (REQUIRED)
|
470
|
+
## Selecting a contest (It's REQUIRED Russ)
|
425
471
|
|
426
472
|
### Selecting a new contest
|
427
473
|
|
@@ -2863,7 +2863,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2863
2863
|
None
|
2864
2864
|
"""
|
2865
2865
|
|
2866
|
-
if mode
|
2866
|
+
if mode in ("CW", "CW-U", "CW-L"):
|
2867
2867
|
self.setmode("CW")
|
2868
2868
|
self.radio_state["mode"] = "CW"
|
2869
2869
|
if self.rig_control:
|
@@ -3015,7 +3015,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3015
3015
|
|
3016
3016
|
def setmode(self, mode: str) -> None:
|
3017
3017
|
"""Call when the mode changes."""
|
3018
|
-
if mode
|
3018
|
+
if mode in ("CW", "CW-U", "CW-L"):
|
3019
3019
|
if self.current_mode != "CW":
|
3020
3020
|
self.current_mode = "CW"
|
3021
3021
|
self.sent.setText("599")
|
@@ -3032,7 +3032,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3032
3032
|
self.receive.setText("59")
|
3033
3033
|
self.read_cw_macros()
|
3034
3034
|
return
|
3035
|
-
if mode
|
3035
|
+
if mode in ("RTTY", "DIGI-U", "DIGI-L"):
|
3036
3036
|
if self.current_mode != "RTTY":
|
3037
3037
|
self.current_mode = "RTTY"
|
3038
3038
|
self.sent.setText("59")
|
@@ -3145,7 +3145,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3145
3145
|
info_dirty = True
|
3146
3146
|
self.radio_state["bw"] = bw
|
3147
3147
|
|
3148
|
-
if mode
|
3148
|
+
if mode in ("CW", "CW-U", "CW-L"):
|
3149
3149
|
self.setmode(mode)
|
3150
3150
|
if mode == "LSB" or mode == "USB":
|
3151
3151
|
self.setmode("SSB")
|
@@ -3153,26 +3153,29 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3153
3153
|
self.setmode("RTTY")
|
3154
3154
|
|
3155
3155
|
if info_dirty:
|
3156
|
-
|
3157
|
-
|
3158
|
-
|
3159
|
-
|
3160
|
-
|
3161
|
-
|
3162
|
-
|
3163
|
-
|
3164
|
-
|
3165
|
-
|
3166
|
-
|
3167
|
-
if self.n1mm
|
3168
|
-
self.n1mm.
|
3169
|
-
|
3170
|
-
|
3171
|
-
|
3172
|
-
|
3173
|
-
self.
|
3174
|
-
|
3175
|
-
|
3156
|
+
try:
|
3157
|
+
logger.debug("VFO: %s MODE: %s BW: %s", vfo, mode, bw)
|
3158
|
+
self.set_window_title()
|
3159
|
+
cmd = {}
|
3160
|
+
cmd["cmd"] = "RADIO_STATE"
|
3161
|
+
cmd["station"] = platform.node()
|
3162
|
+
cmd["band"] = band
|
3163
|
+
cmd["vfoa"] = vfo
|
3164
|
+
cmd["mode"] = mode
|
3165
|
+
cmd["bw"] = bw
|
3166
|
+
self.multicast_interface.send_as_json(cmd)
|
3167
|
+
if self.n1mm:
|
3168
|
+
if self.n1mm.send_radio_packets:
|
3169
|
+
self.n1mm.radio_info["Freq"] = vfo[:-1]
|
3170
|
+
self.n1mm.radio_info["TXFreq"] = vfo[:-1]
|
3171
|
+
self.n1mm.radio_info["Mode"] = mode
|
3172
|
+
self.n1mm.radio_info["OpCall"] = self.current_op
|
3173
|
+
self.n1mm.radio_info["IsRunning"] = str(
|
3174
|
+
self.pref.get("run_state", False)
|
3175
|
+
)
|
3176
|
+
self.n1mm.send_radio()
|
3177
|
+
except TypeError as err:
|
3178
|
+
logger.debug(f"{err=} {vfo=} {the_dict=}")
|
3176
3179
|
|
3177
3180
|
def edit_cw_macros(self) -> None:
|
3178
3181
|
"""
|