not1mm 23.5.17__py3-none-any.whl → 23.5.18__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
@@ -304,9 +304,6 @@ class MainWindow(QtWidgets.QMainWindow):
304
304
  self.contact = self.database.empty_contact
305
305
  self.current_op = self.station.get("Call", "")
306
306
  self.make_op_dir()
307
- if self.pref.get("contest"):
308
- self.load_contest()
309
-
310
307
  self.read_cw_macros()
311
308
  self.clearinputs()
312
309
 
@@ -343,6 +340,9 @@ class MainWindow(QtWidgets.QMainWindow):
343
340
  "RTTY": self.band_indicators_rtty,
344
341
  }
345
342
 
343
+ if self.pref.get("contest"):
344
+ self.load_contest()
345
+
346
346
  @staticmethod
347
347
  def check_process(name: str) -> bool:
348
348
  """checks to see if program of name is in the active process list"""
@@ -365,6 +365,9 @@ class MainWindow(QtWidgets.QMainWindow):
365
365
  self.about_dialog = About(WORKING_PATH)
366
366
  if self.pref.get("dark_mode"):
367
367
  self.about_dialog.setStyleSheet(DARK_STYLESHEET)
368
+ self.about_dialog.donors.setSource(
369
+ QtCore.QUrl.fromLocalFile(WORKING_PATH + "/data/donors.html")
370
+ )
368
371
  self.about_dialog.open()
369
372
 
370
373
  def edit_configuration_settings(self):
@@ -582,8 +585,30 @@ class MainWindow(QtWidgets.QMainWindow):
582
585
  self.set_window_title()
583
586
  self.contest.init_contest(self)
584
587
  self.hide_band_mode(self.contest_settings.get("ModeCategory", ""))
588
+ logger.debug("%s", f"{self.contest_settings}")
589
+ if self.contest_settings.get("ModeCategory", "") == "CW":
590
+ self.setmode("CW")
591
+ self.radio_state["mode"] = "CW"
592
+ if self.rig_control:
593
+ if self.rig_control.online:
594
+ self.rig_control.set_mode("CW")
595
+ band = getband(str(self.radio_state.get("vfoa", "0.0")))
596
+ self.set_band_indicator(band)
597
+ self.set_window_title()
598
+ if self.contest_settings.get("ModeCategory", "") == "SSB":
599
+ self.setmode("SSB")
600
+ if int(self.radio_state.get("vfoa", 0)) > 10000000:
601
+ self.radio_state["mode"] = "USB"
602
+ else:
603
+ self.radio_state["mode"] = "LSB"
604
+ band = getband(str(self.radio_state.get("vfoa", "0.0")))
605
+ self.set_band_indicator(band)
606
+ self.set_window_title()
607
+ if self.rig_control:
608
+ self.rig_control.set_mode(self.radio_state.get("mode"))
585
609
 
586
610
  if hasattr(self.contest, "mode"):
611
+ logger.debug("%s", f" **** {self.contest}")
587
612
  if self.contest.mode in ["CW", "BOTH"]:
588
613
  self.cw_speed.show()
589
614
  else:
@@ -1839,6 +1864,8 @@ class MainWindow(QtWidgets.QMainWindow):
1839
1864
  def poll_radio(self):
1840
1865
  """stub"""
1841
1866
  if self.rig_control:
1867
+ if self.rig_control.online is False:
1868
+ self.rig_control.reinit()
1842
1869
  if self.rig_control.online:
1843
1870
  vfo = self.rig_control.get_vfo()
1844
1871
  mode = self.rig_control.get_mode()
not1mm/bandmap.py CHANGED
@@ -282,11 +282,15 @@ class MainWindow(QtWidgets.QMainWindow):
282
282
  and packet.get("station", "") == platform.node()
283
283
  ):
284
284
  self.set_band(packet.get("band") + "m", False)
285
- self.rx_freq = float(packet.get("vfoa")) / 1000000
286
- self.tx_freq = self.rx_freq
285
+ if self.rx_freq != float(packet.get("vfoa")) / 1000000:
286
+ self.rx_freq = float(packet.get("vfoa")) / 1000000
287
+ self.tx_freq = self.rx_freq
288
+ self.center_on_rxfreq()
287
289
  self.bandwidth = int(packet.get("bw", "0"))
288
290
  step, _ = self.determine_step_digits()
289
291
  self.drawTXRXMarks(step)
292
+ continue
293
+
290
294
  if (
291
295
  packet.get("cmd", "") == "NEXTSPOT"
292
296
  and packet.get("station", "") == platform.node()
@@ -454,6 +458,9 @@ class MainWindow(QtWidgets.QMainWindow):
454
458
  def center_on_rxfreq(self):
455
459
  """doc"""
456
460
  freq_pos = self.Freq2ScenePos(self.rx_freq).y()
461
+ # self.graphicsView.verticalScrollBar().setSliderPosition(
462
+ # int(freq_pos - (self.height() / 2) + 80)
463
+ # )
457
464
  self.scrollArea.verticalScrollBar().setValue(
458
465
  int(freq_pos - (self.height() / 2) + 80)
459
466
  )
not1mm/data/about.ui CHANGED
@@ -7,7 +7,7 @@
7
7
  <x>0</x>
8
8
  <y>0</y>
9
9
  <width>345</width>
10
- <height>176</height>
10
+ <height>376</height>
11
11
  </rect>
12
12
  </property>
13
13
  <property name="windowTitle">
@@ -33,21 +33,6 @@
33
33
  </property>
34
34
  </widget>
35
35
  </item>
36
- <item row="1" column="0">
37
- <widget class="QLabel" name="label_2">
38
- <property name="font">
39
- <font>
40
- <family>JetBrains Mono</family>
41
- </font>
42
- </property>
43
- <property name="text">
44
- <string>You're Welcome</string>
45
- </property>
46
- <property name="alignment">
47
- <set>Qt::AlignCenter</set>
48
- </property>
49
- </widget>
50
- </item>
51
36
  <item row="2" column="0">
52
37
  <widget class="QDialogButtonBox" name="buttonBox">
53
38
  <property name="orientation">
@@ -61,6 +46,9 @@
61
46
  </property>
62
47
  </widget>
63
48
  </item>
49
+ <item row="1" column="0">
50
+ <widget class="QTextBrowser" name="donors"/>
51
+ </item>
64
52
  </layout>
65
53
  </widget>
66
54
  <resources/>
@@ -61,6 +61,10 @@ class CAT:
61
61
  logger.debug("%s", target)
62
62
  self.server = xmlrpc.client.ServerProxy(target)
63
63
  self.online = True
64
+ try:
65
+ _ = self.server.main.get_version()
66
+ except ConnectionRefusedError:
67
+ self.online = False
64
68
  if self.interface == "rigctld":
65
69
  self.__initialize_rigctrld()
66
70
 
@@ -80,6 +84,11 @@ class CAT:
80
84
  self.online = False
81
85
  logger.debug("%s", exception)
82
86
 
87
+ def reinit(self):
88
+ """reinitialise rigctl"""
89
+ if self.interface == "rigctld":
90
+ self.__initialize_rigctrld()
91
+
83
92
  def get_vfo(self) -> str:
84
93
  """Poll the radio for current vfo using the interface"""
85
94
  vfo = ""
not1mm/lib/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  """It's the version"""
2
- __version__ = "23.5.17"
2
+ __version__ = "23.5.18"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 23.5.17
3
+ Version: 23.5.18
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
@@ -131,7 +131,8 @@ The current state is "**BETA**". I've used it for A few contests, and was able t
131
131
 
132
132
  ## Changes of note
133
133
 
134
- - [23-5-17] CTRL-G tunes to a spot matching text in the callsign entry field. Thanks to Martin, OK1RR for suggesting this.
134
+ - [23-5-18] ReInit rigctld CAT when it goes offline and back.
135
+ - [23-5-17] CTRL-G tunes to a spot matching text in the callsign entry field. Thanks to Martin, OK1RR for suggesting this. Bandmap centers on the VFO after frequency change. Set mode on startup based on the mode category set for the contest.
135
136
  - [23-5-15] CTRL-S in the main window will send a spot to the cluster.
136
137
  - [23-5-12] Bandmap, Reload system preferences before each connect. Increased the minimum Python version to 3.10. Main, Refactored UDP code to remove the use of timers and queues, replaced with readyRead signals.
137
138
  - [23-5-11] Added missing numpy package dependency to pyproject.toml. Added install steps for clean images of Fedora and Ubuntu. Entered frequencies when no CAT control are not sent to the bandmap. Added K1EL speed change via xmlrpc. One would need to update the pywinkeyerserial client.
@@ -1,11 +1,11 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=QBenMNCqt2jBubBROhjY2qZmxKF_pQXf0rud5pmwnEo,81641
3
- not1mm/bandmap.py,sha256=nTPEN5zIJwo4NZpSzC7wuMY0Khcc8BW2raGR8ra02k0,25067
2
+ not1mm/__main__.py,sha256=eRE2jtNNVMbBMqjPSMxXYnVypdqk8uPnlc8qbAWzKQk,83181
3
+ not1mm/bandmap.py,sha256=2rbeMiTxL0zBk0LAYGfAr57jXku8rHCZSaerJ020jQo,25351
4
4
  not1mm/logwindow.py,sha256=irT5lrZq9D2Xyu-uSyIDczSjlmwc-vb5Moy1qcV-Y98,30275
5
5
  not1mm/data/Combinear.qss,sha256=SKqM0g8GvNXay1ovgtwCw3Egt0eLfN5P3iTREInC1eE,16590
6
6
  not1mm/data/JetBrainsMono-Regular.ttf,sha256=UOHctAKY_PzCGh7zy-6f6egnCcSK0wzmF0csBqO9lDY,203952
7
7
  not1mm/data/MASTER.SCP,sha256=oqUB3Fvy40vU-ra-R3-cvTeBnZWW04Da1Et011UITbI,542666
8
- not1mm/data/about.ui,sha256=ll-3ZSghbok0kW9MLSAoo2dW3EV3lM4m4nR-kUJ6oNw,2352
8
+ not1mm/data/about.ui,sha256=7TqvtXFFm0Rmcu0bmLupwpO1CsK8MekfZ09_xn6kZrQ,2067
9
9
  not1mm/data/alpha bravo charlie delta.txt,sha256=d5QMmSWEUAe4Rj1XbNjTPLa_5Be4Se6u5LUIqAYidOQ,224
10
10
  not1mm/data/bandmap.ui,sha256=FB2NaxSK-ZZvfYHU9Mu8FkQxTeVHcFGV40zIqgBXAFo,5246
11
11
  not1mm/data/check.png,sha256=UvFOLr8V-79qnjW8wUaGItXk_OSP8m8hqPevs8NDlFY,387
@@ -78,7 +78,7 @@ not1mm/data/phonetics/yourcall.wav,sha256=4kheHJmCiRDL2kjhlgXQ8_u_eEMgKxiNGu5UBk
78
78
  not1mm/data/phonetics/z.wav,sha256=arafCi7fwmBLdVDI-PRyaL4U-03PIQDhffwY5noJ_2c,51768
79
79
  not1mm/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  not1mm/lib/about.py,sha256=O9i8ypv2W9KZkPAp2bcRI0J5RgPE5R1vMfU8ZGlok_E,379
81
- not1mm/lib/cat_interface.py,sha256=EWw22HAe-zEGNPL-hmeCHplgg7ID9kSaeCgn6ftdxrI,13705
81
+ not1mm/lib/cat_interface.py,sha256=PHhVzzUxmNaQvuJxlkexnnAoV_6zHz_ylJDCfi51Nn0,13990
82
82
  not1mm/lib/cwinterface.py,sha256=fZ5BXVyF7by0yGTJVznUTjRCxRt3lJaUIsNC-_mCGP4,3123
83
83
  not1mm/lib/database.py,sha256=KD8KuEsPWJBq44S1UqlNIgmXKF94NrWqH-cKGfcl9ow,34193
84
84
  not1mm/lib/edit_contact.py,sha256=YwuX-BuIa7AuPtLRENs4jTzxOrtk6MCxZj3BR_bDPW8,357
@@ -92,7 +92,7 @@ not1mm/lib/n1mm.py,sha256=bK5d21Yfn6xRpQcu2RdpL2zR8lOlRWOadD6Ai4_lFdc,4434
92
92
  not1mm/lib/new_contest.py,sha256=mHKNCS3iKOKN-bT9d8ZK3JemThOZFQ0ikfUSS0-ZTpY,354
93
93
  not1mm/lib/select_contest.py,sha256=XQdRUkPAIHIMVsilm82M54b_v9yWpYrZ1nfInJrtZoo,363
94
94
  not1mm/lib/settings.py,sha256=InjbBzXikT9UqfWP_Tl35aGFaRM4URmgKeSUxXHH3VQ,6188
95
- not1mm/lib/version.py,sha256=-0R283pIp43JZV056hO8iLpBJEQu3F_uA7Evtt8cfdQ,47
95
+ not1mm/lib/version.py,sha256=wPmqevlz9bS5AKXKew9TCT4neFwUgCCEOKh7kYzc2hY,47
96
96
  not1mm/plugins/10_10_fall_cw.py,sha256=EJ2CPLQUb_SNkbXJw8hGk-M74IDxjQZDl3imiebxYa0,13746
97
97
  not1mm/plugins/10_10_spring_cw.py,sha256=NqsV2cWsMVuqBM98SLhacladI_gFiOUnlaI7jPbiZoQ,13752
98
98
  not1mm/plugins/10_10_summer_phone.py,sha256=9sZdeon3pCIIfmKOXIt5kUIejmb_L0xb8CYx9bd8llk,13759
@@ -115,9 +115,9 @@ not1mm/plugins/jidx_ph.py,sha256=nM5iPKowCm7jOszPuAmNXB9gAC7VNtZ4N6g9MAdYcdk,138
115
115
  not1mm/plugins/winter_field_day.py,sha256=22mWjH4SwARTEEqb4ZUJSBk_gOG4pvvmGgTQuoSR7As,3121
116
116
  not1mm/testing/test.py,sha256=wGblvMlyOCVkEiHbxE6wvLsorim15ehL72_EZLQeWkk,1660
117
117
  testing/test.py,sha256=LeBddA3_XV49ma6lxwwaoEEnQKJ_qQcYKeU7kLTVNyc,206
118
- not1mm-23.5.17.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
119
- not1mm-23.5.17.dist-info/METADATA,sha256=EcLvHlsotQdACBa4C6XFtz6g1535hm2sRny0ky13oN8,27646
120
- not1mm-23.5.17.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
121
- not1mm-23.5.17.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
122
- not1mm-23.5.17.dist-info/top_level.txt,sha256=-NwUrh4k1kzpOvf720xYWSTKSlr-zNSIz3D_eplrxLs,15
123
- not1mm-23.5.17.dist-info/RECORD,,
118
+ not1mm-23.5.18.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
119
+ not1mm-23.5.18.dist-info/METADATA,sha256=KwqXeFffAHHg8Eny7bz0q2PJf4-Ktwn0d9lDYyqnfKw,27827
120
+ not1mm-23.5.18.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
121
+ not1mm-23.5.18.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
122
+ not1mm-23.5.18.dist-info/top_level.txt,sha256=-NwUrh4k1kzpOvf720xYWSTKSlr-zNSIz3D_eplrxLs,15
123
+ not1mm-23.5.18.dist-info/RECORD,,