not1mm 24.4.30__py3-none-any.whl → 24.5.9__py3-none-any.whl

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.
Files changed (45) hide show
  1. not1mm/__main__.py +40 -67
  2. not1mm/bandmap.py +3 -1
  3. not1mm/checkwindow.py +5 -1
  4. not1mm/data/new_contest.ui +5 -0
  5. not1mm/lib/playsound.py +296 -0
  6. not1mm/lib/version.py +1 -1
  7. not1mm/logwindow.py +5 -1
  8. not1mm/playsoundtest.py +15 -0
  9. not1mm/plugins/10_10_fall_cw.py +2 -0
  10. not1mm/plugins/10_10_spring_cw.py +2 -0
  11. not1mm/plugins/10_10_summer_phone.py +2 -0
  12. not1mm/plugins/10_10_winter_phone.py +2 -0
  13. not1mm/plugins/arrl_10m.py +2 -0
  14. not1mm/plugins/arrl_dx_cw.py +2 -0
  15. not1mm/plugins/arrl_dx_ssb.py +2 -0
  16. not1mm/plugins/arrl_ss_cw.py +2 -0
  17. not1mm/plugins/arrl_ss_phone.py +2 -0
  18. not1mm/plugins/arrl_vhf_jan.py +2 -0
  19. not1mm/plugins/arrl_vhf_jun.py +2 -0
  20. not1mm/plugins/arrl_vhf_sep.py +2 -0
  21. not1mm/plugins/canada_day.py +2 -0
  22. not1mm/plugins/cq_160_cw.py +2 -0
  23. not1mm/plugins/cq_160_ssb.py +2 -0
  24. not1mm/plugins/cq_wpx_cw.py +39 -0
  25. not1mm/plugins/cq_wpx_ssb.py +2 -0
  26. not1mm/plugins/cq_ww_cw.py +2 -0
  27. not1mm/plugins/cq_ww_ssb.py +2 -0
  28. not1mm/plugins/cwt.py +26 -0
  29. not1mm/plugins/general_logging.py +2 -0
  30. not1mm/plugins/iaru_hf.py +2 -0
  31. not1mm/plugins/icwc_mst.py +372 -0
  32. not1mm/plugins/jidx_cw.py +31 -0
  33. not1mm/plugins/jidx_ph.py +2 -0
  34. not1mm/plugins/naqp_cw.py +32 -0
  35. not1mm/plugins/naqp_ssb.py +2 -0
  36. not1mm/plugins/stew_perry_topband.py +2 -0
  37. not1mm/radio.py +12 -9
  38. not1mm/vfo.py +5 -1
  39. not1mm/voice_keying.py +103 -0
  40. {not1mm-24.4.30.dist-info → not1mm-24.5.9.dist-info}/METADATA +9 -21
  41. {not1mm-24.4.30.dist-info → not1mm-24.5.9.dist-info}/RECORD +45 -41
  42. {not1mm-24.4.30.dist-info → not1mm-24.5.9.dist-info}/LICENSE +0 -0
  43. {not1mm-24.4.30.dist-info → not1mm-24.5.9.dist-info}/WHEEL +0 -0
  44. {not1mm-24.4.30.dist-info → not1mm-24.5.9.dist-info}/entry_points.txt +0 -0
  45. {not1mm-24.4.30.dist-info → not1mm-24.5.9.dist-info}/top_level.txt +0 -0
@@ -51,6 +51,8 @@ def interface(self):
51
51
  self.field2.hide()
52
52
  self.field3.show()
53
53
  self.field4.show()
54
+ self.snt_label.setText("SNT")
55
+ self.field1.setAccessibleName("RST Sent")
54
56
  namefield = self.field3.findChild(QtWidgets.QLabel)
55
57
  namefield.setText("Name")
56
58
  self.field3.setAccessibleName("Name")
@@ -74,6 +74,8 @@ def interface(self):
74
74
  self.field2.show()
75
75
  self.field3.show()
76
76
  self.field4.hide()
77
+ self.snt_label.setText("SNT")
78
+ self.field1.setAccessibleName("RST Sent")
77
79
  label = self.field3.findChild(QtWidgets.QLabel)
78
80
  label.setText("Grid")
79
81
  self.field3.setAccessibleName("Grid")
not1mm/radio.py CHANGED
@@ -12,7 +12,7 @@ GPL V3
12
12
  import datetime
13
13
  import logging
14
14
 
15
- from PyQt6.QtCore import QObject, pyqtSignal, QThread
15
+ from PyQt6.QtCore import QObject, pyqtSignal, QThread, QEventLoop
16
16
  from not1mm.lib.cat_interface import CAT
17
17
 
18
18
  logger = logging.getLogger("cat_interface")
@@ -65,14 +65,17 @@ class Radio(QObject):
65
65
  if bw:
66
66
  self.bw = bw
67
67
  self.online = True
68
- self.poll_callback.emit(
69
- {
70
- "vfoa": self.vfoa,
71
- "mode": self.mode,
72
- "bw": self.bw,
73
- "online": self.online,
74
- }
75
- )
68
+ try:
69
+ self.poll_callback.emit(
70
+ {
71
+ "vfoa": self.vfoa,
72
+ "mode": self.mode,
73
+ "bw": self.bw,
74
+ "online": self.online,
75
+ }
76
+ )
77
+ except QEventLoop:
78
+ ...
76
79
  QThread.msleep(100)
77
80
 
78
81
  def sendcw(self, texttosend):
not1mm/vfo.py CHANGED
@@ -1,6 +1,10 @@
1
1
  #!/usr/bin/env python3
2
2
  """
3
- VFO Window
3
+ not1mm Contest logger
4
+ Email: michael.bridak@gmail.com
5
+ GPL V3
6
+ Class: VfoWindow
7
+ Purpose: Provide onscreen widget that interacts with DIY VFO knob and remote rig.
4
8
  """
5
9
  # pylint: disable=no-name-in-module, unused-import, no-member, invalid-name, logging-fstring-interpolation, c-extension-no-member
6
10
 
not1mm/voice_keying.py ADDED
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/env python3
2
+
3
+ """
4
+ Not1MM Contest logger
5
+ Email: michael.bridak@gmail.com
6
+ GPL V3
7
+ Class: Voice
8
+ Purpose: A voice keying class to handle playing soundfiles and activating PTT
9
+ Run in it's own thread.
10
+ """
11
+
12
+ # pylint: disable=unused-import, c-extension-no-member, no-member, invalid-name, too-many-lines
13
+ # pylint: disable=logging-fstring-interpolation, line-too-long, no-name-in-module
14
+
15
+ import logging
16
+ from pathlib import Path
17
+
18
+ try:
19
+ import sounddevice as sd
20
+ except OSError as exception:
21
+ print(exception)
22
+ print("portaudio is not installed")
23
+ sd = None
24
+ import soundfile as sf
25
+
26
+ from PyQt6.QtCore import QObject, pyqtSignal, QThread
27
+
28
+ logger = logging.getLogger("cat_interface")
29
+
30
+
31
+ class Voice(QObject):
32
+ """Voice class"""
33
+
34
+ ptt_on = pyqtSignal()
35
+ ptt_off = pyqtSignal()
36
+ data_path = None
37
+ current_op = None
38
+ sounddevice = None
39
+ voicings = []
40
+
41
+ def __init__(self) -> None:
42
+ super().__init__()
43
+ """setup interface"""
44
+
45
+ def run(self):
46
+ while True:
47
+ keyed = False
48
+ while len(self.voicings):
49
+ if not keyed:
50
+ self.ptt_on.emit()
51
+ keyed = True
52
+ filename = self.voicings.pop(0)
53
+ if Path(filename).is_file():
54
+ logger.debug("Voicing: %s", filename)
55
+ data, _fs = sf.read(filename, dtype="float32")
56
+ # self.ptt_on.emit()
57
+ try:
58
+ sd.default.device = self.sounddevice
59
+ sd.default.samplerate = 44100.0
60
+ sd.play(data, blocking=True)
61
+ # _status = sd.wait()
62
+ # https://snyk.io/advisor/python/sounddevice/functions/sounddevice.PortAudioError
63
+ except sd.PortAudioError as err:
64
+ logger.warning("%s", f"{err}")
65
+ if keyed:
66
+ self.ptt_off.emit()
67
+ QThread.msleep(100)
68
+
69
+ def voice_string(self, the_string: str) -> None:
70
+ """
71
+ voices string using nato phonetics.
72
+
73
+ Parameters
74
+ ----------
75
+ the_string : str
76
+ String to voicify.
77
+
78
+ Returns
79
+ -------
80
+ None
81
+ """
82
+
83
+ logger.debug("Voicing: %s", the_string)
84
+ if sd is None:
85
+ logger.warning("Sounddevice/portaudio not installed.")
86
+ return
87
+ # fsutils.USER_DATA_PATH
88
+ # self.current_op
89
+ op_path = self.data_path / self.current_op
90
+ if "[" in the_string:
91
+ sub_string = the_string.strip("[]").lower()
92
+ filename = f"{str(op_path)}/{sub_string}.wav"
93
+ if Path(filename).is_file():
94
+ self.voicings.append(filename)
95
+ return
96
+ for letter in the_string.lower():
97
+ if letter in "abcdefghijklmnopqrstuvwxyz 1234567890":
98
+ if letter == " ":
99
+ letter = "space"
100
+ filename = f"{str(op_path)}/{letter}.wav"
101
+ if Path(filename).is_file():
102
+ logger.debug("Voicing: %s", filename)
103
+ self.voicings.append(filename)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.4.30
3
+ Version: 24.5.9
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
@@ -169,6 +169,7 @@ I wish to thank those who've contributed to the project.
169
169
  - CQ World Wide SSB
170
170
  - CWOps CWT
171
171
  - IARU HF
172
+ - ICWC MST
172
173
  - Japan International DX CW
173
174
  - Japan International DX SSB
174
175
  - NAQP CW
@@ -180,24 +181,8 @@ I wish to thank those who've contributed to the project.
180
181
 
181
182
  ## Recent Changes
182
183
 
183
- - [24-4-30] Allowsending CW via rigctld if your radio supports it.
184
- - [24-4-27] Cleaned up dark mode code.
185
- - [24-4-25-1] Reduce delta time to poll. Reorder poll_radio callback. Remove unused CAT lib from main.
186
- - [24-4-25] Limited loop in radio.py, reducing clock cycles used. Moved Log window to the top of the logger.
187
- - [24-4-24] Placed CAT control into a thread so disconnecting the radio wouldn't lock up the interface.
188
- - [24-4-17] Trap OSError if no sound device. Stop fsutils/appdata from creating useless .not1mm and .username folder structures on Linux platforms.
189
- - [24-4-15] checkwindow.py Tighter results. Changed the call selection to use a single click.
190
- - [24-4-9-4] Check for portaudio instead of crash boom. Removed empty dockwidget. Tested on Plasma 6.
191
- - [24-4-9-3] Ugh. It's not a real day unless you forget to test.
192
- - [24-4-9-2] Put back the floatable dock widgets, 'cause Wayland strikes again.
193
- - [24-4-9-1] Removed DockWidgetFloatable from the dock widgets since my wee brain can't figure out how to add a dragable window frame to them once they are floating. Added a minimum size for the VFO LCD digits. Defaulted bandmap window to the right.
194
- - [24-4-9] Fixed Checkwindow not showing calls from logged contacts.
195
- - [24-4-7] Added FT8Watcher class to prep for FT8 support.
196
- - [24-4-4-1] Made docking widgets open state persistent.
197
- - [24-4-4] Added per-contest echange hint when adding new contest.
198
- - [24-4-2] Migrated to PyQt6. I'm sure there are broken things.
199
- - [24-4-1-2] Added color text indicators to the Check Partial window. Poached the code from @kyleboyle. Thanks! Fixed the Log, VFO and Check Partial windows to be actual docking widgets. Refocus call field after double clicking on item in the check partial window.
200
- - [24-4-1] Removed some un-needed loops and widgets from the check window. Fixed docking to the left side.
184
+ - [24-5-9] Add ICWC MST.
185
+ - [24-5-1] Moved the voice keying into it's own thread.
201
186
 
202
187
  See [CHANGELOG.md](CHANGELOG.md) for prior changes.
203
188
 
@@ -229,8 +214,11 @@ noted the minimum steps needed to install not1mm.
229
214
  ```bash
230
215
  sudo apt update
231
216
  sudo apt upgrade
232
- sudo apt install -y libportaudio2 python3-pip python3-pyqt6 python3-numpy
233
- pip install -U not1mm
217
+ sudo apt install -y python3-pip python3-numpy libxcb-cursor0 libportaudio2
218
+ python3 -m pip install -U pip
219
+ # Logout and back in
220
+ pip3 install PyQt6
221
+ pip3 install not1mm
234
222
  ```
235
223
 
236
224
  #### Ubuntu 23.04
@@ -1,11 +1,13 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=B2BSFagNTFJ6jWChOEj41TAtsWZ4rXo59sDiKp4rie0,121264
3
- not1mm/bandmap.py,sha256=DyAIgEfV_Ceg_BuBwvV3a2aRHTG3M63ZokoULS0wTdk,32071
4
- not1mm/checkwindow.py,sha256=PHQhyN-25ZugbxKKjSxs0wqD80GTHYdIs1IIBjCGVc8,10278
2
+ not1mm/__main__.py,sha256=CtRVGZkQAZfIPsm73V3qrE7Ms42GugEJU4h_trp42XQ,120468
3
+ not1mm/bandmap.py,sha256=Ml5DDoybk_I56q2WLYDKE4lfmh6pb9XxW0qpl5nDFYY,32161
4
+ not1mm/checkwindow.py,sha256=zHxkCQ4BJ-pN80dSTQdiKq8RqY4oWzJveXZhQ2bu3PY,10436
5
5
  not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
6
- not1mm/logwindow.py,sha256=MpEVvnuQh9P5Z8kK2MozAaMCNSx1C4isAEYCETI7SjI,44285
7
- not1mm/radio.py,sha256=R_RaxdiqcMzIQN2za7qBsStrT5X0AwZcz8xtiCwsYdE,3097
8
- not1mm/vfo.py,sha256=7CMI0h9jCEhaonOIvN_7wSiEnsSSxsB1IvOYC9bML6w,11889
6
+ not1mm/logwindow.py,sha256=pwhiwolmGnW01LF4sjlu3ywLsgfxL6KuGuKuYKYmgeY,44403
7
+ not1mm/playsoundtest.py,sha256=_kvvOfgs-u-H4kVSiSlnDtn9HWv0RiJQybkv24CEngc,464
8
+ not1mm/radio.py,sha256=NFU7PDu_79xoD1O79_oasEX8Qz76lrTi38FeY8V2l74,3221
9
+ not1mm/vfo.py,sha256=FVuRjA8LCLkt8pZ3enBuCcxLJchb1ysvaMnX0txrZSs,12038
10
+ not1mm/voice_keying.py,sha256=fkexCCwWcZsXxYVAk0QGcpGbLjbS10ToxWtdKihIVM4,3152
9
11
  not1mm/data/JetBrainsMono-Regular.ttf,sha256=UOHctAKY_PzCGh7zy-6f6egnCcSK0wzmF0csBqO9lDY,203952
10
12
  not1mm/data/MASTER.SCP,sha256=1vQRvEZ865brfmmajp-Lj-hgWejVGI992q8o971bUV8,366478
11
13
  not1mm/data/about.ui,sha256=7TqvtXFFm0Rmcu0bmLupwpO1CsK8MekfZ09_xn6kZrQ,2067
@@ -28,7 +30,7 @@ not1mm/data/k6gte.not1mm-64.png,sha256=6ku45Gq1g5ezh04F07osoKRtanb3e4kbx5XdIEh3N
28
30
  not1mm/data/logwindow.ui,sha256=vfkNdzJgFs3tTOBKLDavF2zVMvNHWOZ82fAErRi6pQY,1436
29
31
  not1mm/data/logwindowx.ui,sha256=9FzDJtLRpagvAWcDjFdB9NnvNZ4bVxdTNHy1Jit2ido,1610
30
32
  not1mm/data/main.ui,sha256=wtfBeYdgv0VYuwlXx6WlKbKkrML_zeiSx79866Wi6cM,54585
31
- not1mm/data/new_contest.ui,sha256=Xubngdbs_V_-o8huXzKOOaQOfj1NSXu9giIcaL4d0qk,21823
33
+ not1mm/data/new_contest.ui,sha256=qP4v6el5mZrIuHUcIZXDkNviuGJk09ZtnpwpgxzQ6TY,21928
32
34
  not1mm/data/not1mm.html,sha256=c9-mfjMwDt4f5pySUruz2gREW33CQ2_rCddM2z5CZQo,23273
33
35
  not1mm/data/opon.ui,sha256=mC4OhoVIfR1H9IqHAKXliPMm8VOVmxSEadpsFQ7XnS4,2247
34
36
  not1mm/data/pickcontest.ui,sha256=_9JFiJw4l-bRRgNDtVg1DpxreylYd_UqEq0wfcr9gJc,1600
@@ -102,47 +104,49 @@ not1mm/lib/lookup.py,sha256=F2fl5QkMxaGSxl1XMWnLUub3T9Mt7LhCX4acOlAsks4,13952
102
104
  not1mm/lib/multicast.py,sha256=bnFUNHyy82GmIb3_88EPBVVssj7-HzkJPaH671cK8Qw,3249
103
105
  not1mm/lib/n1mm.py,sha256=V1NiNyOHaPNYKe_vRsq44O1R42N8uS5PlfRa5Db4Tv0,5712
104
106
  not1mm/lib/new_contest.py,sha256=IznTDMq7yXHB6zBoGUEC_WDYPCPpsSZW4wwMJi16zK0,816
107
+ not1mm/lib/playsound.py,sha256=kxkcitBFbZCXJ2wxQ1lxg4rBwfxiSpuNpJSXHOPCoXA,9241
105
108
  not1mm/lib/plugin_common.py,sha256=AAKBPCXzTWZJb-h08uPNnHVG7bSCg7kwukc211gFivY,8605
106
109
  not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
107
110
  not1mm/lib/settings.py,sha256=MWiKXbasaFbzeHTjfzTaTqbCBrIijudP_-0a5jNmUAA,9265
108
111
  not1mm/lib/super_check_partial.py,sha256=p5l3u2ZOCBtlWgbvskC50FpuoaIpR07tfC6zTdRWbh4,2334
109
- not1mm/lib/version.py,sha256=zA20U-5Ca6bsgBYAJw2MX5JgzAAvPdJ2B59giQAav24,48
112
+ not1mm/lib/version.py,sha256=O6cciNYkRjD26EgUr4tnal4tFjBXnUf8y7HayJUjA0s,47
110
113
  not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
111
- not1mm/plugins/10_10_fall_cw.py,sha256=fUjfwjuscDjicXIxsO0JHh7xTR9Vu0iPsrOLb896Qak,10873
112
- not1mm/plugins/10_10_spring_cw.py,sha256=WNaJP5mBQfaB6SxnFI0Vawt3AKDr94tKVtAK-EVhtUY,10878
113
- not1mm/plugins/10_10_summer_phone.py,sha256=_dgrXDQ4S44EiTr1bDydSBkvY9jOY_ll8PQ54eXfd8U,10887
114
- not1mm/plugins/10_10_winter_phone.py,sha256=8uKM7iE6_fkARUpvOZeTmJkgME5nAhGq7axOX7JA4sg,10890
114
+ not1mm/plugins/10_10_fall_cw.py,sha256=IttjX1yy4nDdACGsiYlPteFG8eVseX_WtoFio6bqHE8,10953
115
+ not1mm/plugins/10_10_spring_cw.py,sha256=ThCptdM3dX4ywhoy2JRcOEyHSqcJolFaT7O_PYzM1Mg,10958
116
+ not1mm/plugins/10_10_summer_phone.py,sha256=VJTCD2JikpzVTEYG6naK_n6cGQXgxVHvLV7pmYt1hq0,10967
117
+ not1mm/plugins/10_10_winter_phone.py,sha256=kFz4DRU850_dhHIQAhrVfGfQ8c59Rkcdurq4mk3XBQY,10970
115
118
  not1mm/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
- not1mm/plugins/arrl_10m.py,sha256=pnRyBqAZy5rP2kTWNyEX-fAjJTOF7ze8STc4KHULvTQ,13677
117
- not1mm/plugins/arrl_dx_cw.py,sha256=B4mX8C1pPygioG8NjEXhrgSUrbhnXhceo1ZTbTB0hsQ,13722
118
- not1mm/plugins/arrl_dx_ssb.py,sha256=aVhNnA2dGl5BLoIXY8ZuJ5nHNok8EFVN2y-dXN7H66o,13725
119
+ not1mm/plugins/arrl_10m.py,sha256=IGJyRQgDXsXuxBzJJpiWsKYFBdwyV1pAy9R8c6S8lDY,13757
120
+ not1mm/plugins/arrl_dx_cw.py,sha256=LVnYDNFEUiIpQ1TlhOCcRK7JNwH5XPO5WzUoApSUMTY,13802
121
+ not1mm/plugins/arrl_dx_ssb.py,sha256=fUFzuNbCAfA5sQSYm8ISV3P9Z_2xnuKeOdO6E66zn1k,13805
119
122
  not1mm/plugins/arrl_field_day.py,sha256=OSro24LsSVW41yecKziWQMjflJbo62P8C53Q3M3-Lb0,10052
120
123
  not1mm/plugins/arrl_rtty_ru.py,sha256=hKUS4isjdXo3EYxQrsqsDupPp2chW8fpoWj0T1pTgJ4,7994
121
- not1mm/plugins/arrl_ss_cw.py,sha256=yxir0G-UfRCR2NiniTVyE2oWh6rEbTqUUNEm3Der5Ms,12989
122
- not1mm/plugins/arrl_ss_phone.py,sha256=M9CKmzyzpEvwPYkbjJepzbOtJ2DVuxZLSmN_sYvT4Ic,12977
123
- not1mm/plugins/arrl_vhf_jan.py,sha256=ttYIXvwlnwqp0Jg6zkwEj-f1aLj4SZ7gJKKfmpNa5n8,12481
124
- not1mm/plugins/arrl_vhf_jun.py,sha256=I3dcU01n5-VC07EM3mWJu7CpKo515MduImi9P0sLWz4,11500
125
- not1mm/plugins/arrl_vhf_sep.py,sha256=HR3zuArCNUu86Nh3xhbPiVNF4ug_GtBrGPwNEG131Fo,11500
126
- not1mm/plugins/canada_day.py,sha256=X7T0AjEoooHlm0h37KuLb4u5hQsrCNp8qtd3affbUbE,11907
127
- not1mm/plugins/cq_160_cw.py,sha256=0h90dF8avfl7UJcUsAK4SMuXpmStkssQB2gSQMW3tnU,14059
128
- not1mm/plugins/cq_160_ssb.py,sha256=jhUc_1hc68jtv8vNS_UadqfaRjY1KnBPHJXGE1K27d4,14102
129
- not1mm/plugins/cq_wpx_cw.py,sha256=iGuGvsLe9V_HzsGRjMckCPJBklvuDjyp9jVOX6Wr-1A,12399
130
- not1mm/plugins/cq_wpx_ssb.py,sha256=C-25CMIhvKIhUx6j4TEvOK5597EwRYrTcHptILAoEnI,12487
131
- not1mm/plugins/cq_ww_cw.py,sha256=O4E4r0Jbp-lz5Npuhe3GYPwJ9dcEalW1YNe3TusforU,11114
132
- not1mm/plugins/cq_ww_ssb.py,sha256=WG_wsMuqt6F1M7DRvbW3c4kdl5nycUeIHcffjMHGVJs,11119
133
- not1mm/plugins/cwt.py,sha256=YtgWH1wjXVmaTNfYG5e3yCrXnfbjOmxuTe8fFCqObFU,12020
134
- not1mm/plugins/general_logging.py,sha256=1Y9ruPaxCQkvHHX6N0cwKjZtdC9az-jLbHnJLrcj3M0,3387
135
- not1mm/plugins/iaru_hf.py,sha256=PN31WHeRyOFJf8obZPkoPySTxguIQ2KGG8ulj_ZzJRc,11461
136
- not1mm/plugins/jidx_cw.py,sha256=Yc-LWjqhphAkiBxZT3KEAJzJ5IUKUdTQEMjfN1OUsBo,11090
137
- not1mm/plugins/jidx_ph.py,sha256=S-0Pxti_OdIQGID7w0tR6G44J4hoxQ3XGaCWm_3LXOE,11092
138
- not1mm/plugins/naqp_cw.py,sha256=27m1PtUQCROusrzs7OSx1Uxb5223ob5FJKksUj2BTjs,11510
139
- not1mm/plugins/naqp_ssb.py,sha256=IWksulcb2_DxlkeW0h3048t8I-u00G_67KBVKkp-TV4,11515
124
+ not1mm/plugins/arrl_ss_cw.py,sha256=pBBoUozHfgcAR6Xy-FBYYZrDSSdK8YVclNZIiCn23ho,13069
125
+ not1mm/plugins/arrl_ss_phone.py,sha256=BNcE4zfhK1LphKbI2tT_NJye8tIA_rb3QtxINERSIpE,13057
126
+ not1mm/plugins/arrl_vhf_jan.py,sha256=tC5FyMQNqKNVI8V3r1p71wJvvUNQ0XPXVvxEj4cMyio,12561
127
+ not1mm/plugins/arrl_vhf_jun.py,sha256=F4eHxuxH-8GM7kuTWvYXeKtx-M0KC_U3T_4Fm3u4h5s,11580
128
+ not1mm/plugins/arrl_vhf_sep.py,sha256=AEKCxDk3UhUWDGT1rNmJ2dk94ihXQ8jexkemkx9N-xQ,11580
129
+ not1mm/plugins/canada_day.py,sha256=dZWmwbdjO4CUSu_cK6FAZxII0DhaEMji_mmrpMO5wjo,11987
130
+ not1mm/plugins/cq_160_cw.py,sha256=e9ajqIzDRteSI7zQaFpXUJ_6SNvBlIuNq213wadReUs,14139
131
+ not1mm/plugins/cq_160_ssb.py,sha256=7MuMC_AVlj9ds_ohvEU4Tts-z9eTvnsSIENSMFKQCBc,14182
132
+ not1mm/plugins/cq_wpx_cw.py,sha256=GW_nr3ISErqMDgwA5pybxgpnSANaZaAwJOp_KTQPRP4,13845
133
+ not1mm/plugins/cq_wpx_ssb.py,sha256=Ptx4GDXgnM9c38fB9LN2KSPVfnSVB2-OFySsHqxHHyw,12567
134
+ not1mm/plugins/cq_ww_cw.py,sha256=ltXFnSXabCOuW70s-WOydgghZTNpztX8TKLpVIV50B4,11194
135
+ not1mm/plugins/cq_ww_ssb.py,sha256=kt-EQofmCbynX1iXFm9ehffi_TMW25ke8Qi9MiR69ZQ,11199
136
+ not1mm/plugins/cwt.py,sha256=4xdXN6ZJM5k-6gn0hJzNheWfFlGiqquC2p0ZMEe516M,12818
137
+ not1mm/plugins/general_logging.py,sha256=t02xtJs601qRICGdrvLs3G9y4GCG9H4AgQNkgA18CYs,3467
138
+ not1mm/plugins/iaru_hf.py,sha256=-ROUo2gBkw3xB89t8bd-4f7_1hROw2VXZXVHLFdB62s,11541
139
+ not1mm/plugins/icwc_mst.py,sha256=v8L5NX2QmTM7x8Po1mb4yfN-dGVIuqky5MIT-OjfaVY,11831
140
+ not1mm/plugins/jidx_cw.py,sha256=-cHhOFDy6lojD8cPaE6bYxrHmQ-x27QL3rh91YGZfbU,12142
141
+ not1mm/plugins/jidx_ph.py,sha256=xKIYbs27uploZ5srUvsVHHskcV6-fLkGEsSJ0i-rky4,11172
142
+ not1mm/plugins/naqp_cw.py,sha256=c0MuKqfkIxiYFvv2z7vqrBz3m9FSnSYkPK3f-DdkTIA,12632
143
+ not1mm/plugins/naqp_ssb.py,sha256=VLWVrSzI0UP1AhSXYn61eZ7or1rz6a_pS_xCKfgS4Jw,11595
140
144
  not1mm/plugins/phone_weekly_test.py,sha256=gCX0ESUoiQzDp9puwibt9-dRembNsiuEeBdawCVvjHA,12316
141
- not1mm/plugins/stew_perry_topband.py,sha256=DIMI3mGMKokXXb9pPLqdhBI6JVnnIs7ZnAL23nFmshE,10588
145
+ not1mm/plugins/stew_perry_topband.py,sha256=CKBQbYl4ETxhXJd2dma4fg_C5pag_s7Nf61SCztZtqE,10668
142
146
  not1mm/plugins/winter_field_day.py,sha256=4rcfRtobwjHO6BNL3WOTHzBmyyeuX79BNGBG8PfjrI8,10238
143
- not1mm-24.4.30.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
144
- not1mm-24.4.30.dist-info/METADATA,sha256=KBVE9BJ01q8RlE8BBesdoAtBiMt5m0z_tnkQnNGyZAY,28897
145
- not1mm-24.4.30.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
146
- not1mm-24.4.30.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
147
- not1mm-24.4.30.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
148
- not1mm-24.4.30.dist-info/RECORD,,
147
+ not1mm-24.5.9.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
148
+ not1mm-24.5.9.dist-info/METADATA,sha256=s45Rsw1RwqoLEBHOCj4iTyrhTPz3xeTTBVeIYCyjEXY,27208
149
+ not1mm-24.5.9.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
150
+ not1mm-24.5.9.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
151
+ not1mm-24.5.9.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
152
+ not1mm-24.5.9.dist-info/RECORD,,