not1mm 24.7.28__py3-none-any.whl → 24.7.31__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
@@ -564,6 +564,8 @@ class MainWindow(QtWidgets.QMainWindow):
564
564
  if self.actionVFO.isChecked():
565
565
  self.vfo_window.show()
566
566
 
567
+ self.cwspeed_spinbox_changed()
568
+
567
569
  if not DEBUG_ENABLED:
568
570
  if VersionTest(__version__).test():
569
571
  self.show_message_box(
@@ -1588,6 +1590,10 @@ class MainWindow(QtWidgets.QMainWindow):
1588
1590
  self.cw.sendcw(f"\x1b2{self.cw.speed}")
1589
1591
  if self.cw.servertype == 2:
1590
1592
  self.cw.set_winkeyer_speed(self.cw_speed.value())
1593
+ if self.rig_control:
1594
+ if self.pref.get("cwtype") == 3 and self.rig_control is not None:
1595
+ if self.rig_control.interface == "flrig":
1596
+ self.rig_control.cat.set_flrig_cw_speed(self.cw_speed.value())
1591
1597
 
1592
1598
  def keyPressEvent(self, event) -> None: # pylint: disable=invalid-name
1593
1599
  """
@@ -2227,14 +2233,22 @@ class MainWindow(QtWidgets.QMainWindow):
2227
2233
  if next_serial == "None":
2228
2234
  next_serial = "1"
2229
2235
  macro = macro.upper()
2230
- macro = macro.replace("#", next_serial)
2236
+ if self.radio_state.get("mode") == "CW":
2237
+ macro = macro.replace("#", next_serial.rjust(3, "T"))
2238
+ else:
2239
+ macro = macro.replace("#", next_serial)
2231
2240
  macro = macro.replace("{MYCALL}", self.station.get("Call", ""))
2232
2241
  macro = macro.replace("{HISCALL}", self.callsign.text())
2233
2242
  if self.radio_state.get("mode") == "CW":
2234
2243
  macro = macro.replace("{SNT}", self.sent.text().replace("9", "n"))
2235
2244
  else:
2236
2245
  macro = macro.replace("{SNT}", self.sent.text())
2237
- macro = macro.replace("{SENTNR}", self.other_1.text())
2246
+ if self.radio_state.get("mode") == "CW":
2247
+ macro = macro.replace(
2248
+ "{SENTNR}", self.other_1.text().lstrip("0").rjust(3, "T")
2249
+ )
2250
+ else:
2251
+ macro = macro.replace("{SENTNR}", self.other_1.text())
2238
2252
  macro = macro.replace(
2239
2253
  "{EXCH}", self.contest_settings.get("SentExchange", "xxx")
2240
2254
  )
@@ -2887,6 +2901,7 @@ class MainWindow(QtWidgets.QMainWindow):
2887
2901
  self.rig_control.set_mode("CW")
2888
2902
  if self.pref.get("cwtype") == 3 and self.rig_control is not None:
2889
2903
  if self.rig_control.interface == "flrig":
2904
+ self.cwspeed_spinbox_changed()
2890
2905
  self.rig_control.cat.set_flrig_cw_send(True)
2891
2906
  band = getband(str(self.radio_state.get("vfoa", "0.0")))
2892
2907
  self.set_band_indicator(band)
@@ -114,7 +114,7 @@ class CAT:
114
114
  self.sendcwrigctl(texttosend)
115
115
 
116
116
  def sendcwrigctl(self, texttosend):
117
- """..."""
117
+ """Send text via rigctld"""
118
118
  if self.rigctrlsocket:
119
119
  try:
120
120
  self.online = True
@@ -130,7 +130,7 @@ class CAT:
130
130
  return False
131
131
 
132
132
  def sendcwxmlrpc(self, texttosend):
133
- """..."""
133
+ """Add text to flrig's cw send buffer."""
134
134
  logger.debug(f"{texttosend=}")
135
135
  try:
136
136
  self.online = True
@@ -147,8 +147,8 @@ class CAT:
147
147
  logger.debug("%s", f"{exception}")
148
148
  return False
149
149
 
150
- def set_flrig_cw_send(self, send: bool):
151
- """..."""
150
+ def set_flrig_cw_send(self, send: bool) -> None:
151
+ """Turn on flrig cw keyer send flag."""
152
152
  if self.interface == "rigctld":
153
153
  return
154
154
  try:
@@ -165,6 +165,24 @@ class CAT:
165
165
  self.online = False
166
166
  logger.debug("%s", f"{exception}")
167
167
 
168
+ def set_flrig_cw_speed(self, speed):
169
+ """Set flrig's CW send speed"""
170
+ if self.interface == "rigctld":
171
+ return
172
+ try:
173
+ self.online = True
174
+ self.server.rig.cwio_set_wpm(int(speed))
175
+ except (
176
+ ConnectionRefusedError,
177
+ xmlrpc.client.Fault,
178
+ http.client.BadStatusLine,
179
+ http.client.CannotSendRequest,
180
+ http.client.ResponseNotReady,
181
+ ValueError,
182
+ ) as exception:
183
+ self.online = False
184
+ logger.debug("%s", f"{exception}")
185
+
168
186
  def get_vfo(self) -> str:
169
187
  """Poll the radio for current vfo using the interface"""
170
188
  vfo = ""
not1mm/lib/version.py CHANGED
@@ -1,3 +1,4 @@
1
1
  """It's the version"""
2
2
 
3
- __version__ = "24.7.28"
3
+ __version__ = "24.7.31"
4
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.7.28
3
+ Version: 24.7.31
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
@@ -223,6 +223,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
223
223
 
224
224
  ## Recent Changes
225
225
 
226
+ - [24-7-31] Serial number leading Zeros sent as T in CW.
227
+ - [24-7-29] Add flrig cw speed change via onscreen widget.
226
228
  - [24-7-28] Second try at flrig CW.
227
229
  - [24-7-25-1] Have VFO dock widget handle disconnect/reconnect events of the USB VFO knob more gracefully.
228
230
  - [24-7-25] Updated application categories for the desktop file.
@@ -1,5 +1,5 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=3I8eJQEfM6RHZnJmXwK_VtdU1ZPcSNPlvtgziQuzGf4,121134
2
+ not1mm/__main__.py,sha256=pMPULQlE3HkWvafftG66YBaFUpCVLyfvwe9t1CCFdrE,121804
3
3
  not1mm/bandmap.py,sha256=Ml5DDoybk_I56q2WLYDKE4lfmh6pb9XxW0qpl5nDFYY,32161
4
4
  not1mm/checkwindow.py,sha256=zHxkCQ4BJ-pN80dSTQdiKq8RqY4oWzJveXZhQ2bu3PY,10436
5
5
  not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
@@ -91,7 +91,7 @@ not1mm/data/phonetics/yourcall.wav,sha256=4kheHJmCiRDL2kjhlgXQ8_u_eEMgKxiNGu5UBk
91
91
  not1mm/data/phonetics/z.wav,sha256=arafCi7fwmBLdVDI-PRyaL4U-03PIQDhffwY5noJ_2c,51768
92
92
  not1mm/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
93
  not1mm/lib/about.py,sha256=sWycfGcruN3SaEe4JmaJ61K6D8Itq0WxpUYT-lEcmYM,416
94
- not1mm/lib/cat_interface.py,sha256=2Tzez8wO9ZATjheWkHRWTMi2jkt40W6tT7BNBbjVzuI,18839
94
+ not1mm/lib/cat_interface.py,sha256=aazvNTSeZAROq3KL8gPx-I95iVez2IiIOSk22qeqVCQ,19502
95
95
  not1mm/lib/cwinterface.py,sha256=Q8p3pScOHczZ8ptICfH1Yu6rCEwQJLgrNwYMN76B2i8,3389
96
96
  not1mm/lib/database.py,sha256=RQoj3JsTejMiiFIN42lY3N4jrj80htftdoFeRqVKnKs,42480
97
97
  not1mm/lib/edit_contact.py,sha256=Ki9bGPpqyQQBB1cU8VIBDCal3lbXeQ6qxhzklmhE2_w,353
@@ -109,7 +109,7 @@ not1mm/lib/plugin_common.py,sha256=AAKBPCXzTWZJb-h08uPNnHVG7bSCg7kwukc211gFivY,8
109
109
  not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
110
110
  not1mm/lib/settings.py,sha256=MWiKXbasaFbzeHTjfzTaTqbCBrIijudP_-0a5jNmUAA,9265
111
111
  not1mm/lib/super_check_partial.py,sha256=p5l3u2ZOCBtlWgbvskC50FpuoaIpR07tfC6zTdRWbh4,2334
112
- not1mm/lib/version.py,sha256=b0kTxuIhWdsBX0VMhy3fn3YyF3XFCxs03DFSvGpgZjU,48
112
+ not1mm/lib/version.py,sha256=v1Du4KErN7-rIOcaV1iI1R8QnGFaZJPhWvwwSy73_eA,49
113
113
  not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
114
114
  not1mm/plugins/10_10_fall_cw.py,sha256=IttjX1yy4nDdACGsiYlPteFG8eVseX_WtoFio6bqHE8,10953
115
115
  not1mm/plugins/10_10_spring_cw.py,sha256=ThCptdM3dX4ywhoy2JRcOEyHSqcJolFaT7O_PYzM1Mg,10958
@@ -145,9 +145,9 @@ not1mm/plugins/naqp_ssb.py,sha256=VLWVrSzI0UP1AhSXYn61eZ7or1rz6a_pS_xCKfgS4Jw,11
145
145
  not1mm/plugins/phone_weekly_test.py,sha256=fLpMe03WB9_KgRl6vMgQQt_aktFdqfNt2Sw81CTRAUs,12325
146
146
  not1mm/plugins/stew_perry_topband.py,sha256=CKBQbYl4ETxhXJd2dma4fg_C5pag_s7Nf61SCztZtqE,10668
147
147
  not1mm/plugins/winter_field_day.py,sha256=4rcfRtobwjHO6BNL3WOTHzBmyyeuX79BNGBG8PfjrI8,10238
148
- not1mm-24.7.28.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
149
- not1mm-24.7.28.dist-info/METADATA,sha256=KLA7jJ_PK9Xk5W2b7U2UO451JFnOznjizaMPmMTdsDA,29447
150
- not1mm-24.7.28.dist-info/WHEEL,sha256=Rp8gFpivVLXx-k3U95ozHnQw8yDcPxmhOpn_Gx8d5nc,91
151
- not1mm-24.7.28.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
152
- not1mm-24.7.28.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
153
- not1mm-24.7.28.dist-info/RECORD,,
148
+ not1mm-24.7.31.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
149
+ not1mm-24.7.31.dist-info/METADATA,sha256=JZDYYOTLJH_Q4--hhdKxo4dmNutDcPZGoOQP8wD6Ibg,29563
150
+ not1mm-24.7.31.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
151
+ not1mm-24.7.31.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
152
+ not1mm-24.7.31.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
153
+ not1mm-24.7.31.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.0.0)
2
+ Generator: setuptools (72.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5