not1mm 24.9.15__py3-none-any.whl → 24.9.23__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.
- not1mm/__main__.py +43 -17
- not1mm/data/MASTER.SCP +1155 -1554
- not1mm/data/cty.json +1 -1
- not1mm/data/new_contest.ui +9 -4
- not1mm/data/rttymacros.txt +24 -0
- not1mm/lib/cat_interface.py +71 -12
- not1mm/lib/cwinterface.py +29 -21
- not1mm/lib/fldigi_sendstring.py +23 -0
- not1mm/lib/lookup.py +7 -4
- not1mm/lib/plugin_common.py +9 -0
- not1mm/lib/version.py +1 -1
- not1mm/plugins/cq_ww_cw.py +34 -0
- not1mm/plugins/cq_ww_rtty.py +478 -0
- not1mm/plugins/cq_ww_ssb.py +34 -0
- not1mm/radio.py +5 -0
- not1mm/test.py +31 -4
- {not1mm-24.9.15.dist-info → not1mm-24.9.23.dist-info}/METADATA +4 -1
- {not1mm-24.9.15.dist-info → not1mm-24.9.23.dist-info}/RECORD +22 -19
- {not1mm-24.9.15.dist-info → not1mm-24.9.23.dist-info}/WHEEL +1 -1
- {not1mm-24.9.15.dist-info → not1mm-24.9.23.dist-info}/LICENSE +0 -0
- {not1mm-24.9.15.dist-info → not1mm-24.9.23.dist-info}/entry_points.txt +0 -0
- {not1mm-24.9.15.dist-info → not1mm-24.9.23.dist-info}/top_level.txt +0 -0
not1mm/__main__.py
CHANGED
@@ -66,6 +66,7 @@ from not1mm.lib.version import __version__
|
|
66
66
|
from not1mm.lib.versiontest import VersionTest
|
67
67
|
from not1mm.lib.ft8_watcher import FT8Watcher
|
68
68
|
from not1mm.lib.fldigi_watcher import FlDigiWatcher
|
69
|
+
from not1mm.lib.fldigi_sendstring import FlDigi_Comm
|
69
70
|
|
70
71
|
import not1mm.fsutils as fsutils
|
71
72
|
from not1mm.logwindow import LogWindow
|
@@ -172,6 +173,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
172
173
|
bandmap_window = None
|
173
174
|
vfo_window = None
|
174
175
|
lookup_service = None
|
176
|
+
fldigi_util = None
|
175
177
|
|
176
178
|
def __init__(self, *args, **kwargs):
|
177
179
|
super().__init__(*args, **kwargs)
|
@@ -611,18 +613,19 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
611
613
|
|
612
614
|
"""
|
613
615
|
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
self.contest
|
625
|
-
|
616
|
+
if result and result != "NONE":
|
617
|
+
datadict = {}
|
618
|
+
splitdata = result.upper().strip().split("<")
|
619
|
+
for data in splitdata:
|
620
|
+
if data:
|
621
|
+
tag = data.split(":")
|
622
|
+
if tag == ["EOR>"]:
|
623
|
+
break
|
624
|
+
datadict[tag[0]] = tag[1].split(">")[1].strip()
|
625
|
+
logger.debug(f"{datadict=}")
|
626
|
+
if hasattr(self.contest, "ft8_handler"):
|
627
|
+
self.contest.set_self(self)
|
628
|
+
self.contest.ft8_handler(datadict)
|
626
629
|
|
627
630
|
def setDarkMode(self, setdarkmode=False) -> None:
|
628
631
|
"""Forces a darkmode palette."""
|
@@ -1897,7 +1900,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1897
1900
|
self.score.setText(str(score))
|
1898
1901
|
self.contest.reset_label(self)
|
1899
1902
|
if self.contest.name != "ICWC Medium Speed Test":
|
1900
|
-
if self.current_mode
|
1903
|
+
if self.current_mode in ("CW", "RTTY"):
|
1901
1904
|
self.sent.setText("599")
|
1902
1905
|
self.receive.setText("599")
|
1903
1906
|
else:
|
@@ -1951,7 +1954,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1951
1954
|
"MSK144",
|
1952
1955
|
"JT65",
|
1953
1956
|
"JT9",
|
1954
|
-
"Q65"
|
1957
|
+
"Q65",
|
1955
1958
|
):
|
1956
1959
|
self.contact["Freq"] = round(
|
1957
1960
|
float(self.radio_state.get("vfoa", 0.0)) / 1000, 2
|
@@ -2339,6 +2342,16 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2339
2342
|
self.voice_process.voice_string(self.process_macro(function_key.toolTip()))
|
2340
2343
|
# self.voice_string(self.process_macro(function_key.toolTip()))
|
2341
2344
|
return
|
2345
|
+
if self.radio_state.get("mode") in [
|
2346
|
+
"RTTY",
|
2347
|
+
"USB-D",
|
2348
|
+
"LSB-D",
|
2349
|
+
"PKTLSB",
|
2350
|
+
"PKTUSB",
|
2351
|
+
"DIGI-U",
|
2352
|
+
"DIGI-L",
|
2353
|
+
]:
|
2354
|
+
self.fldigi_util.send_string(self.process_macro(function_key.toolTip()))
|
2342
2355
|
if self.cw:
|
2343
2356
|
if self.pref.get("cwtype") == 3 and self.rig_control is not None:
|
2344
2357
|
self.rig_control.sendcw(self.process_macro(function_key.toolTip()))
|
@@ -2480,6 +2493,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2480
2493
|
except (RuntimeError, AttributeError):
|
2481
2494
|
...
|
2482
2495
|
|
2496
|
+
self.fldigi_util = FlDigi_Comm()
|
2497
|
+
|
2483
2498
|
if self.pref.get("useflrig", False):
|
2484
2499
|
logger.debug(
|
2485
2500
|
"Using flrig: %s",
|
@@ -2650,7 +2665,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2650
2665
|
fname = json_data.get("result", {}).get("fname", "")
|
2651
2666
|
name = json_data.get("result", {}).get("name", "")
|
2652
2667
|
grid = json_data.get("result", {}).get("grid", "")
|
2653
|
-
error_text = json_data.get("result", {}).get("error_text", "")
|
2668
|
+
# error_text = json_data.get("result", {}).get("error_text", "")
|
2654
2669
|
nickname = json_data.get("result", {}).get("nickname", "")
|
2655
2670
|
|
2656
2671
|
if self.contest:
|
@@ -2988,6 +3003,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2988
3003
|
self.set_band_indicator(band)
|
2989
3004
|
self.set_window_title()
|
2990
3005
|
self.clearinputs()
|
3006
|
+
self.read_cw_macros()
|
2991
3007
|
return
|
2992
3008
|
if mode == "SSB":
|
2993
3009
|
self.setmode("SSB")
|
@@ -3099,8 +3115,9 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3099
3115
|
if mode in ("RTTY", "DIGI-U", "DIGI-L"):
|
3100
3116
|
if self.current_mode != "RTTY":
|
3101
3117
|
self.current_mode = "RTTY"
|
3102
|
-
self.sent.setText("
|
3103
|
-
self.receive.setText("
|
3118
|
+
self.sent.setText("599")
|
3119
|
+
self.receive.setText("599")
|
3120
|
+
self.read_cw_macros()
|
3104
3121
|
|
3105
3122
|
def get_opon(self) -> None:
|
3106
3123
|
"""
|
@@ -3201,6 +3218,10 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3201
3218
|
self.contact["Band"] = get_logged_band(str(vfo))
|
3202
3219
|
self.set_band_indicator(band)
|
3203
3220
|
|
3221
|
+
if self.rig_control:
|
3222
|
+
if self.rig_control.online:
|
3223
|
+
self.rig_control.get_modes()
|
3224
|
+
|
3204
3225
|
if self.radio_state.get("mode") != mode:
|
3205
3226
|
info_dirty = True
|
3206
3227
|
self.radio_state["mode"] = mode
|
@@ -3262,6 +3283,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3262
3283
|
"""
|
3263
3284
|
if self.radio_state.get("mode") == "CW":
|
3264
3285
|
macro_file = "cwmacros.txt"
|
3286
|
+
elif self.radio_state.get("mode") == "RTTY":
|
3287
|
+
macro_file = "rttymacros.txt"
|
3265
3288
|
else:
|
3266
3289
|
macro_file = "ssbmacros.txt"
|
3267
3290
|
if not (fsutils.USER_DATA_PATH / macro_file).exists():
|
@@ -3279,6 +3302,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3279
3302
|
logger.critical(
|
3280
3303
|
f"Could not open file {fsutils.USER_DATA_PATH / macro_file} {err}"
|
3281
3304
|
)
|
3305
|
+
self.read_cw_macros()
|
3282
3306
|
|
3283
3307
|
def read_cw_macros(self) -> None:
|
3284
3308
|
"""
|
@@ -3289,6 +3313,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3289
3313
|
|
3290
3314
|
if self.radio_state.get("mode") == "CW":
|
3291
3315
|
macro_file = "cwmacros.txt"
|
3316
|
+
elif self.radio_state.get("mode") == "RTTY":
|
3317
|
+
macro_file = "rttymacros.txt"
|
3292
3318
|
else:
|
3293
3319
|
macro_file = "ssbmacros.txt"
|
3294
3320
|
|