not1mm 24.10.1__tar.gz → 24.10.2__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.10.1 → not1mm-24.10.2}/PKG-INFO +21 -9
- {not1mm-24.10.1 → not1mm-24.10.2}/README.md +20 -8
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/__main__.py +29 -6
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/new_contest.ui +5 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/cwinterface.py +1 -1
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/version.py +1 -1
- not1mm-24.10.2/not1mm/plugins/cq_wpx_rtty.py +507 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm.egg-info/PKG-INFO +21 -9
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm.egg-info/SOURCES.txt +1 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/pyproject.toml +1 -1
- {not1mm-24.10.1 → not1mm-24.10.2}/LICENSE +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/__init__.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/bandmap.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/checkwindow.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/about.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/bandmap.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/check.png +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/checkwindow.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/configuration.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/contests.sql +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/cty.json +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/donors.html +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/editcontact.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/editmacro.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/greendot.png +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/logwindow.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/logwindowx.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/main.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/not1mm.html +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/opon.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/radio_green.png +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/radio_grey.png +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/radio_red.png +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/reddot.png +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/rttymacros.txt +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/settings.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/splash.png +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/data/vfo.ui +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/fsutils.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/__init__.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/about.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/cat_interface.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/database.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/edit_station.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/fldigi_sendstring.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/fldigi_watcher.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/ft8_watcher.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/lookup.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/multicast.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/n1mm.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/new_contest.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/playsound.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/plugin_common.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/select_contest.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/settings.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/super_check_partial.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lib/versiontest.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/logwindow.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/lookupservice.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/10_10_fall_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/10_10_spring_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/10_10_summer_phone.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/10_10_winter_phone.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/__init__.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/arrl_10m.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/arrl_ss_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/arrl_vhf_jan.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/arrl_vhf_jun.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/arrl_vhf_sep.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/canada_day.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/cq_160_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/cq_160_ssb.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/cq_wpx_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/cq_ww_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/cq_ww_rtty.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/cq_ww_ssb.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/cwt.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/helvetia.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/iaru_hf.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/icwc_mst.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/k1usn_sst.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/naqp_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/naqp_ssb.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/phone_weekly_test.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/ref_cw.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/stew_perry_topband.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/weekly_rtty.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/plugins/winter_field_day.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/radio.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/test.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/vfo.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm/voice_keying.py +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/not1mm.egg-info/top_level.txt +0 -0
- {not1mm-24.10.1 → not1mm-24.10.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.10.
|
3
|
+
Version: 24.10.2
|
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
|
@@ -201,7 +201,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
201
201
|
- ARRL Sweepstakes CW, SSB
|
202
202
|
- ARRL VHF January, June, September
|
203
203
|
- CQ 160 CW, SSB
|
204
|
-
- CQ WPX CW, SSB
|
204
|
+
- CQ WPX CW, RTTY, SSB
|
205
205
|
- CQ World Wide CW, RTTY, SSB
|
206
206
|
- CWOps CWT
|
207
207
|
- Helvetia
|
@@ -219,6 +219,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
219
219
|
|
220
220
|
## Recent Changes
|
221
221
|
|
222
|
+
- [24-10-2] Add WPX RTTY.
|
222
223
|
- [24-10-1] Merged PR removing leading zeros from serial numbers. Merged PR correcting the parsing of lookups for previous name and state in the CWT.
|
223
224
|
|
224
225
|
See [CHANGELOG.md](CHANGELOG.md) for prior changes.
|
@@ -294,16 +295,18 @@ source .profile
|
|
294
295
|
|
295
296
|
```bash
|
296
297
|
sudo dnf upgrade --refresh
|
297
|
-
sudo dnf install python3-pip portaudio
|
298
|
-
|
298
|
+
sudo dnf install python3-pip pipx portaudio
|
299
|
+
pipx install not1mm
|
300
|
+
pipx ensurepath
|
299
301
|
```
|
300
302
|
|
301
303
|
#### Fedora 40
|
302
304
|
|
303
305
|
```bash
|
304
306
|
sudo dnf upgrade --refresh
|
305
|
-
sudo dnf install python3-pip python3-pyqt6 portaudio
|
306
|
-
|
307
|
+
sudo dnf install python3-pip pipx python3-pyqt6 portaudio
|
308
|
+
pipx install not1mm
|
309
|
+
pipx ensurepath
|
307
310
|
```
|
308
311
|
|
309
312
|
</details>
|
@@ -598,7 +601,12 @@ appear. Those without will not.
|
|
598
601
|
|
599
602
|
## Logging WSJT-X FT8/FT4/ETC and FLDIGI RTTY contacts
|
600
603
|
|
601
|
-
**Digital modes only working for
|
604
|
+
**Digital modes only working for:**
|
605
|
+
|
606
|
+
- ARRL Field Day
|
607
|
+
- ARRL VHF
|
608
|
+
- Weekly RTTY
|
609
|
+
- CQ WW DX RTTY
|
602
610
|
|
603
611
|
not1mm listens for WSJT-X UDP traffic on the Multicast address 224.0.0.1:2237.
|
604
612
|
No setup is needed to be done on not1mm's side. That's good because I'm lazy.
|
@@ -607,6 +615,10 @@ not1mm polls for fldigi QSOs via it's XMLRPC interface. It does this in a rather
|
|
607
615
|
way. It just keeps asking what was the last QSO and compares it to the previous response.
|
608
616
|
If it's different, it's new. I've added the Weekly RTTY Test so this can be tested.
|
609
617
|
|
618
|
+
The F1-F12 function keys be sent to fldigi via XMLRPC. Fldigi will be placed into TX
|
619
|
+
mode, the message will be sent and a ^r will be tacked onto the end to place it back into
|
620
|
+
RX mode.
|
621
|
+
|
610
622
|
Unlike WSJT, fldigi needs to be setup for this to work. The XMLRPC interface needs to be
|
611
623
|
active. And in fldigi's config dialog go to CONTESTS -> General -> CONTEST and select
|
612
624
|
Generic Contest. Make sure the Text Capture Order field says CALL EXCHANGE.
|
@@ -624,7 +636,7 @@ field.
|
|
624
636
|
|
625
637
|
To edit the macros, choose `File` > `Edit Macros`. This will open your systems
|
626
638
|
registered text editor with current macros loaded. When your done just save the
|
627
|
-
file and close the editor. The file loaded to edit, CW or
|
639
|
+
file and close the editor. The file loaded to edit, CW, SSB or RTTY, will be
|
628
640
|
determined by your current operating mode.
|
629
641
|
|
630
642
|
After editing and saving the macro file. You can force the logger to reload the
|
@@ -707,7 +719,7 @@ is this has happened, since the gridsquare will replace the word "Regional".
|
|
707
719
|
| [Shift-Tab] | Move cursor left One field. |
|
708
720
|
| [SPACE] | When in the callsign field, will move the input to the first field needed for the exchange. |
|
709
721
|
| [Enter] | Submits the fields to the log. |
|
710
|
-
| [F1-F12] | Send (CW
|
722
|
+
| [F1-F12] | Send (CW/RTTY/Voice) macros. |
|
711
723
|
| [CTRL-S] | Spot Callsign to the cluster. |
|
712
724
|
| [CTRL-M] | Mark Callsign to the bandmap window to work later. |
|
713
725
|
| [CTRL-G] | Tune to a spot matching partial text in the callsign entry field (CAT Required). |
|
@@ -170,7 +170,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
170
170
|
- ARRL Sweepstakes CW, SSB
|
171
171
|
- ARRL VHF January, June, September
|
172
172
|
- CQ 160 CW, SSB
|
173
|
-
- CQ WPX CW, SSB
|
173
|
+
- CQ WPX CW, RTTY, SSB
|
174
174
|
- CQ World Wide CW, RTTY, SSB
|
175
175
|
- CWOps CWT
|
176
176
|
- Helvetia
|
@@ -188,6 +188,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
188
188
|
|
189
189
|
## Recent Changes
|
190
190
|
|
191
|
+
- [24-10-2] Add WPX RTTY.
|
191
192
|
- [24-10-1] Merged PR removing leading zeros from serial numbers. Merged PR correcting the parsing of lookups for previous name and state in the CWT.
|
192
193
|
|
193
194
|
See [CHANGELOG.md](CHANGELOG.md) for prior changes.
|
@@ -263,16 +264,18 @@ source .profile
|
|
263
264
|
|
264
265
|
```bash
|
265
266
|
sudo dnf upgrade --refresh
|
266
|
-
sudo dnf install python3-pip portaudio
|
267
|
-
|
267
|
+
sudo dnf install python3-pip pipx portaudio
|
268
|
+
pipx install not1mm
|
269
|
+
pipx ensurepath
|
268
270
|
```
|
269
271
|
|
270
272
|
#### Fedora 40
|
271
273
|
|
272
274
|
```bash
|
273
275
|
sudo dnf upgrade --refresh
|
274
|
-
sudo dnf install python3-pip python3-pyqt6 portaudio
|
275
|
-
|
276
|
+
sudo dnf install python3-pip pipx python3-pyqt6 portaudio
|
277
|
+
pipx install not1mm
|
278
|
+
pipx ensurepath
|
276
279
|
```
|
277
280
|
|
278
281
|
</details>
|
@@ -567,7 +570,12 @@ appear. Those without will not.
|
|
567
570
|
|
568
571
|
## Logging WSJT-X FT8/FT4/ETC and FLDIGI RTTY contacts
|
569
572
|
|
570
|
-
**Digital modes only working for
|
573
|
+
**Digital modes only working for:**
|
574
|
+
|
575
|
+
- ARRL Field Day
|
576
|
+
- ARRL VHF
|
577
|
+
- Weekly RTTY
|
578
|
+
- CQ WW DX RTTY
|
571
579
|
|
572
580
|
not1mm listens for WSJT-X UDP traffic on the Multicast address 224.0.0.1:2237.
|
573
581
|
No setup is needed to be done on not1mm's side. That's good because I'm lazy.
|
@@ -576,6 +584,10 @@ not1mm polls for fldigi QSOs via it's XMLRPC interface. It does this in a rather
|
|
576
584
|
way. It just keeps asking what was the last QSO and compares it to the previous response.
|
577
585
|
If it's different, it's new. I've added the Weekly RTTY Test so this can be tested.
|
578
586
|
|
587
|
+
The F1-F12 function keys be sent to fldigi via XMLRPC. Fldigi will be placed into TX
|
588
|
+
mode, the message will be sent and a ^r will be tacked onto the end to place it back into
|
589
|
+
RX mode.
|
590
|
+
|
579
591
|
Unlike WSJT, fldigi needs to be setup for this to work. The XMLRPC interface needs to be
|
580
592
|
active. And in fldigi's config dialog go to CONTESTS -> General -> CONTEST and select
|
581
593
|
Generic Contest. Make sure the Text Capture Order field says CALL EXCHANGE.
|
@@ -593,7 +605,7 @@ field.
|
|
593
605
|
|
594
606
|
To edit the macros, choose `File` > `Edit Macros`. This will open your systems
|
595
607
|
registered text editor with current macros loaded. When your done just save the
|
596
|
-
file and close the editor. The file loaded to edit, CW or
|
608
|
+
file and close the editor. The file loaded to edit, CW, SSB or RTTY, will be
|
597
609
|
determined by your current operating mode.
|
598
610
|
|
599
611
|
After editing and saving the macro file. You can force the logger to reload the
|
@@ -676,7 +688,7 @@ is this has happened, since the gridsquare will replace the word "Regional".
|
|
676
688
|
| [Shift-Tab] | Move cursor left One field. |
|
677
689
|
| [SPACE] | When in the callsign field, will move the input to the first field needed for the exchange. |
|
678
690
|
| [Enter] | Submits the fields to the log. |
|
679
|
-
| [F1-F12] | Send (CW
|
691
|
+
| [F1-F12] | Send (CW/RTTY/Voice) macros. |
|
680
692
|
| [CTRL-S] | Spot Callsign to the cluster. |
|
681
693
|
| [CTRL-M] | Mark Callsign to the bandmap window to work later. |
|
682
694
|
| [CTRL-G] | Tune to a spot matching partial text in the callsign entry field (CAT Required). |
|
@@ -175,10 +175,10 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
175
175
|
lookup_service = None
|
176
176
|
fldigi_util = None
|
177
177
|
|
178
|
-
def __init__(self,
|
179
|
-
super().__init__(
|
178
|
+
def __init__(self, splash):
|
179
|
+
super().__init__()
|
180
180
|
logger.info("MainWindow: __init__")
|
181
|
-
|
181
|
+
self.splash = splash
|
182
182
|
self.dock_loc = {
|
183
183
|
"Top": Qt.DockWidgetArea.TopDockWidgetArea,
|
184
184
|
"Right": Qt.DockWidgetArea.RightDockWidgetArea,
|
@@ -519,6 +519,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
519
519
|
QtGui.QIcon(str(fsutils.APP_DATA_PATH / "k6gte.not1mm-32.png"))
|
520
520
|
)
|
521
521
|
|
522
|
+
self.show_splash_msg("Loading CTY file.")
|
523
|
+
|
522
524
|
try:
|
523
525
|
with open(
|
524
526
|
fsutils.APP_DATA_PATH / "cty.json", "rt", encoding="utf-8"
|
@@ -527,11 +529,15 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
527
529
|
except (IOError, JSONDecodeError, TypeError):
|
528
530
|
logging.CRITICAL("There was an error parsing the BigCity file.")
|
529
531
|
|
532
|
+
self.show_splash_msg("Starting LookUp Service.")
|
533
|
+
|
530
534
|
self.lookup_service = LookupService()
|
531
535
|
self.lookup_service.hide()
|
532
536
|
|
537
|
+
self.show_splash_msg("Reading preferences.")
|
533
538
|
self.readpreferences()
|
534
539
|
|
540
|
+
self.show_splash_msg("Starting voice thread.")
|
535
541
|
self.voice_process = Voice()
|
536
542
|
self.voice_process.moveToThread(self.voice_thread)
|
537
543
|
self.voice_thread.started.connect(self.voice_process.run)
|
@@ -560,7 +566,9 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
560
566
|
self.make_op_dir()
|
561
567
|
|
562
568
|
self.clearinputs()
|
569
|
+
self.show_splash_msg("Loading contest.")
|
563
570
|
self.load_contest()
|
571
|
+
self.show_splash_msg("Reading macros.")
|
564
572
|
self.read_cw_macros()
|
565
573
|
|
566
574
|
# Featureset for wayland
|
@@ -569,6 +577,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
569
577
|
| QtWidgets.QDockWidget.DockWidgetFeature.DockWidgetMovable
|
570
578
|
)
|
571
579
|
|
580
|
+
self.show_splash_msg("Starting FlDigi watcher.")
|
572
581
|
self.fldigi_watcher = FlDigiWatcher()
|
573
582
|
self.fldigi_watcher.moveToThread(self.fldigi_thread)
|
574
583
|
self.fldigi_thread.started.connect(self.fldigi_watcher.run)
|
@@ -576,6 +585,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
576
585
|
self.fldigi_watcher.poll_callback.connect(self.fldigi_qso)
|
577
586
|
self.fldigi_thread.start()
|
578
587
|
|
588
|
+
self.show_splash_msg("Setting up LogWindow.")
|
579
589
|
self.log_window = LogWindow()
|
580
590
|
self.log_window.setObjectName("log-window")
|
581
591
|
if os.environ.get("WAYLAND_DISPLAY"):
|
@@ -583,6 +593,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
583
593
|
self.addDockWidget(Qt.DockWidgetArea.TopDockWidgetArea, self.log_window)
|
584
594
|
self.log_window.hide()
|
585
595
|
|
596
|
+
self.show_splash_msg("Setting up BandMapWindow.")
|
586
597
|
self.bandmap_window = BandMapWindow()
|
587
598
|
self.bandmap_window.setObjectName("bandmap-window")
|
588
599
|
if os.environ.get("WAYLAND_DISPLAY"):
|
@@ -590,6 +601,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
590
601
|
self.addDockWidget(Qt.DockWidgetArea.LeftDockWidgetArea, self.bandmap_window)
|
591
602
|
self.bandmap_window.hide()
|
592
603
|
|
604
|
+
self.show_splash_msg("Setting up CheckWindow.")
|
593
605
|
self.check_window = CheckWindow()
|
594
606
|
self.check_window.setObjectName("check-window")
|
595
607
|
if os.environ.get("WAYLAND_DISPLAY"):
|
@@ -597,6 +609,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
597
609
|
self.addDockWidget(Qt.DockWidgetArea.RightDockWidgetArea, self.check_window)
|
598
610
|
self.check_window.hide()
|
599
611
|
|
612
|
+
self.show_splash_msg("Setting up VFOWindow.")
|
600
613
|
self.vfo_window = VfoWindow()
|
601
614
|
self.vfo_window.setObjectName("vfo-window")
|
602
615
|
if os.environ.get("WAYLAND_DISPLAY"):
|
@@ -604,6 +617,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
604
617
|
self.addDockWidget(Qt.DockWidgetArea.RightDockWidgetArea, self.vfo_window)
|
605
618
|
self.vfo_window.hide()
|
606
619
|
|
620
|
+
self.show_splash_msg("Restoring window states.")
|
607
621
|
self.settings = QSettings("K6GTE", "not1mm")
|
608
622
|
if self.settings.value("windowState") is not None:
|
609
623
|
self.restoreState(self.settings.value("windowState"))
|
@@ -635,6 +649,15 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
635
649
|
"You can udate to the current version by using:\npip install -U not1mm"
|
636
650
|
)
|
637
651
|
|
652
|
+
def show_splash_msg(self, msg: str) -> None:
|
653
|
+
"""Show text message in the splash window."""
|
654
|
+
self.splash.showMessage(
|
655
|
+
msg,
|
656
|
+
alignment=Qt.AlignmentFlag.AlignBottom | Qt.AlignmentFlag.AlignCenter,
|
657
|
+
color=QColor(255, 255, 0),
|
658
|
+
)
|
659
|
+
QCoreApplication.processEvents()
|
660
|
+
|
638
661
|
def fldigi_qso(self, result: str):
|
639
662
|
"""
|
640
663
|
gets called when there is a new fldigi qso logged.
|
@@ -3601,7 +3624,7 @@ app = QtWidgets.QApplication(sys.argv)
|
|
3601
3624
|
pixmap = QPixmap(f"{os.fspath(fsutils.APP_DATA_PATH)}/splash.png")
|
3602
3625
|
splash = QSplashScreen(pixmap)
|
3603
3626
|
splash.show()
|
3604
|
-
app.processEvents()
|
3627
|
+
# app.processEvents()
|
3605
3628
|
splash.showMessage(
|
3606
3629
|
"Starting Up",
|
3607
3630
|
alignment=Qt.AlignmentFlag.AlignBottom | Qt.AlignmentFlag.AlignCenter,
|
@@ -3611,10 +3634,10 @@ QCoreApplication.processEvents()
|
|
3611
3634
|
|
3612
3635
|
families = load_fonts_from_dir(os.fspath(fsutils.APP_DATA_PATH))
|
3613
3636
|
logger.info(f"font families {families}")
|
3614
|
-
window = MainWindow()
|
3637
|
+
window = MainWindow(splash)
|
3615
3638
|
window.callsign.setFocus()
|
3616
|
-
window.show()
|
3617
3639
|
splash.finish(window)
|
3640
|
+
window.show()
|
3618
3641
|
|
3619
3642
|
if __name__ == "__main__":
|
3620
3643
|
run()
|