not1mm 24.11.19__tar.gz → 24.11.21__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.19 → not1mm-24.11.21}/PKG-INFO +3 -3
- {not1mm-24.11.19 → not1mm-24.11.21}/README.md +2 -2
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/__main__.py +2 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/donors.html +1 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/cat_interface.py +16 -1
- not1mm-24.11.21/not1mm/lib/version.py +3 -0
- not1mm-24.11.21/not1mm/plugins/general_logging.py +241 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm.egg-info/PKG-INFO +3 -3
- {not1mm-24.11.19 → not1mm-24.11.21}/pyproject.toml +1 -1
- not1mm-24.11.19/not1mm/lib/version.py +0 -3
- not1mm-24.11.19/not1mm/plugins/general_logging.py +0 -128
- {not1mm-24.11.19 → not1mm-24.11.21}/LICENSE +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/__init__.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/bandmap.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/checkwindow.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/about.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/bandmap.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/check.png +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/checkwindow.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/configuration.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/contests.sql +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/cty.json +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/editcontact.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/editmacro.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/greendot.png +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/logwindow.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/logwindowx.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/main.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/new_contest.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/not1mm.html +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/opon.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/cq2.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/radio_green.png +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/radio_grey.png +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/radio_red.png +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/reddot.png +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/rttymacros.txt +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/settings.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/splash.png +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/data/vfo.ui +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/fsutils.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/__init__.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/about.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/database.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/edit_station.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/fldigi_sendstring.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/fldigi_watcher.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/ft8_watcher.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/lookup.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/multicast.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/n1mm.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/new_contest.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/plugin_common.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/select_contest.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/settings.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/super_check_partial.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lib/versiontest.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/logwindow.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/lookupservice.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/10_10_fall_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/10_10_spring_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/10_10_summer_phone.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/10_10_winter_phone.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/__init__.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/arrl_10m.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/arrl_ss_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/arrl_vhf_jan.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/arrl_vhf_jun.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/arrl_vhf_sep.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/canada_day.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/cq_160_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/cq_160_ssb.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/cq_wpx_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/cq_wpx_rtty.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/cq_ww_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/cq_ww_rtty.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/cq_ww_ssb.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/cwt.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/darc_xmas.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/helvetia.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/iaru_hf.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/icwc_mst.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/k1usn_sst.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/lz-dx.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/naqp_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/naqp_rtty.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/naqp_ssb.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/phone_weekly_test.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/raem.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/ref_cw.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/ref_ssb.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/stew_perry_topband.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/weekly_rtty.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/plugins/winter_field_day.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/radio.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/test.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/vfo.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm/voice_keying.py +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm.egg-info/SOURCES.txt +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/not1mm.egg-info/top_level.txt +0 -0
- {not1mm-24.11.19 → not1mm-24.11.21}/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.21
|
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
|
@@ -205,7 +205,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
205
205
|
|
206
206
|
## List of should be working contests, those in bold have ESM
|
207
207
|
|
208
|
-
- General Logging (There are better general loggers like QLog, KLog, CQRLog)
|
208
|
+
- **General Logging** (There are better general loggers like QLog, KLog, CQRLog)
|
209
209
|
- 10 10 Fall CW
|
210
210
|
- 10 10 Spring CW
|
211
211
|
- 10 10 Summer Phone
|
@@ -238,6 +238,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
238
238
|
|
239
239
|
## Recent Changes (Polishing the Turd)
|
240
240
|
|
241
|
+
- [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
|
241
242
|
- [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
|
242
243
|
- [24-11-18] Accepted PR from dg9vh for the DARC XMAS Contest.
|
243
244
|
- [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
|
@@ -953,7 +954,6 @@ So if one were to go to `FILE -> LOAD CALL HISTORY FILE` and choose a downloaded
|
|
953
954
|
|
954
955
|
Where the Name and State would auto-populate and the UserText info apprears in the bottom left.
|
955
956
|
|
956
|
-
|
957
957
|
## Contest specific notes
|
958
958
|
|
959
959
|
I found it might be beneficial to have a section devoted to wierd quirky things
|
@@ -174,7 +174,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
174
174
|
|
175
175
|
## List of should be working contests, those in bold have ESM
|
176
176
|
|
177
|
-
- General Logging (There are better general loggers like QLog, KLog, CQRLog)
|
177
|
+
- **General Logging** (There are better general loggers like QLog, KLog, CQRLog)
|
178
178
|
- 10 10 Fall CW
|
179
179
|
- 10 10 Spring CW
|
180
180
|
- 10 10 Summer Phone
|
@@ -207,6 +207,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
207
207
|
|
208
208
|
## Recent Changes (Polishing the Turd)
|
209
209
|
|
210
|
+
- [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
|
210
211
|
- [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
|
211
212
|
- [24-11-18] Accepted PR from dg9vh for the DARC XMAS Contest.
|
212
213
|
- [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
|
@@ -922,7 +923,6 @@ So if one were to go to `FILE -> LOAD CALL HISTORY FILE` and choose a downloaded
|
|
922
923
|
|
923
924
|
Where the Name and State would auto-populate and the UserText info apprears in the bottom left.
|
924
925
|
|
925
|
-
|
926
926
|
## Contest specific notes
|
927
927
|
|
928
928
|
I found it might be beneficial to have a section devoted to wierd quirky things
|
@@ -1971,6 +1971,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1971
1971
|
if self.pref.get("cwtype") == 3 and self.rig_control is not None:
|
1972
1972
|
if self.rig_control.interface == "flrig":
|
1973
1973
|
self.rig_control.cat.set_flrig_cw_speed(self.cw_speed.value())
|
1974
|
+
elif self.rig_control.interface == "rigctld":
|
1975
|
+
self.rig_control.cat.set_rigctl_cw_speed(self.cw_speed.value())
|
1974
1976
|
|
1975
1977
|
def stop_cw(self):
|
1976
1978
|
""""""
|
@@ -9,7 +9,7 @@ rig.cwio_send n:i cwio transmit 1/0 (on/off)
|
|
9
9
|
command lines to test the CW API via XMLRPC
|
10
10
|
|
11
11
|
Setting WPM
|
12
|
-
curl -d "<?xml version='1.0'?><methodCall><methodName>rig.cwio_set_wpm</methodName><params><param><value><i4>28</i4></value></param></params></methodCall>" http://localhost:12345
|
12
|
+
curl -d "<?xml version='1.0'?><methodCall><methodName>rig.cwio_set_wpm</methodName><params><param><value><i4>28</i4></value></param></params></methodCall>" http://localhost:12345
|
13
13
|
|
14
14
|
Setting the text to send
|
15
15
|
curl -d "<?xml version='1.0'?><methodCall><methodName>rig.cwio_text</methodName><params><param><value><string>test test test</string></value></param></params></methodCall>" http://localhost:12345
|
@@ -178,6 +178,21 @@ class CAT:
|
|
178
178
|
self.__initialize_rigctrld()
|
179
179
|
return False
|
180
180
|
|
181
|
+
def set_rigctl_cw_speed(self, speed):
|
182
|
+
"""Set CW speed via rigctld"""
|
183
|
+
if self.rigctrlsocket:
|
184
|
+
try:
|
185
|
+
self.online = True
|
186
|
+
self.rigctrlsocket.send(bytes(f"L KEYSPD {speed}\n", "utf-8"))
|
187
|
+
_ = self.__get_serial_string()
|
188
|
+
return
|
189
|
+
except socket.error as exception:
|
190
|
+
self.online = False
|
191
|
+
logger.debug("set_level_rigctld: %s", f"{exception}")
|
192
|
+
self.rigctrlsocket = None
|
193
|
+
return
|
194
|
+
self.__initialize_rigctrld()
|
195
|
+
|
181
196
|
def sendcwxmlrpc(self, texttosend):
|
182
197
|
"""Add text to flrig's cw send buffer."""
|
183
198
|
logger.debug(f"{texttosend=}")
|
@@ -0,0 +1,241 @@
|
|
1
|
+
"""General Logging plugin"""
|
2
|
+
|
3
|
+
# pylint: disable=invalid-name, unused-argument, unused-variable, c-extension-no-member, unused-import
|
4
|
+
|
5
|
+
import logging
|
6
|
+
|
7
|
+
from PyQt6 import QtWidgets
|
8
|
+
|
9
|
+
from not1mm.lib.plugin_common import gen_adif, get_points
|
10
|
+
from not1mm.lib.version import __version__
|
11
|
+
|
12
|
+
logger = logging.getLogger(__name__)
|
13
|
+
EXCHANGE_HINT = ""
|
14
|
+
name = "General Logging"
|
15
|
+
cabrillo_name = "General-Logging"
|
16
|
+
mode = "BOTH" # CW SSB BOTH RTTY
|
17
|
+
columns = [0, 1, 2, 3, 4, 16, 17]
|
18
|
+
columns = [
|
19
|
+
"YYYY-MM-DD HH:MM:SS",
|
20
|
+
"Call",
|
21
|
+
"Freq",
|
22
|
+
"Mode",
|
23
|
+
"Snt",
|
24
|
+
"Rcv",
|
25
|
+
"Name",
|
26
|
+
"Comment",
|
27
|
+
]
|
28
|
+
|
29
|
+
# 1 once per contest, 2 work each band, 3 each band/mode, 4 no dupe checking
|
30
|
+
dupe_type = 4
|
31
|
+
|
32
|
+
|
33
|
+
def init_contest(self):
|
34
|
+
"""setup plugin"""
|
35
|
+
set_tab_next(self)
|
36
|
+
set_tab_prev(self)
|
37
|
+
interface(self)
|
38
|
+
self.next_field = self.other_1
|
39
|
+
|
40
|
+
|
41
|
+
def interface(self):
|
42
|
+
"""Setup user interface"""
|
43
|
+
self.field1.show()
|
44
|
+
self.field2.show()
|
45
|
+
self.field3.show()
|
46
|
+
self.field4.show()
|
47
|
+
self.snt_label.setText("SNT")
|
48
|
+
self.field1.setAccessibleName("RST Sent")
|
49
|
+
self.other_label.setText("Name")
|
50
|
+
self.field3.setAccessibleName("Name")
|
51
|
+
self.exch_label.setText("Comment")
|
52
|
+
self.field4.setAccessibleName("Comment")
|
53
|
+
|
54
|
+
|
55
|
+
def reset_label(self):
|
56
|
+
"""reset label after field cleared"""
|
57
|
+
|
58
|
+
|
59
|
+
def set_tab_next(self):
|
60
|
+
"""Set TAB Advances"""
|
61
|
+
self.tab_next = {
|
62
|
+
self.callsign: self.sent,
|
63
|
+
self.sent: self.receive,
|
64
|
+
self.receive: self.other_1,
|
65
|
+
self.other_1: self.other_2,
|
66
|
+
self.other_2: self.callsign,
|
67
|
+
}
|
68
|
+
|
69
|
+
|
70
|
+
def set_tab_prev(self):
|
71
|
+
"""Set TAB Advances"""
|
72
|
+
self.tab_prev = {
|
73
|
+
self.callsign: self.other_2,
|
74
|
+
self.sent: self.callsign,
|
75
|
+
self.receive: self.sent,
|
76
|
+
self.other_1: self.receive,
|
77
|
+
self.other_2: self.other_1,
|
78
|
+
}
|
79
|
+
|
80
|
+
|
81
|
+
def set_contact_vars(self):
|
82
|
+
"""Contest Specific"""
|
83
|
+
self.contact["SNT"] = self.sent.text()
|
84
|
+
self.contact["RCV"] = self.receive.text()
|
85
|
+
self.contact["Name"] = self.other_1.text()
|
86
|
+
self.contact["Comment"] = self.other_2.text()
|
87
|
+
|
88
|
+
|
89
|
+
def predupe(self):
|
90
|
+
"""called after callsign entered"""
|
91
|
+
|
92
|
+
|
93
|
+
def prefill(self):
|
94
|
+
"""Fill SentNR"""
|
95
|
+
|
96
|
+
|
97
|
+
def points(self):
|
98
|
+
"""Calc point"""
|
99
|
+
|
100
|
+
|
101
|
+
def show_mults(self):
|
102
|
+
"""Return display string for mults"""
|
103
|
+
|
104
|
+
|
105
|
+
def show_qso(self):
|
106
|
+
"""Return qso count"""
|
107
|
+
result = self.database.fetch_qso_count()
|
108
|
+
if result:
|
109
|
+
return int(result.get("qsos", 0))
|
110
|
+
return 0
|
111
|
+
|
112
|
+
|
113
|
+
def calc_score(self):
|
114
|
+
"""Return calculated score"""
|
115
|
+
result = self.database.fetch_points()
|
116
|
+
|
117
|
+
|
118
|
+
def adif(self):
|
119
|
+
"""Call the generate ADIF function"""
|
120
|
+
gen_adif(self, cabrillo_name)
|
121
|
+
|
122
|
+
|
123
|
+
def cabrillo(self, file_encoding):
|
124
|
+
"""Generates Cabrillo file. Maybe."""
|
125
|
+
|
126
|
+
|
127
|
+
def recalculate_mults(self):
|
128
|
+
"""Recalculates multipliers after change in logged qso."""
|
129
|
+
|
130
|
+
|
131
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
132
|
+
"""ESM State Machine"""
|
133
|
+
|
134
|
+
# self.pref["run_state"]
|
135
|
+
|
136
|
+
# -----===== Assigned F-Keys =====-----
|
137
|
+
# self.esm_dict["CQ"]
|
138
|
+
# self.esm_dict["EXCH"]
|
139
|
+
# self.esm_dict["QRZ"]
|
140
|
+
# self.esm_dict["AGN"]
|
141
|
+
# self.esm_dict["HISCALL"]
|
142
|
+
# self.esm_dict["MYCALL"]
|
143
|
+
# self.esm_dict["QSOB4"]
|
144
|
+
|
145
|
+
# ----==== text fields ====----
|
146
|
+
# self.callsign
|
147
|
+
# self.sent
|
148
|
+
# self.receive
|
149
|
+
# self.other_1
|
150
|
+
# self.other_2
|
151
|
+
|
152
|
+
if new_focused_widget is not None:
|
153
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
154
|
+
|
155
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
156
|
+
|
157
|
+
for a_button in [
|
158
|
+
self.F1,
|
159
|
+
self.F2,
|
160
|
+
self.F3,
|
161
|
+
self.F4,
|
162
|
+
self.F5,
|
163
|
+
self.F6,
|
164
|
+
self.F7,
|
165
|
+
self.F8,
|
166
|
+
self.F9,
|
167
|
+
self.F10,
|
168
|
+
self.F11,
|
169
|
+
self.F12,
|
170
|
+
]:
|
171
|
+
self.restore_button_color(a_button)
|
172
|
+
|
173
|
+
buttons_to_send = []
|
174
|
+
|
175
|
+
if self.pref.get("run_state"):
|
176
|
+
if self.current_widget == "callsign":
|
177
|
+
if len(self.callsign.text()) < 3:
|
178
|
+
self.make_button_green(self.esm_dict["CQ"])
|
179
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
180
|
+
elif len(self.callsign.text()) > 2:
|
181
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
182
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
183
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
184
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
185
|
+
|
186
|
+
elif self.current_widget in ["other_1", "other_2"]:
|
187
|
+
if self.other_2.text() == "" and self.other_1.text() == "":
|
188
|
+
self.make_button_green(self.esm_dict["AGN"])
|
189
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
190
|
+
else:
|
191
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
192
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
193
|
+
buttons_to_send.append("LOGIT")
|
194
|
+
|
195
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
196
|
+
for button in buttons_to_send:
|
197
|
+
if button:
|
198
|
+
if button == "LOGIT":
|
199
|
+
self.save_contact()
|
200
|
+
continue
|
201
|
+
self.process_function_key(button)
|
202
|
+
else:
|
203
|
+
if self.current_widget == "callsign":
|
204
|
+
if len(self.callsign.text()) > 2:
|
205
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
206
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
207
|
+
|
208
|
+
elif self.current_widget in ["other_1", "other_2"]:
|
209
|
+
if self.other_2.text() == "" and self.other_1.text() == "":
|
210
|
+
self.make_button_green(self.esm_dict["AGN"])
|
211
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
212
|
+
else:
|
213
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
214
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
215
|
+
buttons_to_send.append("LOGIT")
|
216
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
217
|
+
for button in buttons_to_send:
|
218
|
+
if button:
|
219
|
+
if button == "LOGIT":
|
220
|
+
self.save_contact()
|
221
|
+
continue
|
222
|
+
self.process_function_key(button)
|
223
|
+
|
224
|
+
|
225
|
+
def populate_history_info_line(self):
|
226
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
227
|
+
if result:
|
228
|
+
self.history_info.setText(
|
229
|
+
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('UserText','...')}"
|
230
|
+
)
|
231
|
+
else:
|
232
|
+
self.history_info.setText("")
|
233
|
+
|
234
|
+
|
235
|
+
def check_call_history(self):
|
236
|
+
""""""
|
237
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
238
|
+
if result:
|
239
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
240
|
+
if self.other_1.text() == "":
|
241
|
+
self.other_1.setText(f"{result.get('Name', '')}")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.11.
|
3
|
+
Version: 24.11.21
|
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
|
@@ -205,7 +205,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
205
205
|
|
206
206
|
## List of should be working contests, those in bold have ESM
|
207
207
|
|
208
|
-
- General Logging (There are better general loggers like QLog, KLog, CQRLog)
|
208
|
+
- **General Logging** (There are better general loggers like QLog, KLog, CQRLog)
|
209
209
|
- 10 10 Fall CW
|
210
210
|
- 10 10 Spring CW
|
211
211
|
- 10 10 Summer Phone
|
@@ -238,6 +238,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
238
238
|
|
239
239
|
## Recent Changes (Polishing the Turd)
|
240
240
|
|
241
|
+
- [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
|
241
242
|
- [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
|
242
243
|
- [24-11-18] Accepted PR from dg9vh for the DARC XMAS Contest.
|
243
244
|
- [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
|
@@ -953,7 +954,6 @@ So if one were to go to `FILE -> LOAD CALL HISTORY FILE` and choose a downloaded
|
|
953
954
|
|
954
955
|
Where the Name and State would auto-populate and the UserText info apprears in the bottom left.
|
955
956
|
|
956
|
-
|
957
957
|
## Contest specific notes
|
958
958
|
|
959
959
|
I found it might be beneficial to have a section devoted to wierd quirky things
|
@@ -1,128 +0,0 @@
|
|
1
|
-
"""General Logging plugin"""
|
2
|
-
|
3
|
-
# pylint: disable=invalid-name, unused-argument, unused-variable, c-extension-no-member, unused-import
|
4
|
-
|
5
|
-
import logging
|
6
|
-
|
7
|
-
from PyQt6 import QtWidgets
|
8
|
-
|
9
|
-
from not1mm.lib.plugin_common import gen_adif, get_points
|
10
|
-
from not1mm.lib.version import __version__
|
11
|
-
|
12
|
-
logger = logging.getLogger(__name__)
|
13
|
-
EXCHANGE_HINT = ""
|
14
|
-
name = "General Logging"
|
15
|
-
cabrillo_name = "General-Logging"
|
16
|
-
mode = "BOTH" # CW SSB BOTH RTTY
|
17
|
-
columns = [0, 1, 2, 3, 4, 16, 17]
|
18
|
-
columns = [
|
19
|
-
"YYYY-MM-DD HH:MM:SS",
|
20
|
-
"Call",
|
21
|
-
"Freq",
|
22
|
-
"Mode",
|
23
|
-
"Snt",
|
24
|
-
"Rcv",
|
25
|
-
"Name",
|
26
|
-
"Comment",
|
27
|
-
]
|
28
|
-
|
29
|
-
# 1 once per contest, 2 work each band, 3 each band/mode, 4 no dupe checking
|
30
|
-
dupe_type = 4
|
31
|
-
|
32
|
-
|
33
|
-
def init_contest(self):
|
34
|
-
"""setup plugin"""
|
35
|
-
set_tab_next(self)
|
36
|
-
set_tab_prev(self)
|
37
|
-
interface(self)
|
38
|
-
self.next_field = self.other_1
|
39
|
-
|
40
|
-
|
41
|
-
def interface(self):
|
42
|
-
"""Setup user interface"""
|
43
|
-
self.field1.show()
|
44
|
-
self.field2.show()
|
45
|
-
self.field3.show()
|
46
|
-
self.field4.show()
|
47
|
-
self.snt_label.setText("SNT")
|
48
|
-
self.field1.setAccessibleName("RST Sent")
|
49
|
-
self.other_label.setText("Name")
|
50
|
-
self.field3.setAccessibleName("Name")
|
51
|
-
self.exch_label.setText("Comment")
|
52
|
-
self.field4.setAccessibleName("Comment")
|
53
|
-
|
54
|
-
|
55
|
-
def reset_label(self):
|
56
|
-
"""reset label after field cleared"""
|
57
|
-
|
58
|
-
|
59
|
-
def set_tab_next(self):
|
60
|
-
"""Set TAB Advances"""
|
61
|
-
self.tab_next = {
|
62
|
-
self.callsign: self.sent,
|
63
|
-
self.sent: self.receive,
|
64
|
-
self.receive: self.other_1,
|
65
|
-
self.other_1: self.other_2,
|
66
|
-
self.other_2: self.callsign,
|
67
|
-
}
|
68
|
-
|
69
|
-
|
70
|
-
def set_tab_prev(self):
|
71
|
-
"""Set TAB Advances"""
|
72
|
-
self.tab_prev = {
|
73
|
-
self.callsign: self.other_2,
|
74
|
-
self.sent: self.callsign,
|
75
|
-
self.receive: self.sent,
|
76
|
-
self.other_1: self.receive,
|
77
|
-
self.other_2: self.other_1,
|
78
|
-
}
|
79
|
-
|
80
|
-
|
81
|
-
def set_contact_vars(self):
|
82
|
-
"""Contest Specific"""
|
83
|
-
self.contact["SNT"] = self.sent.text()
|
84
|
-
self.contact["RCV"] = self.receive.text()
|
85
|
-
self.contact["Name"] = self.other_1.text()
|
86
|
-
self.contact["Comment"] = self.other_2.text()
|
87
|
-
|
88
|
-
|
89
|
-
def predupe(self):
|
90
|
-
"""called after callsign entered"""
|
91
|
-
|
92
|
-
|
93
|
-
def prefill(self):
|
94
|
-
"""Fill SentNR"""
|
95
|
-
|
96
|
-
|
97
|
-
def points(self):
|
98
|
-
"""Calc point"""
|
99
|
-
|
100
|
-
|
101
|
-
def show_mults(self):
|
102
|
-
"""Return display string for mults"""
|
103
|
-
|
104
|
-
|
105
|
-
def show_qso(self):
|
106
|
-
"""Return qso count"""
|
107
|
-
result = self.database.fetch_qso_count()
|
108
|
-
if result:
|
109
|
-
return int(result.get("qsos", 0))
|
110
|
-
return 0
|
111
|
-
|
112
|
-
|
113
|
-
def calc_score(self):
|
114
|
-
"""Return calculated score"""
|
115
|
-
result = self.database.fetch_points()
|
116
|
-
|
117
|
-
|
118
|
-
def adif(self):
|
119
|
-
"""Call the generate ADIF function"""
|
120
|
-
gen_adif(self, cabrillo_name)
|
121
|
-
|
122
|
-
|
123
|
-
def cabrillo(self, file_encoding):
|
124
|
-
"""Generates Cabrillo file. Maybe."""
|
125
|
-
|
126
|
-
|
127
|
-
def recalculate_mults(self):
|
128
|
-
"""Recalculates multipliers after change in logged qso."""
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|