not1mm 24.11.5__tar.gz → 24.11.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {not1mm-24.11.5 → not1mm-24.11.10}/PKG-INFO +3 -1
- {not1mm-24.11.5 → not1mm-24.11.10}/README.md +2 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/__main__.py +25 -6
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/cat_interface.py +19 -8
- not1mm-24.11.10/not1mm/lib/version.py +3 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/arrl_ss_cw.py +0 -1
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/arrl_vhf_jan.py +9 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/arrl_vhf_jun.py +9 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/arrl_vhf_sep.py +9 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/cq_160_cw.py +11 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/cq_160_ssb.py +11 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/cq_ww_cw.py +9 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/cq_ww_rtty.py +11 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/cq_ww_ssb.py +9 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/k1usn_sst.py +0 -1
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/naqp_cw.py +0 -1
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/naqp_rtty.py +0 -1
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/naqp_ssb.py +0 -1
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/raem.py +0 -1
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/stew_perry_topband.py +9 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/weekly_rtty.py +11 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/winter_field_day.py +0 -1
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/radio.py +24 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm.egg-info/PKG-INFO +3 -1
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm.egg-info/SOURCES.txt +1 -4
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm.egg-info/top_level.txt +0 -1
- {not1mm-24.11.5 → not1mm-24.11.10}/pyproject.toml +1 -1
- not1mm-24.11.5/not1mm/lib/playsound.py +0 -296
- not1mm-24.11.5/not1mm/lib/version.py +0 -3
- not1mm-24.11.5/not1mm/test.py +0 -61
- not1mm-24.11.5/test/contests.py +0 -591
- {not1mm-24.11.5 → not1mm-24.11.10}/LICENSE +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/__init__.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/bandmap.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/checkwindow.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/about.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/bandmap.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/check.png +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/checkwindow.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/configuration.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/contests.sql +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/cty.json +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/donors.html +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/editcontact.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/editmacro.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/greendot.png +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/logwindow.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/logwindowx.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/main.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/new_contest.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/not1mm.html +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/opon.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/cq2.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/radio_green.png +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/radio_grey.png +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/radio_red.png +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/reddot.png +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/rttymacros.txt +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/settings.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/splash.png +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/data/vfo.ui +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/fsutils.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/__init__.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/about.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/database.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/edit_station.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/fldigi_sendstring.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/fldigi_watcher.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/ft8_watcher.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/lookup.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/multicast.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/n1mm.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/new_contest.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/plugin_common.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/select_contest.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/settings.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/super_check_partial.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lib/versiontest.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/logwindow.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/lookupservice.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/10_10_fall_cw.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/10_10_spring_cw.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/10_10_summer_phone.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/10_10_winter_phone.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/__init__.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/arrl_10m.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/canada_day.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/cq_wpx_cw.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/cq_wpx_rtty.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/cwt.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/helvetia.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/iaru_hf.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/icwc_mst.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/phone_weekly_test.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/ref_cw.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/plugins/ref_ssb.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/vfo.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm/voice_keying.py +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-24.11.5 → not1mm-24.11.10}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.11.
|
3
|
+
Version: 24.11.10
|
4
4
|
Summary: NOT1MM Logger
|
5
5
|
Author-email: Michael Bridak <michael.bridak@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/mbridak/not1mm
|
@@ -236,6 +236,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
236
236
|
|
237
237
|
## Recent Changes (Polishing the Turd)
|
238
238
|
|
239
|
+
- [24-11-10] ReJiggered CAT/flrig interface to hopefull make it more workable.
|
240
|
+
- [24-11-6] Added Call history to ARRL VHF, CQ160, CQWW, StewPerry, Weekly RTTY
|
239
241
|
- [24-11-5] Fix crash with bad qrz credentials.
|
240
242
|
- [24-11-3-1] Fixed CWT ESM, Add Call History to CWT, Helvetia, WFD, NAQP, K1USN. Add ESM Helvetia.
|
241
243
|
- [24-11-3] Added RAEM contest
|
@@ -205,6 +205,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
205
205
|
|
206
206
|
## Recent Changes (Polishing the Turd)
|
207
207
|
|
208
|
+
- [24-11-10] ReJiggered CAT/flrig interface to hopefull make it more workable.
|
209
|
+
- [24-11-6] Added Call history to ARRL VHF, CQ160, CQWW, StewPerry, Weekly RTTY
|
208
210
|
- [24-11-5] Fix crash with bad qrz credentials.
|
209
211
|
- [24-11-3-1] Fixed CWT ESM, Add Call History to CWT, Helvetia, WFD, NAQP, K1USN. Add ESM Helvetia.
|
210
212
|
- [24-11-3] Added RAEM contest
|
@@ -1107,11 +1107,16 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1107
1107
|
-------
|
1108
1108
|
Nothing
|
1109
1109
|
"""
|
1110
|
+
|
1110
1111
|
if mode in ["CW", "SSB", "RTTY"]:
|
1111
1112
|
freq = fakefreq(str(band), mode)
|
1112
1113
|
self.change_freq(freq)
|
1113
1114
|
vfo = float(freq)
|
1114
1115
|
vfo = int(vfo * 1000)
|
1116
|
+
if mode == "CW":
|
1117
|
+
mode = self.rig_control.last_cw_mode
|
1118
|
+
if mode == "RTTY":
|
1119
|
+
mode = self.rig_control.last_data_mode
|
1115
1120
|
self.change_mode(mode, intended_freq=vfo)
|
1116
1121
|
|
1117
1122
|
def quit_app(self) -> None:
|
@@ -3315,10 +3320,9 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3315
3320
|
-------
|
3316
3321
|
None
|
3317
3322
|
"""
|
3318
|
-
|
3319
3323
|
if mode in ("CW", "CW-U", "CW-L", "CWR"):
|
3320
3324
|
if self.rig_control and self.rig_control.online:
|
3321
|
-
self.rig_control.set_mode(
|
3325
|
+
self.rig_control.set_mode(self.rig_control.last_cw_mode)
|
3322
3326
|
if self.pref.get("cwtype") == 3 and self.rig_control is not None:
|
3323
3327
|
if self.rig_control.interface == "flrig":
|
3324
3328
|
self.cwspeed_spinbox_changed()
|
@@ -3332,9 +3336,18 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3332
3336
|
self.clearinputs()
|
3333
3337
|
self.read_cw_macros()
|
3334
3338
|
return
|
3335
|
-
if mode
|
3339
|
+
if mode in (
|
3340
|
+
"DIGI-U",
|
3341
|
+
"DIGI-L",
|
3342
|
+
"RTTY",
|
3343
|
+
"RTTY-R",
|
3344
|
+
"LSB-D",
|
3345
|
+
"USB-D",
|
3346
|
+
"AM-D",
|
3347
|
+
"FM-D",
|
3348
|
+
):
|
3336
3349
|
if self.rig_control and self.rig_control.online:
|
3337
|
-
self.rig_control.set_mode(
|
3350
|
+
self.rig_control.set_mode(self.rig_control.last_data_mode)
|
3338
3351
|
else:
|
3339
3352
|
self.radio_state["mode"] = "RTTY"
|
3340
3353
|
self.setmode("RTTY")
|
@@ -3548,6 +3561,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3548
3561
|
Passing in a dictionary object with the
|
3549
3562
|
vfo freq, mode, bandwidth, and online state of the radio.
|
3550
3563
|
"""
|
3564
|
+
logger.debug(f"{the_dict=}")
|
3551
3565
|
self.set_radio_icon(0)
|
3552
3566
|
info_dirty = False
|
3553
3567
|
vfo = the_dict.get("vfoa", "")
|
@@ -3645,7 +3659,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3645
3659
|
-------
|
3646
3660
|
None
|
3647
3661
|
"""
|
3648
|
-
if self.radio_state.get("mode")
|
3662
|
+
if self.radio_state.get("mode") in ("CW", "CW-L", "CW-R", "CWR"):
|
3649
3663
|
macro_file = "cwmacros.txt"
|
3650
3664
|
elif self.radio_state.get("mode") in (
|
3651
3665
|
"RTTY",
|
@@ -3659,6 +3673,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3659
3673
|
"RTTYR",
|
3660
3674
|
"PKTLSB",
|
3661
3675
|
"PKTUSB",
|
3676
|
+
"FSK",
|
3662
3677
|
):
|
3663
3678
|
macro_file = "rttymacros.txt"
|
3664
3679
|
else:
|
@@ -3687,7 +3702,11 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3687
3702
|
temp directory this is running from... In theory.
|
3688
3703
|
"""
|
3689
3704
|
|
3690
|
-
if self.radio_state.get("mode")
|
3705
|
+
if self.radio_state.get("mode") in (
|
3706
|
+
"CW",
|
3707
|
+
"CW-L",
|
3708
|
+
"CW-R",
|
3709
|
+
):
|
3691
3710
|
macro_file = "cwmacros.txt"
|
3692
3711
|
elif self.radio_state.get("mode") in (
|
3693
3712
|
"RTTY",
|
@@ -97,6 +97,7 @@ class CAT:
|
|
97
97
|
self.__initialize_rigctrld()
|
98
98
|
elif self.interface == "fake":
|
99
99
|
self.online = True
|
100
|
+
logger.debug("Using Fake Rig")
|
100
101
|
return
|
101
102
|
|
102
103
|
def __initialize_rigctrld(self):
|
@@ -223,7 +224,9 @@ class CAT:
|
|
223
224
|
"""Poll the radio using flrig"""
|
224
225
|
try:
|
225
226
|
self.online = True
|
226
|
-
|
227
|
+
vfo_value = self.server.rig.get_vfo()
|
228
|
+
logger.debug(f"{vfo_value=}")
|
229
|
+
return vfo_value
|
227
230
|
except (
|
228
231
|
ConnectionRefusedError,
|
229
232
|
xmlrpc.client.Fault,
|
@@ -232,7 +235,7 @@ class CAT:
|
|
232
235
|
http.client.ResponseNotReady,
|
233
236
|
) as exception:
|
234
237
|
self.online = False
|
235
|
-
logger.debug(
|
238
|
+
logger.debug(f"{exception=}")
|
236
239
|
return ""
|
237
240
|
|
238
241
|
def __getvfo_rigctld(self) -> str:
|
@@ -244,7 +247,7 @@ class CAT:
|
|
244
247
|
return self.__get_serial_string().strip()
|
245
248
|
except socket.error as exception:
|
246
249
|
self.online = False
|
247
|
-
logger.debug(
|
250
|
+
logger.debug(f"{exception=}")
|
248
251
|
self.rigctrlsocket = None
|
249
252
|
return ""
|
250
253
|
|
@@ -268,7 +271,9 @@ class CAT:
|
|
268
271
|
# 7300 ['LSB', 'USB', 'AM', 'FM', 'CW', 'CW-R', 'RTTY', 'RTTY-R', 'LSB-D', 'USB-D', 'AM-D', 'FM-D']
|
269
272
|
try:
|
270
273
|
self.online = True
|
271
|
-
|
274
|
+
mode_value = self.server.rig.get_mode()
|
275
|
+
logger.debug(f"{mode_value=}")
|
276
|
+
return mode_value
|
272
277
|
except (
|
273
278
|
ConnectionRefusedError,
|
274
279
|
xmlrpc.client.Fault,
|
@@ -282,7 +287,7 @@ class CAT:
|
|
282
287
|
|
283
288
|
def __getmode_rigctld(self) -> str:
|
284
289
|
"""Returns mode vai rigctld"""
|
285
|
-
# QMX '
|
290
|
+
# QMX 'DIGI-U DIGI-L CW-U CW-L' or 'LSB', 'USB', 'CW', 'FM', 'AM', 'FSK'
|
286
291
|
# 7300 'AM CW USB LSB RTTY FM CWR RTTYR PKTLSB PKTUSB FM-D AM-D'
|
287
292
|
if self.rigctrlsocket:
|
288
293
|
try:
|
@@ -316,6 +321,7 @@ class CAT:
|
|
316
321
|
try:
|
317
322
|
self.online = True
|
318
323
|
bandwidth = self.server.rig.get_bw()
|
324
|
+
logger.debug(f"{bandwidth=}")
|
319
325
|
return bandwidth[0]
|
320
326
|
except (
|
321
327
|
ConnectionRefusedError,
|
@@ -438,7 +444,9 @@ class CAT:
|
|
438
444
|
"""Returns list of modes supported by the radio"""
|
439
445
|
try:
|
440
446
|
self.online = True
|
441
|
-
|
447
|
+
mode_list = self.server.rig.get_modes()
|
448
|
+
logger.debug(f"{mode_list=}")
|
449
|
+
return mode_list
|
442
450
|
except (
|
443
451
|
ConnectionRefusedError,
|
444
452
|
xmlrpc.client.Fault,
|
@@ -529,7 +537,10 @@ class CAT:
|
|
529
537
|
"""Sets the radios mode"""
|
530
538
|
try:
|
531
539
|
self.online = True
|
532
|
-
|
540
|
+
logger.debug(f"{mode=}")
|
541
|
+
set_mode_result = self.server.rig.set_mode(mode)
|
542
|
+
logger.debug(f"self.server.rig.setmode(mode) = {set_mode_result}")
|
543
|
+
return set_mode_result
|
533
544
|
except (
|
534
545
|
ConnectionRefusedError,
|
535
546
|
xmlrpc.client.Fault,
|
@@ -538,7 +549,7 @@ class CAT:
|
|
538
549
|
http.client.ResponseNotReady,
|
539
550
|
) as exception:
|
540
551
|
self.online = False
|
541
|
-
logger.debug(
|
552
|
+
logger.debug(f"{exception=}")
|
542
553
|
return False
|
543
554
|
|
544
555
|
def __setmode_rigctld(self, mode: str) -> bool:
|
@@ -137,7 +137,6 @@ def prefill(self):
|
|
137
137
|
def check_call_history(self):
|
138
138
|
""""""
|
139
139
|
result = self.database.fetch_call_history(self.callsign.text())
|
140
|
-
print(f"{result=}")
|
141
140
|
if result:
|
142
141
|
self.history_info.setText(f"{result.get('UserText','')}")
|
143
142
|
if self.other_2.text() == "":
|
@@ -535,3 +535,12 @@ def ft8_handler(the_packet: dict):
|
|
535
535
|
ALTEREGO.other_1.setText(my_grid)
|
536
536
|
ALTEREGO.other_2.setText(their_grid)
|
537
537
|
ALTEREGO.save_contact()
|
538
|
+
|
539
|
+
|
540
|
+
def check_call_history(self):
|
541
|
+
""""""
|
542
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
543
|
+
if result:
|
544
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
545
|
+
if self.other_2.text() == "":
|
546
|
+
self.other_2.setText(f"{result.get('Loc1', '')}")
|
@@ -503,3 +503,12 @@ def ft8_handler(the_packet: dict):
|
|
503
503
|
ALTEREGO.other_1.setText(my_grid)
|
504
504
|
ALTEREGO.other_2.setText(their_grid)
|
505
505
|
ALTEREGO.save_contact()
|
506
|
+
|
507
|
+
|
508
|
+
def check_call_history(self):
|
509
|
+
""""""
|
510
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
511
|
+
if result:
|
512
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
513
|
+
if self.other_2.text() == "":
|
514
|
+
self.other_2.setText(f"{result.get('Loc1', '')}")
|
@@ -503,3 +503,12 @@ def ft8_handler(the_packet: dict):
|
|
503
503
|
ALTEREGO.other_1.setText(my_grid)
|
504
504
|
ALTEREGO.other_2.setText(their_grid)
|
505
505
|
ALTEREGO.save_contact()
|
506
|
+
|
507
|
+
|
508
|
+
def check_call_history(self):
|
509
|
+
""""""
|
510
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
511
|
+
if result:
|
512
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
513
|
+
if self.other_2.text() == "":
|
514
|
+
self.other_2.setText(f"{result.get('Loc1', '')}")
|
@@ -448,3 +448,14 @@ def recalculate_mults(self):
|
|
448
448
|
contact["IsMultiplier1"] = 0
|
449
449
|
self.database.change_contact(contact)
|
450
450
|
trigger_update(self)
|
451
|
+
|
452
|
+
|
453
|
+
def check_call_history(self):
|
454
|
+
""""""
|
455
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
456
|
+
if result:
|
457
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
458
|
+
# if self.other_1.text() == "":
|
459
|
+
# self.other_1.setText(f"{result.get('CQZone', '')}")
|
460
|
+
# if self.other_2.text() == "":
|
461
|
+
# self.other_2.setText(f"{result.get('State', '')}")
|
@@ -448,3 +448,14 @@ def recalculate_mults(self):
|
|
448
448
|
contact["IsMultiplier1"] = 0
|
449
449
|
self.database.change_contact(contact)
|
450
450
|
trigger_update(self)
|
451
|
+
|
452
|
+
|
453
|
+
def check_call_history(self):
|
454
|
+
""""""
|
455
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
456
|
+
if result:
|
457
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
458
|
+
# if self.other_1.text() == "":
|
459
|
+
# self.other_1.setText(f"{result.get('CQZone', '')}")
|
460
|
+
# if self.other_2.text() == "":
|
461
|
+
# self.other_2.setText(f"{result.get('State', '')}")
|
@@ -518,3 +518,12 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
518
518
|
self.save_contact()
|
519
519
|
continue
|
520
520
|
self.process_function_key(button)
|
521
|
+
|
522
|
+
|
523
|
+
def check_call_history(self):
|
524
|
+
""""""
|
525
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
526
|
+
if result:
|
527
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
528
|
+
if self.other_2.text() == "":
|
529
|
+
self.other_2.setText(f"{result.get('CQZone', '')}")
|
@@ -637,3 +637,14 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
637
637
|
continue
|
638
638
|
sendstring = f"{sendstring}{self.process_macro(button.toolTip())} "
|
639
639
|
self.fldigi_util.send_string(sendstring)
|
640
|
+
|
641
|
+
|
642
|
+
def check_call_history(self):
|
643
|
+
""""""
|
644
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
645
|
+
if result:
|
646
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
647
|
+
if self.other_1.text() == "":
|
648
|
+
self.other_1.setText(f"{result.get('CQZone', '')}")
|
649
|
+
if self.other_2.text() == "":
|
650
|
+
self.other_2.setText(f"{result.get('State', '')}")
|
@@ -506,3 +506,12 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
506
506
|
self.save_contact()
|
507
507
|
continue
|
508
508
|
self.process_function_key(button)
|
509
|
+
|
510
|
+
|
511
|
+
def check_call_history(self):
|
512
|
+
""""""
|
513
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
514
|
+
if result:
|
515
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
516
|
+
if self.other_2.text() == "":
|
517
|
+
self.other_2.setText(f"{result.get('CQZone', '')}")
|
@@ -496,7 +496,6 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
496
496
|
def check_call_history(self):
|
497
497
|
""""""
|
498
498
|
result = self.database.fetch_call_history(self.callsign.text())
|
499
|
-
print(f"{result=}")
|
500
499
|
if result:
|
501
500
|
self.history_info.setText(f"{result.get('UserText','')}")
|
502
501
|
if self.other_1.text() == "":
|
@@ -546,7 +546,6 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
546
546
|
def check_call_history(self):
|
547
547
|
""""""
|
548
548
|
result = self.database.fetch_call_history(self.callsign.text())
|
549
|
-
print(f"{result=}")
|
550
549
|
if result:
|
551
550
|
self.history_info.setText(f"{result.get('UserText','')}")
|
552
551
|
if self.other_1.text() == "":
|
@@ -653,7 +653,6 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
653
653
|
def check_call_history(self):
|
654
654
|
""""""
|
655
655
|
result = self.database.fetch_call_history(self.callsign.text())
|
656
|
-
print(f"{result=}")
|
657
656
|
if result:
|
658
657
|
self.history_info.setText(f"{result.get('UserText','')}")
|
659
658
|
if self.other_1.text() == "":
|
@@ -516,7 +516,6 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
516
516
|
def check_call_history(self):
|
517
517
|
""""""
|
518
518
|
result = self.database.fetch_call_history(self.callsign.text())
|
519
|
-
print(f"{result=}")
|
520
519
|
if result:
|
521
520
|
self.history_info.setText(f"{result.get('UserText','')}")
|
522
521
|
if self.other_1.text() == "":
|
@@ -494,7 +494,6 @@ def recalculate_mults(self):
|
|
494
494
|
def check_call_history(self):
|
495
495
|
""""""
|
496
496
|
result = self.database.fetch_call_history(self.callsign.text())
|
497
|
-
print(f"{result=}")
|
498
497
|
if result:
|
499
498
|
self.history_info.setText(f"{result.get('UserText','')}")
|
500
499
|
if self.other_2.text() == "":
|
@@ -364,3 +364,12 @@ def cabrillo(self, file_encoding):
|
|
364
364
|
|
365
365
|
def recalculate_mults(self):
|
366
366
|
"""Recalculates multipliers after change in logged qso."""
|
367
|
+
|
368
|
+
|
369
|
+
def check_call_history(self):
|
370
|
+
""""""
|
371
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
372
|
+
if result:
|
373
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
374
|
+
if self.other_1.text() == "":
|
375
|
+
self.other_1.setText(f"{result.get('Loc1', '')}")
|
@@ -572,3 +572,14 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
572
572
|
continue
|
573
573
|
sendstring = f"{sendstring}{self.process_macro(button.toolTip())} "
|
574
574
|
self.fldigi_util.send_string(sendstring)
|
575
|
+
|
576
|
+
|
577
|
+
def check_call_history(self):
|
578
|
+
""""""
|
579
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
580
|
+
if result:
|
581
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
582
|
+
if self.other_1.text() == "":
|
583
|
+
self.other_1.setText(f"{result.get('Name', '')}")
|
584
|
+
if self.other_2.text() == "":
|
585
|
+
self.other_2.setText(f"{result.get('Sect', '')}")
|
@@ -444,7 +444,6 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
|
|
444
444
|
def check_call_history(self):
|
445
445
|
""""""
|
446
446
|
result = self.database.fetch_call_history(self.callsign.text())
|
447
|
-
print(f"{result=}")
|
448
447
|
if result:
|
449
448
|
self.history_info.setText(f"{result.get('UserText','')}")
|
450
449
|
if self.other_1.text() == "":
|
@@ -35,7 +35,16 @@ class Radio(QObject):
|
|
35
35
|
host = None
|
36
36
|
port = None
|
37
37
|
modes = ""
|
38
|
+
cw_list = ["CW", "CW-L", "CW-U", "CWR"]
|
39
|
+
rtty_list = [
|
40
|
+
"RTTY",
|
41
|
+
"DIGI-L",
|
42
|
+
"PKTLSB",
|
43
|
+
"LSB-D",
|
44
|
+
]
|
38
45
|
last_data_mode = "RTTY"
|
46
|
+
last_cw_mode = "CW"
|
47
|
+
last_ph_mode = "SSB"
|
39
48
|
|
40
49
|
def __init__(self, interface: str, host: str, port: int) -> None:
|
41
50
|
super().__init__()
|
@@ -49,6 +58,15 @@ class Radio(QObject):
|
|
49
58
|
self.cat = CAT(self.interface, self.host, self.port)
|
50
59
|
self.online = self.cat.online
|
51
60
|
self.modes = self.cat.get_mode_list()
|
61
|
+
for pos_cw in self.cw_list:
|
62
|
+
if pos_cw in self.modes:
|
63
|
+
self.last_cw_mode = pos_cw
|
64
|
+
break
|
65
|
+
for pos_rtty in self.rtty_list:
|
66
|
+
if pos_rtty in self.modes:
|
67
|
+
self.last_data_mode = pos_rtty
|
68
|
+
break
|
69
|
+
|
52
70
|
except ConnectionResetError:
|
53
71
|
...
|
54
72
|
while not self.time_to_quit:
|
@@ -97,6 +115,7 @@ class Radio(QObject):
|
|
97
115
|
"USB-D",
|
98
116
|
"AM-D",
|
99
117
|
"FM-D",
|
118
|
+
"FSK",
|
100
119
|
"DIGI-U",
|
101
120
|
"DIGI-L",
|
102
121
|
"RTTYR",
|
@@ -106,6 +125,11 @@ class Radio(QObject):
|
|
106
125
|
if the_mode in datamodes:
|
107
126
|
self.last_data_mode = the_mode
|
108
127
|
|
128
|
+
cwmodes = ["CW", "CW-L", "CW-U", "CWR"]
|
129
|
+
|
130
|
+
if the_mode in cwmodes:
|
131
|
+
self.last_cw_mode = the_mode
|
132
|
+
|
109
133
|
def sendcw(self, texttosend):
|
110
134
|
"""..."""
|
111
135
|
logger.debug(f"Send CW: {texttosend}")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.11.
|
3
|
+
Version: 24.11.10
|
4
4
|
Summary: NOT1MM Logger
|
5
5
|
Author-email: Michael Bridak <michael.bridak@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/mbridak/not1mm
|
@@ -236,6 +236,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
236
236
|
|
237
237
|
## Recent Changes (Polishing the Turd)
|
238
238
|
|
239
|
+
- [24-11-10] ReJiggered CAT/flrig interface to hopefull make it more workable.
|
240
|
+
- [24-11-6] Added Call history to ARRL VHF, CQ160, CQWW, StewPerry, Weekly RTTY
|
239
241
|
- [24-11-5] Fix crash with bad qrz credentials.
|
240
242
|
- [24-11-3-1] Fixed CWT ESM, Add Call History to CWT, Helvetia, WFD, NAQP, K1USN. Add ESM Helvetia.
|
241
243
|
- [24-11-3] Added RAEM contest
|
@@ -9,7 +9,6 @@ not1mm/fsutils.py
|
|
9
9
|
not1mm/logwindow.py
|
10
10
|
not1mm/lookupservice.py
|
11
11
|
not1mm/radio.py
|
12
|
-
not1mm/test.py
|
13
12
|
not1mm/vfo.py
|
14
13
|
not1mm/voice_keying.py
|
15
14
|
not1mm.egg-info/PKG-INFO
|
@@ -119,7 +118,6 @@ not1mm/lib/lookup.py
|
|
119
118
|
not1mm/lib/multicast.py
|
120
119
|
not1mm/lib/n1mm.py
|
121
120
|
not1mm/lib/new_contest.py
|
122
|
-
not1mm/lib/playsound.py
|
123
121
|
not1mm/lib/plugin_common.py
|
124
122
|
not1mm/lib/select_contest.py
|
125
123
|
not1mm/lib/settings.py
|
@@ -169,5 +167,4 @@ not1mm/plugins/ref_cw.py
|
|
169
167
|
not1mm/plugins/ref_ssb.py
|
170
168
|
not1mm/plugins/stew_perry_topband.py
|
171
169
|
not1mm/plugins/weekly_rtty.py
|
172
|
-
not1mm/plugins/winter_field_day.py
|
173
|
-
test/contests.py
|
170
|
+
not1mm/plugins/winter_field_day.py
|