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 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
- datadict = {}
615
- splitdata = result.upper().strip().split("<")
616
- for data in splitdata:
617
- if data:
618
- tag = data.split(":")
619
- if tag == ["EOR>"]:
620
- break
621
- datadict[tag[0]] = tag[1].split(">")[1].strip()
622
- logger.debug(f"{datadict=}")
623
- if hasattr(self.contest, "ft8_handler"):
624
- self.contest.set_self(self)
625
- self.contest.ft8_handler(datadict)
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 == "CW":
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("59")
3103
- self.receive.setText("59")
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