not1mm 24.3.25__tar.gz → 24.3.27__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.3.25 → not1mm-24.3.27}/PKG-INFO +223 -78
- {not1mm-24.3.25 → not1mm-24.3.27}/README.md +222 -77
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/__main__.py +66 -6
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/bandmap.py +42 -12
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/checkwindow.py +15 -3
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/version.py +1 -1
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/logwindow.py +7 -4
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/vfo.py +2 -2
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm.egg-info/PKG-INFO +223 -78
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm.egg-info/SOURCES.txt +0 -6
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm.egg-info/top_level.txt +0 -2
- {not1mm-24.3.25 → not1mm-24.3.27}/pyproject.toml +3 -1
- not1mm-24.3.25/not1mm/testing/fakeflrig.py +0 -88
- not1mm-24.3.25/not1mm/testing/flrigclient.py +0 -54
- not1mm-24.3.25/not1mm/testing/multicast_listener.py +0 -46
- not1mm-24.3.25/not1mm/testing/n1mm_listener.py +0 -47
- not1mm-24.3.25/not1mm/testing/simulant.py +0 -384
- not1mm-24.3.25/not1mm/testing/test.py +0 -8
- {not1mm-24.3.25 → not1mm-24.3.27}/LICENSE +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/__init__.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/about.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/bandmap.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/check.png +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/checkwindow.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/configuration.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/contests.sql +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/cty.json +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/donors.html +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/editcontact.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/editmacro.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/greendot.png +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/logwindow.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/main.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/new_contest.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/not1mm.html +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/opon.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/radio_green.png +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/radio_grey.png +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/radio_red.png +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/reddot.png +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/settings.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/data/vfo.ui +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/fsutils.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/__init__.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/about.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/cat_interface.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/database.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/edit_station.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/lookup.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/multicast.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/n1mm.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/new_contest.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/plugin_common.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/select_contest.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/settings.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/super_check_partial.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/lib/versiontest.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/10_10_fall_cw.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/10_10_spring_cw.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/10_10_summer_phone.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/10_10_winter_phone.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/__init__.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/arrl_10m.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/arrl_ss_cw.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/arrl_vhf_jan.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/arrl_vhf_jun.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/arrl_vhf_sep.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/canada_day.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/cq_160_cw.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/cq_160_ssb.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/cq_wpx_cw.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/cq_ww_cw.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/cq_ww_ssb.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/cwt.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/iaru_hf.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/naqp_cw.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/naqp_ssb.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/phone_weekly_test.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/stew_perry_topband.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm/plugins/winter_field_day.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/setup.cfg +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/testing/detectdark.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/testing/test.py +0 -0
- {not1mm-24.3.25 → not1mm-24.3.27}/usb_vfo_knob/code.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.3.
|
3
|
+
Version: 24.3.27
|
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
|
@@ -49,15 +49,19 @@ The worlds #1 unfinished contest logger <sup>*According to my daughter Corinna.<
|
|
49
49
|
- [List of should be working contests](#list-of-should-be-working-contests)
|
50
50
|
- [Recent Changes](#recent-changes)
|
51
51
|
- [Installation](#installation)
|
52
|
+
- [Prerequisites](#prerequisites)
|
53
|
+
- [Common recipes for Ubuntu and Fedora](#common-recipes-for-ubuntu-and-fedora)
|
54
|
+
- [Ubuntu 22.04 LTS](#ubuntu-2204-lts)
|
55
|
+
- [Ubuntu 23.04](#ubuntu-2304)
|
56
|
+
- [Fedora 38 \& 39](#fedora-38--39)
|
52
57
|
- [Python, PyPI, pip and pipx](#python-pypi-pip-and-pipx)
|
53
58
|
- [Bootstrapping pipx](#bootstrapping-pipx)
|
54
59
|
- [Installing with pipx](#installing-with-pipx)
|
55
|
-
|
56
|
-
- [After install](#after-install)
|
60
|
+
- [After the install](#after-the-install)
|
57
61
|
- [You may or may not get a warning message like](#you-may-or-may-not-get-a-warning-message-like)
|
58
62
|
- [Or this fan favorite](#or-this-fan-favorite)
|
59
|
-
- [Wayland Compositor](#wayland-compositor)
|
60
63
|
- [Running from source](#running-from-source)
|
64
|
+
- [Wayland Compositor](#wayland-compositor)
|
61
65
|
- [Various data file locations](#various-data-file-locations)
|
62
66
|
- [Data](#data)
|
63
67
|
- [Config](#config)
|
@@ -107,20 +111,28 @@ The worlds #1 unfinished contest logger <sup>*According to my daughter Corinna.<
|
|
107
111
|
|
108
112
|
## What and why is Not1MM
|
109
113
|
|
110
|
-
Not1MM's interface is a blatant ripoff of N1MM.
|
111
|
-
|
114
|
+
Not1MM's interface is a blatant ripoff of N1MM. It is NOT N1MM and any problem
|
115
|
+
you have with this software should in no way reflect on their software.
|
112
116
|
|
113
|
-
If you use Windows(tm), you should run away from Not1MM and use someother
|
117
|
+
If you use Windows(tm), you should run away from Not1MM and use someother
|
118
|
+
program.
|
114
119
|
|
115
|
-
I personally don't use Windows(tm). While it may be possible to get N1MM working
|
120
|
+
I personally don't use Windows(tm). While it may be possible to get N1MM working
|
121
|
+
under Wine, I haven't checked. I'd rather not have to jump thru the hoops.
|
116
122
|
|
117
|
-
**Currently this exists for my own personal amusement**.
|
118
|
-
|
119
|
-
|
123
|
+
**Currently this exists for my own personal amusement**. Something to do in my
|
124
|
+
free time. While I'm not watching TV, Right vs Left political 'News' programs,
|
125
|
+
mind numbing 'Reality' shows etc...
|
120
126
|
|
121
127
|
## Current state
|
122
128
|
|
123
|
-
The current state is "**BETA**". I've used it for a few contests, and was able
|
129
|
+
The current state is "**BETA**". I've used it for a few contests, and was able
|
130
|
+
to work contacts and submit a cabrillo at the end. I'm not a "Contester". So
|
131
|
+
I'll add contests as/if I work them. I'm only one guy, so if you see a bug let
|
132
|
+
me know. I don't do much of any Data or RTTY operating. This is why you don't
|
133
|
+
see RTTY in the list of working contests. The Lord helps those who burn people
|
134
|
+
at the... I mean who help themselves. Feel free to fill in that hole with a pull
|
135
|
+
request.
|
124
136
|
|
125
137
|

|
126
138
|
|
@@ -167,6 +179,8 @@ I wish to thank those who've contributed to the project.
|
|
167
179
|
|
168
180
|
## Recent Changes
|
169
181
|
|
182
|
+
- [24-3-27] Made items in the checkwindow clickable. Removed connection check in bandmap preventing marked calls from appearing.
|
183
|
+
- [24-3-25-1] Dark mode sorted out. Atleast for me...
|
170
184
|
- [24-3-25] Yanked version 24-3-24-1. Fixed widget focus issues.
|
171
185
|
- [24-3-24-1] Killed an SQL query bug causing crash when pressing arrow down.
|
172
186
|
- [24-3-24] Reworked fsutil.py to correct directory paths for Linux.
|
@@ -185,15 +199,58 @@ See [CHANGELOG.md](CHANGELOG.md) for prior changes.
|
|
185
199
|
|
186
200
|
## Installation
|
187
201
|
|
202
|
+
### Prerequisites
|
203
|
+
|
204
|
+
not1mm requires Python 3.9+, PyQt5 and libportaudio2. You should install these
|
205
|
+
through your distribution's package manager before continuing.
|
206
|
+
|
207
|
+
### Common recipes for Ubuntu and Fedora
|
208
|
+
|
209
|
+
#### Ubuntu 22.04 LTS
|
210
|
+
|
211
|
+
```bash
|
212
|
+
sudo apt update
|
213
|
+
sudo apt upgrade
|
214
|
+
sudo apt install -y libportaudio2 python3-pip python3-pyqt5 python3-numpy
|
215
|
+
pip install -U not1mm
|
216
|
+
```
|
217
|
+
|
218
|
+
#### Ubuntu 23.04
|
219
|
+
|
220
|
+
```bash
|
221
|
+
sudo apt update
|
222
|
+
sudo apt upgrade
|
223
|
+
sudo apt install -y libportaudio2 pipx
|
224
|
+
pipx install not1mm
|
225
|
+
pipx ensurepath
|
226
|
+
```
|
227
|
+
|
228
|
+
#### Fedora 38 & 39
|
229
|
+
|
230
|
+
```bash
|
231
|
+
sudo dnf upgrade --refresh
|
232
|
+
sudo dnf install python3-pip portaudio
|
233
|
+
pip install not1mm
|
234
|
+
```
|
235
|
+
|
236
|
+
You can now open a new terminal and type not1mm. On it's first run, it may or
|
237
|
+
may not install a lovely non AI generated icon, which you can later click on to
|
238
|
+
launch the application.
|
239
|
+
|
188
240
|
### Python, PyPI, pip and pipx
|
189
241
|
|
190
|
-
This software is a Python package hosted on PyPI, and installable with the pip
|
242
|
+
This software is a Python package hosted on PyPI, and installable with the pip
|
243
|
+
or pipx command. If this is your first exposure to Python packaging you can get
|
244
|
+
all the details from:
|
191
245
|
|
192
246
|
- [The PyPA](https://packaging.python.org/en/latest/tutorials/installing-packages/)
|
193
247
|
- [Install packages in a virtual environment using pip and venv](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/)
|
194
248
|
- [Installing stand alone command line tools](https://packaging.python.org/en/latest/guides/installing-stand-alone-command-line-tools/)
|
195
249
|
|
196
|
-
In short, You should install stuff into a Python virtual environment. Newer
|
250
|
+
In short, You should install stuff into a Python virtual environment. Newer
|
251
|
+
Linux distros will make you do this unless you include a command line argument
|
252
|
+
akin to '--break-my-system' when using pip. I'm not telling you to use pipx.
|
253
|
+
But... **Use pipx**.
|
197
254
|
|
198
255
|
### Bootstrapping pipx
|
199
256
|
|
@@ -227,22 +284,11 @@ If you need to later update not1mm, you can do so with:
|
|
227
284
|
pipx upgrade not1mm
|
228
285
|
```
|
229
286
|
|
230
|
-
|
231
|
-
|
232
|
-
not1mm uses portaudio to play audio. You can install it with:
|
233
|
-
|
234
|
-
```bash
|
235
|
-
# Ubuntu
|
236
|
-
sudo apt install -y libportaudio2
|
237
|
-
|
238
|
-
# Fedora
|
239
|
-
sudo dnf install python3-pip portaudio
|
240
|
-
```
|
287
|
+
## After the install
|
241
288
|
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
icon, which you can later click on to launch the application.
|
289
|
+
You can now open a new terminal and type `not1mm`. On it's first run, it may or
|
290
|
+
may not install a lovely non AI generated icon, which you can later click on to
|
291
|
+
launch the application.
|
246
292
|
|
247
293
|
### You may or may not get a warning message like
|
248
294
|
|
@@ -265,15 +311,14 @@ To avoid this you can export an environment variable and launch the app like thi
|
|
265
311
|
|
266
312
|
`mbridak@vm:~$ export QT_QPA_PLATFORM=wayland; not1mm`
|
267
313
|
|
268
|
-
For a more permanent solution you can place the line
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
One side effect of Wayland is that we are not able to request for a window to regain or retain focus. So if you were to click on a spot in the bandmap window to tune to that spot, you would have to then click on the main window to continue entering contest data. I'm aware of this, but I can not change it.
|
314
|
+
For a more permanent solution you can place the line
|
315
|
+
`export QT_QPA_PLATFORM=wayland` in your home directories .bashrc file. Then
|
316
|
+
after logging out and back in you should be able to launch it normally.
|
273
317
|
|
274
318
|
### Running from source
|
275
319
|
|
276
|
-
Since this is packaged for PyPI, if you want to work on your own source branch,
|
320
|
+
Since this is packaged for PyPI, if you want to work on your own source branch,
|
321
|
+
after cloning from github you would:
|
277
322
|
|
278
323
|
```bash
|
279
324
|
pip install --upgrade pip
|
@@ -282,7 +327,8 @@ pip install build
|
|
282
327
|
source rebuild.sh
|
283
328
|
```
|
284
329
|
|
285
|
-
from the root directory. This installs a build chain and a local editable copy
|
330
|
+
from the root directory. This installs a build chain and a local editable copy
|
331
|
+
of not1mm.
|
286
332
|
|
287
333
|
There's two ways to launch the program from the local editable copy.
|
288
334
|
|
@@ -298,41 +344,62 @@ or be in some other directory and just type:
|
|
298
344
|
not1mm
|
299
345
|
```
|
300
346
|
|
347
|
+
## Wayland Compositor
|
348
|
+
|
349
|
+
One side effect of Wayland is that we are not able to request for a window to
|
350
|
+
regain or retain focus. So if you were to click on a spot in the bandmap window
|
351
|
+
to tune to that spot, you would have to then click on the main window to
|
352
|
+
continue entering contest data. I'm aware of this, but I can not change it.
|
353
|
+
|
301
354
|
## Various data file locations
|
302
355
|
|
303
356
|
### Data
|
304
357
|
|
305
|
-
If your system has an `XDG_DATA_HOME` environment variable set, the database and
|
358
|
+
If your system has an `XDG_DATA_HOME` environment variable set, the database and
|
359
|
+
CW macro files can be found there. Otherwise they will be found at
|
360
|
+
`yourhome/.local/share/not1mm`
|
306
361
|
|
307
362
|
### Config
|
308
363
|
|
309
|
-
Configuration file(s) can be found at the location defined by `XDG_CONFIG_HOME`.
|
364
|
+
Configuration file(s) can be found at the location defined by `XDG_CONFIG_HOME`.
|
365
|
+
Otherwise they will be found at `yourhome/.config/not1mm`
|
310
366
|
|
311
367
|
## The database
|
312
368
|
|
313
369
|
### Why
|
314
370
|
|
315
|
-
The database holds... wait for it... data... I know shocker right. A database
|
371
|
+
The database holds... wait for it... data... I know shocker right. A database
|
372
|
+
can hold one or many contest logs. It also holds the station information,
|
373
|
+
everything shown in the Station Settings dialog. You can have one database for
|
374
|
+
the rest of your life. Filled with hundreds of contests you've logged. Or, you
|
375
|
+
can create a new database to hold just one contest. You do You Boo.
|
316
376
|
|
317
377
|
### The first one
|
318
378
|
|
319
|
-
On the initial running, a database is created for you called `ham.db`. This, and
|
379
|
+
On the initial running, a database is created for you called `ham.db`. This, and
|
380
|
+
all future databases, are located in the data directory mentioned above.
|
320
381
|
|
321
382
|
### Why limit yourself
|
322
383
|
|
323
|
-
You can create a new database by selecting `File` > `New Database` from the main
|
384
|
+
You can create a new database by selecting `File` > `New Database` from the main
|
385
|
+
window, and give it a snazzy name. Why limit yourself. Hell, create one every
|
386
|
+
day for all I care. You can manage your own digital disaster.
|
324
387
|
|
325
388
|
### Revisiting an old friend
|
326
389
|
|
327
|
-
You can select a previously created databases for use by selecting
|
390
|
+
You can select a previously created databases for use by selecting
|
391
|
+
`File` > `Open Database`.
|
328
392
|
|
329
393
|
## Station Settings dialog (REQUIRED)
|
330
394
|
|
331
|
-
After initial run of the program or creating a new database you will need to
|
395
|
+
After initial run of the program or creating a new database you will need to
|
396
|
+
fill out the Station Settings dialog that will pop up.
|
332
397
|
|
333
398
|

|
334
399
|
|
335
|
-
You can fill it out if you want to. You can leave our friends behind.
|
400
|
+
You can fill it out if you want to. You can leave our friends behind.
|
401
|
+
'Cause your friends don't fill, and if they don't fill. Well, they're no friends
|
402
|
+
of mine.
|
336
403
|
|
337
404
|
You can fill. You can fill. Everyone look at your keys.
|
338
405
|
|
@@ -340,7 +407,8 @@ You can fill. You can fill. Everyone look at your keys.
|
|
340
407
|
|
341
408
|
### Changing station information
|
342
409
|
|
343
|
-
Station information can be changed any time by going to
|
410
|
+
Station information can be changed any time by going to
|
411
|
+
`File` > `Station Settings` and editing the information.
|
344
412
|
|
345
413
|
## Selecting a contest (REQUIRED)
|
346
414
|
|
@@ -358,11 +426,15 @@ Select `File` > `Open Contest`
|
|
358
426
|
|
359
427
|
### Editing existing contest parameters
|
360
428
|
|
361
|
-
You can edit the parameters of a previously defined contest by selecting it as
|
429
|
+
You can edit the parameters of a previously defined contest by selecting it as
|
430
|
+
the current contest. Then select `File` > `Edit Current Contest`. Click `OK` to
|
431
|
+
save the new values and reload the contest. `Cancel` to keep the existing
|
432
|
+
parameters.
|
362
433
|
|
363
434
|
## Configuration Settings
|
364
435
|
|
365
|
-
To setup your CAT control, CW keyer, Callsign lookups, select
|
436
|
+
To setup your CAT control, CW keyer, Callsign lookups, select
|
437
|
+
`File` > `Configuration Settings`
|
366
438
|
|
367
439
|
The tabs for groups and n1mm are disabled and are for future expansion.
|
368
440
|
|
@@ -370,7 +442,8 @@ The tabs for groups and n1mm are disabled and are for future expansion.
|
|
370
442
|
|
371
443
|
### Lookup
|
372
444
|
|
373
|
-
For callsign lookup, Two services are supported. QRZ and HamQTH. They require a
|
445
|
+
For callsign lookup, Two services are supported. QRZ and HamQTH. They require a
|
446
|
+
username and password, Enter it here.
|
374
447
|
|
375
448
|
### Soundcard
|
376
449
|
|
@@ -378,41 +451,59 @@ Choose the sound output device for the voice keyer.
|
|
378
451
|
|
379
452
|
### CAT Control
|
380
453
|
|
381
|
-
Under the `CAT` TAB, you can choose either `rigctld` normally with an IP of
|
454
|
+
Under the `CAT` TAB, you can choose either `rigctld` normally with an IP of
|
455
|
+
`127.0.0.1` and a port of `4532`. Or `flrig`, IP normally of `127.0.0.1` and a
|
456
|
+
port of `12345`. `None` is always an option, but is it really? There's an
|
457
|
+
onscreen icon for CAT status. Green good, Red bad, Grey neither.
|
382
458
|
|
383
459
|
### CW Keyer interface
|
384
460
|
|
385
|
-
Under the `CW` TAB, There are three options. `cwdaemon`, which normally uses IP
|
461
|
+
Under the `CW` TAB, There are three options. `cwdaemon`, which normally uses IP
|
462
|
+
`127.0.0.1` and port `6789`. `pywinkeyer` which normally uses IP `127.0.0.1` and
|
463
|
+
port `8000`. Or `None`, if you want to Morse it like it's 1899.
|
386
464
|
|
387
465
|
### Cluster
|
388
466
|
|
389
467
|

|
390
468
|
|
391
|
-
|
469
|
+
Under the `Cluster` TAB you can change the default AR Cluster server, port and
|
470
|
+
filter settings used for the bandmap window.
|
392
471
|
|
393
472
|
### N1MM Packets
|
394
473
|
|
395
|
-
Work has started on N1MM udp packets. So far just RadioInfo, contactinfo,
|
474
|
+
Work has started on N1MM udp packets. So far just RadioInfo, contactinfo,
|
475
|
+
contactreplace and contactdelete.
|
396
476
|
|
397
477
|

|
398
478
|
|
399
|
-
When entering IP and Ports, enter them with a colon ':' between them. You can
|
479
|
+
When entering IP and Ports, enter them with a colon ':' between them. You can
|
480
|
+
enter multiple pairs on the same line if separated by a space ' '.
|
400
481
|
|
401
482
|
### Bands
|
402
483
|
|
403
|
-
You can define which bands appear in the main window. Those with checkmarks will
|
484
|
+
You can define which bands appear in the main window. Those with checkmarks will
|
485
|
+
appear. Those without will not.
|
404
486
|
|
405
487
|

|
406
488
|
|
407
489
|
## Sending CW
|
408
490
|
|
409
|
-
Other than sending CW by hand, you can also send predefined CW text messages by
|
491
|
+
Other than sending CW by hand, you can also send predefined CW text messages by
|
492
|
+
pressing F1 - F12. See next section on Editing macro keys. If you need to send
|
493
|
+
something freeform, you can press CTRL-SHIFT-K, this will expose an entry field
|
494
|
+
at the bottom of the window which you can type directly into. When you're done
|
495
|
+
you can either press CTRL-SHIFT-K again, or press the Enter Key to close the
|
496
|
+
field.
|
410
497
|
|
411
498
|
## Editing macro keys
|
412
499
|
|
413
|
-
To edit the macros, choose `File` > `Edit Macros`. This will open your systems
|
500
|
+
To edit the macros, choose `File` > `Edit Macros`. This will open your systems
|
501
|
+
registered text editor with current macros loaded. When your done just save the
|
502
|
+
file and close the editor. The file loaded to edit, CW or SSB, will be
|
503
|
+
determined by your current operating mode.
|
414
504
|
|
415
|
-
After editing and saving the macro file. You can force the logger to reload the
|
505
|
+
After editing and saving the macro file. You can force the logger to reload the
|
506
|
+
macro file by toggeling between `Run` and `S&P` states.
|
416
507
|
|
417
508
|
### Macro substitutions
|
418
509
|
|
@@ -429,19 +520,37 @@ You can include a limited set of substitution instructions.
|
|
429
520
|
|
430
521
|
### Macro use with voice
|
431
522
|
|
432
|
-
The macros when used with voice, will also accept filenames of WAV files to
|
523
|
+
The macros when used with voice, will also accept filenames of WAV files to
|
524
|
+
play, excluding the file extension. The filename must be enclosed by brackets.
|
525
|
+
For example `[CQ]` will play `cq.wav`, `[again]` will play `again.wav`. The wav
|
526
|
+
files are stored in the operators personal data directory. The filenames must be
|
527
|
+
in lowercase. See [Various data file locations](#various-data-file-locations)
|
528
|
+
above for the location of your data files. For me, the macro `[cq]` will play
|
529
|
+
`/home/mbridak/.local/share/not1mm/K6GTE/cq.wav`
|
433
530
|
|
434
|
-
**The current wav files in place are not the ones you will want to use. They
|
531
|
+
**The current wav files in place are not the ones you will want to use. They
|
532
|
+
sound like an idiot.** You can use something like Audacity to record new wav
|
533
|
+
files in your own voice.
|
435
534
|
|
436
|
-
Aside from the `[filename]` wav files, there are also NATO phonetic wav files
|
535
|
+
Aside from the `[filename]` wav files, there are also NATO phonetic wav files
|
536
|
+
for each letter and number. So if your macro key holds
|
537
|
+
`{HISCALL} {SNT} {SENTNR}` and you have entered K5TUX in callsign field during
|
538
|
+
CQ WW SSB while in CQ Zone 3. You'll here Kilo 5 Tango Uniform X-ray, 5 9 9, 3.
|
539
|
+
Hopefully not in an idiots voice.
|
437
540
|
|
438
541
|
## cty.dat and QRZ lookups for distance and bearing
|
439
542
|
|
440
|
-
When a callsign is entered, a look up is first done in a cty.dat file to
|
543
|
+
When a callsign is entered, a look up is first done in a cty.dat file to
|
544
|
+
determin the country of origin, geographic center, cq zone and ITU region.
|
545
|
+
Great circle calculations are done to determin the heading and distance from
|
546
|
+
your gridsquare to the grographic center. This information then displayed at the
|
547
|
+
bottom left.
|
441
548
|
|
442
549
|

|
443
550
|
|
444
|
-
After this, a request is made to QRZ for the gridsquare of the callsign. If
|
551
|
+
After this, a request is made to QRZ for the gridsquare of the callsign. If
|
552
|
+
there is a response the information is recalculated and displayed. You'll know
|
553
|
+
is this has happened, since the gridsquare will replace the word "Regional".
|
445
554
|
|
446
555
|

|
447
556
|
|
@@ -483,11 +592,14 @@ After this, a request is made to QRZ for the gridsquare of the callsign. If ther
|
|
483
592
|
|
484
593
|
`Window`>`Log Window`
|
485
594
|
|
486
|
-
The Log display gets updated automatically when a contact is entered. The top
|
595
|
+
The Log display gets updated automatically when a contact is entered. The top
|
596
|
+
half is a list of all contacts.
|
487
597
|
|
488
598
|

|
489
599
|
|
490
|
-
The bottom half of the log displays contacts sorted by what's currently in the
|
600
|
+
The bottom half of the log displays contacts sorted by what's currently in the
|
601
|
+
call entry field. The columns displayed in the log window are dependant on what
|
602
|
+
contests is currently active.
|
491
603
|
|
492
604
|
#### Editing a contact
|
493
605
|
|
@@ -499,11 +611,15 @@ You can also Right-Click on a cell to bring up the edit dialog.
|
|
499
611
|
|
500
612
|

|
501
613
|
|
502
|
-
You can not directly edit the multiplier status of a contact. Instead see the
|
614
|
+
You can not directly edit the multiplier status of a contact. Instead see the
|
615
|
+
next section on recalculating mults. If you change the callsign make sure the
|
616
|
+
`WPX` field is still valid.
|
503
617
|
|
504
618
|
## Recalulate Mults
|
505
619
|
|
506
|
-
After editing a contact and before generating a Cabrillo file. There is a Misc
|
620
|
+
After editing a contact and before generating a Cabrillo file. There is a Misc
|
621
|
+
menu option that will recalculate the multipliers incase an edit had caused a
|
622
|
+
change.
|
507
623
|
|
508
624
|
## Bandmap
|
509
625
|
|
@@ -511,27 +627,38 @@ After editing a contact and before generating a Cabrillo file. There is a Misc m
|
|
511
627
|
|
512
628
|
Put your callsign in the top and press the connect button.
|
513
629
|
|
514
|
-
The bandmap window is, as with everything, a work in progress. The bandmap now
|
630
|
+
The bandmap window is, as with everything, a work in progress. The bandmap now
|
631
|
+
follows the VFO.
|
515
632
|
|
516
633
|

|
517
634
|
|
518
|
-
VFO indicator now displays as small triangle in the frequency tickmarks. A small
|
635
|
+
VFO indicator now displays as small triangle in the frequency tickmarks. A small
|
636
|
+
blue rectangle shows the receivers bandwidth if one is reported.
|
519
637
|
|
520
638
|

|
521
639
|
|
522
|
-
Clicked on spots now tune the radio and set the callsign field. Previously
|
640
|
+
Clicked on spots now tune the radio and set the callsign field. Previously
|
641
|
+
worked calls are displayed in red.
|
523
642
|
|
524
643
|
## Check Window
|
525
644
|
|
526
645
|
`Window`>`Check Window`
|
527
646
|
|
528
|
-
As you enter a callsign, the Check Window will show probable matches to calls
|
647
|
+
As you enter a callsign, the Check Window will show probable matches to calls
|
648
|
+
either in the MASTER.SCP file, your local log or the recent telnet spots. The
|
649
|
+
MASTER.SCP column will show results for strings of 3 or more matching characters
|
650
|
+
from the start of the call string. The local log and telnet columns will show
|
651
|
+
matches of any length appearing anywhere in the string.
|
652
|
+
|
653
|
+
Clicking on any of these items will change the callsign field.
|
529
654
|
|
530
655
|

|
531
656
|
|
532
657
|
## Remote VFO
|
533
658
|
|
534
|
-
You can control the VFO on a remote rig by following the directions listed in
|
659
|
+
You can control the VFO on a remote rig by following the directions listed in
|
660
|
+
the link below. It's a small hardware project with a BOM of under $20, and
|
661
|
+
consisting of two parts.
|
535
662
|
|
536
663
|
1. Making the [VFO](https://github.com/mbridak/not1mm/blob/master/usb_vfo_knob/vfo.md)...
|
537
664
|
2. Then... `Window`>`VFO`
|
@@ -552,7 +679,8 @@ K6GTE_CANADA-DAY_2023-09-04_07-47-05.log
|
|
552
679
|
|
553
680
|
Look, a log [eh](https://www.youtube.com/watch?v=El41sHXck-E)?
|
554
681
|
|
555
|
-
[This](https://www.youtube.com/watch?v=oMI23JJUpGE) outlines some differences
|
682
|
+
[This](https://www.youtube.com/watch?v=oMI23JJUpGE) outlines some differences
|
683
|
+
between ARRL Field Day and Canada Day.
|
556
684
|
|
557
685
|
## ADIF
|
558
686
|
|
@@ -568,26 +696,43 @@ Added dupe checking. Big Red 'Dupe' will appear if it's a dupe...
|
|
568
696
|
|
569
697
|
## Contest specific notes
|
570
698
|
|
571
|
-
I found it might be beneficial to have a section devoted to wierd quirky things
|
699
|
+
I found it might be beneficial to have a section devoted to wierd quirky things
|
700
|
+
about operating a specific contests.
|
572
701
|
|
573
702
|
### ARRL Sweekstakes
|
574
703
|
|
575
704
|
#### The exchange parser
|
576
705
|
|
577
|
-
This was a pain in the tukus. There are so many elements to the exchange, and
|
706
|
+
This was a pain in the tukus. There are so many elements to the exchange, and
|
707
|
+
one input field aside from the callsign field. So I had to write sort of a
|
708
|
+
'parser'. The parser moves over your input string following some basic rules and
|
709
|
+
is re-evaluated with each keypress and the parsed result will be displayed in
|
710
|
+
the label over the field. The exchange looks like `124 A K6GTE 17 ORG`, a Serial
|
711
|
+
number, Precidence, Callsign, Year Licenced and Section. even though the
|
712
|
+
callsign is given as part of the exchange, the callsign does not have to be
|
713
|
+
entered and is pulled from the callsign field. If the exchange was entered as
|
714
|
+
`124 A 17 ORG` you would see:
|
578
715
|
|
579
716
|

|
580
717
|
|
581
|
-
You can enter the serial number and precidence, or the year and section as
|
718
|
+
You can enter the serial number and precidence, or the year and section as
|
719
|
+
pairs. For instance `124A 17ORG`. This would ensure the values get parsed
|
720
|
+
correctly.
|
582
721
|
|
583
|
-
You do not have to go back to correct typing. You can just tack the correct
|
722
|
+
You do not have to go back to correct typing. You can just tack the correct
|
723
|
+
items to the end of the field and the older values will get overwritten. So if
|
724
|
+
you entered `124A 17ORG Q`, the precidence will change from A to Q. If you need
|
725
|
+
to change the serial number you must append the precidence to it, `125A`.
|
584
726
|
|
585
|
-
If the callsign was entered wrong in the callsign field, you can put the correct
|
727
|
+
If the callsign was entered wrong in the callsign field, you can put the correct
|
728
|
+
callsign some where in the exchange. As long as it shows up in the parsed label
|
729
|
+
above correctly your good.
|
586
730
|
|
587
731
|
The best thing you can do is play around with it to see how it behaves.
|
588
732
|
|
589
733
|
#### The exchange
|
590
734
|
|
591
|
-
In the `Sent Exchange` field of the New Contest dialog put in the Precidence,
|
735
|
+
In the `Sent Exchange` field of the New Contest dialog put in the Precidence,
|
736
|
+
Call, Check and Section. Example: `A K6GTE 17 ORG`.
|
592
737
|
|
593
738
|
For the Run Exchange macro I'd put `{HISCALL} # A K6GTE 17 ORG`.
|