not1mm 24.7.25.1__py3-none-any.whl → 24.7.29__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 +26 -11
- not1mm/lib/cat_interface.py +40 -6
- not1mm/lib/version.py +2 -1
- not1mm/plugins/arrl_field_day.py +47 -0
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.29.dist-info}/METADATA +3 -1
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.29.dist-info}/RECORD +10 -10
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.29.dist-info}/WHEEL +1 -1
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.29.dist-info}/LICENSE +0 -0
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.29.dist-info}/entry_points.txt +0 -0
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.29.dist-info}/top_level.txt +0 -0
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(
|
@@ -1264,6 +1266,12 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1264
1266
|
else:
|
1265
1267
|
self.cw_speed.hide()
|
1266
1268
|
|
1269
|
+
if hasattr(self.contest, "ft8_handler"):
|
1270
|
+
self.contest.set_self(self)
|
1271
|
+
self.ft8.set_callback(self.contest.ft8_handler)
|
1272
|
+
else:
|
1273
|
+
self.ft8.set_callback(None)
|
1274
|
+
|
1267
1275
|
self.clearinputs()
|
1268
1276
|
cmd = {}
|
1269
1277
|
cmd["cmd"] = "NEWDB"
|
@@ -1582,6 +1590,10 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1582
1590
|
self.cw.sendcw(f"\x1b2{self.cw.speed}")
|
1583
1591
|
if self.cw.servertype == 2:
|
1584
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())
|
1585
1597
|
|
1586
1598
|
def keyPressEvent(self, event) -> None: # pylint: disable=invalid-name
|
1587
1599
|
"""
|
@@ -1655,6 +1667,12 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1655
1667
|
if self.cw.servertype == 1:
|
1656
1668
|
self.cw.sendcw("\x1b4")
|
1657
1669
|
return
|
1670
|
+
if self.rig_control:
|
1671
|
+
if self.rig_control.online:
|
1672
|
+
if self.pref.get("cwtype") == 3 and self.rig_control is not None:
|
1673
|
+
if self.rig_control.interface == "flrig":
|
1674
|
+
self.rig_control.cat.set_flrig_cw_send(False)
|
1675
|
+
self.rig_control.cat.set_flrig_cw_send(True)
|
1658
1676
|
if event.key() == Qt.Key.Key_Up:
|
1659
1677
|
cmd = {}
|
1660
1678
|
cmd["cmd"] = "PREVSPOT"
|
@@ -2867,12 +2885,16 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2867
2885
|
None
|
2868
2886
|
"""
|
2869
2887
|
|
2870
|
-
if mode in ("CW", "CW-U", "CW-L"):
|
2888
|
+
if mode in ("CW", "CW-U", "CW-L", "CWR"):
|
2871
2889
|
self.setmode("CW")
|
2872
2890
|
self.radio_state["mode"] = "CW"
|
2873
2891
|
if self.rig_control:
|
2874
2892
|
if self.rig_control.online:
|
2875
2893
|
self.rig_control.set_mode("CW")
|
2894
|
+
if self.pref.get("cwtype") == 3 and self.rig_control is not None:
|
2895
|
+
if self.rig_control.interface == "flrig":
|
2896
|
+
self.cwspeed_spinbox_changed()
|
2897
|
+
self.rig_control.cat.set_flrig_cw_send(True)
|
2876
2898
|
band = getband(str(self.radio_state.get("vfoa", "0.0")))
|
2877
2899
|
self.set_band_indicator(band)
|
2878
2900
|
self.set_window_title()
|
@@ -3019,7 +3041,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3019
3041
|
|
3020
3042
|
def setmode(self, mode: str) -> None:
|
3021
3043
|
"""Call when the mode changes."""
|
3022
|
-
if mode in ("CW", "CW-U", "CW-L"):
|
3044
|
+
if mode in ("CW", "CW-U", "CW-L", "CWR"):
|
3023
3045
|
if self.current_mode != "CW":
|
3024
3046
|
self.current_mode = "CW"
|
3025
3047
|
self.sent.setText("599")
|
@@ -3149,7 +3171,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3149
3171
|
info_dirty = True
|
3150
3172
|
self.radio_state["bw"] = bw
|
3151
3173
|
|
3152
|
-
if mode in ("CW", "CW-U", "CW-L"):
|
3174
|
+
if mode in ("CW", "CW-U", "CW-L", "CWR"):
|
3153
3175
|
self.setmode(mode)
|
3154
3176
|
if mode == "LSB" or mode == "USB":
|
3155
3177
|
self.setmode("SSB")
|
@@ -3379,7 +3401,6 @@ def run() -> None:
|
|
3379
3401
|
f"Resolved OS file system paths: MODULE_PATH {fsutils.MODULE_PATH}, USER_DATA_PATH {fsutils.USER_DATA_PATH}, CONFIG_PATH {fsutils.CONFIG_PATH}"
|
3380
3402
|
)
|
3381
3403
|
install_icons()
|
3382
|
-
# timer.start(250)
|
3383
3404
|
sys.exit(app.exec())
|
3384
3405
|
|
3385
3406
|
|
@@ -3403,15 +3424,9 @@ app = QtWidgets.QApplication(sys.argv)
|
|
3403
3424
|
families = load_fonts_from_dir(os.fspath(fsutils.APP_DATA_PATH))
|
3404
3425
|
logger.info(f"font families {families}")
|
3405
3426
|
window = MainWindow()
|
3406
|
-
# height = window.pref.get("window_height", 300)
|
3407
|
-
# width = window.pref.get("window_width", 700)
|
3408
|
-
# x = window.pref.get("window_x", -1)
|
3409
|
-
# y = window.pref.get("window_y", -1)
|
3410
|
-
# window.setGeometry(x, y, width, height)
|
3411
3427
|
window.callsign.setFocus()
|
3412
3428
|
window.show()
|
3413
|
-
|
3414
|
-
# timer.timeout.connect(window.poll_radio)
|
3429
|
+
|
3415
3430
|
|
3416
3431
|
if __name__ == "__main__":
|
3417
3432
|
run()
|
not1mm/lib/cat_interface.py
CHANGED
@@ -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,11 +130,10 @@ class CAT:
|
|
130
130
|
return False
|
131
131
|
|
132
132
|
def sendcwxmlrpc(self, texttosend):
|
133
|
-
"""
|
134
|
-
|
133
|
+
"""Add text to flrig's cw send buffer."""
|
134
|
+
logger.debug(f"{texttosend=}")
|
135
135
|
try:
|
136
136
|
self.online = True
|
137
|
-
self.server.rig.cwio_send(1)
|
138
137
|
self.server.rig.cwio_text(texttosend)
|
139
138
|
return
|
140
139
|
except (
|
@@ -145,10 +144,45 @@ class CAT:
|
|
145
144
|
http.client.ResponseNotReady,
|
146
145
|
) as exception:
|
147
146
|
self.online = False
|
148
|
-
|
149
|
-
# logger.debug("sendcwxmlrpc: %s", f"{exception}")
|
147
|
+
logger.debug("%s", f"{exception}")
|
150
148
|
return False
|
151
149
|
|
150
|
+
def set_flrig_cw_send(self, send: bool) -> None:
|
151
|
+
"""Turn on flrig cw keyer send flag."""
|
152
|
+
if self.interface == "rigctld":
|
153
|
+
return
|
154
|
+
try:
|
155
|
+
self.online = True
|
156
|
+
self.server.rig.cwio_send(int(send))
|
157
|
+
except (
|
158
|
+
ConnectionRefusedError,
|
159
|
+
xmlrpc.client.Fault,
|
160
|
+
http.client.BadStatusLine,
|
161
|
+
http.client.CannotSendRequest,
|
162
|
+
http.client.ResponseNotReady,
|
163
|
+
ValueError,
|
164
|
+
) as exception:
|
165
|
+
self.online = False
|
166
|
+
logger.debug("%s", f"{exception}")
|
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
|
+
|
152
186
|
def get_vfo(self) -> str:
|
153
187
|
"""Poll the radio for current vfo using the interface"""
|
154
188
|
vfo = ""
|
not1mm/lib/version.py
CHANGED
not1mm/plugins/arrl_field_day.py
CHANGED
@@ -13,6 +13,8 @@ from not1mm.lib.version import __version__
|
|
13
13
|
|
14
14
|
logger = logging.getLogger(__name__)
|
15
15
|
|
16
|
+
ALTEREGO = None
|
17
|
+
|
16
18
|
EXCHANGE_HINT = "1D ORG"
|
17
19
|
|
18
20
|
name = "ARRL Field Day"
|
@@ -319,3 +321,48 @@ def cabrillo(self):
|
|
319
321
|
|
320
322
|
def recalculate_mults(self):
|
321
323
|
"""Recalculates multipliers after change in logged qso."""
|
324
|
+
|
325
|
+
|
326
|
+
def set_self(the_outie):
|
327
|
+
"""..."""
|
328
|
+
globals()["ALTEREGO"] = the_outie
|
329
|
+
|
330
|
+
|
331
|
+
def ft8_handler(the_packet: dict):
|
332
|
+
"""Process FT8 QSO packets
|
333
|
+
|
334
|
+
{
|
335
|
+
'CALL': 'KE0OG',
|
336
|
+
'GRIDSQUARE': 'DM10AT',
|
337
|
+
'MODE': 'FT8',
|
338
|
+
'RST_SENT': '',
|
339
|
+
'RST_RCVD': '',
|
340
|
+
'QSO_DATE': '20210329',
|
341
|
+
'TIME_ON': '183213',
|
342
|
+
'QSO_DATE_OFF': '20210329',
|
343
|
+
'TIME_OFF': '183213',
|
344
|
+
'BAND': '20M',
|
345
|
+
'FREQ': '14.074754',
|
346
|
+
'STATION_CALLSIGN': 'K6GTE',
|
347
|
+
'MY_GRIDSQUARE': 'DM13AT',
|
348
|
+
'CONTEST_ID': 'ARRL-FIELD-DAY',
|
349
|
+
'SRX_STRING': '1D UT',
|
350
|
+
'CLASS': '1D',
|
351
|
+
'ARRL_SECT': 'UT'
|
352
|
+
}
|
353
|
+
|
354
|
+
"""
|
355
|
+
print(f"{the_packet=}")
|
356
|
+
|
357
|
+
if ALTEREGO is not None:
|
358
|
+
|
359
|
+
ALTEREGO.callsign.setText(the_packet.get("CALL"))
|
360
|
+
ALTEREGO.contact["Call"] = the_packet.get("CALL", "")
|
361
|
+
ALTEREGO.contact["SNT"] = ALTEREGO.sent.text()
|
362
|
+
ALTEREGO.contact["RCV"] = ALTEREGO.receive.text()
|
363
|
+
ALTEREGO.contact["Exchange1"] = the_packet.get("CLASS", "ERR")
|
364
|
+
ALTEREGO.contact["Sect"] = the_packet.get("ARRL_SECT", "ERR")
|
365
|
+
ALTEREGO.contact["Mode"] = "FT8"
|
366
|
+
ALTEREGO.other_1.setText(the_packet.get("CLASS", "ERR"))
|
367
|
+
ALTEREGO.other_2.setText(the_packet.get("ARRL_SECT", "ERR"))
|
368
|
+
print(f"\n{ALTEREGO.contact=}\n")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.7.
|
3
|
+
Version: 24.7.29
|
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-29] Add flrig cw speed change via onscreen widget.
|
227
|
+
- [24-7-28] Second try at flrig CW.
|
226
228
|
- [24-7-25-1] Have VFO dock widget handle disconnect/reconnect events of the USB VFO knob more gracefully.
|
227
229
|
- [24-7-25] Updated application categories for the desktop file.
|
228
230
|
- [24-7-25] Maybe let flrig send CW... Probably not.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
not1mm/__main__.py,sha256
|
2
|
+
not1mm/__main__.py,sha256=-zzE1QUDpuVKwgWJeoEPJ7ceCCvx0YLBISw24xQJgs4,121481
|
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
|
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=
|
112
|
+
not1mm/lib/version.py,sha256=BMpTloYgDxnJAW_gTC-FRCBOqBhNTglZbFeS_OdpJiQ,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
|
@@ -119,7 +119,7 @@ not1mm/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
119
119
|
not1mm/plugins/arrl_10m.py,sha256=EyNRb3Sm0Qb-GVm0p05EnadlHisVh7y-sKTBP2ddMLo,13768
|
120
120
|
not1mm/plugins/arrl_dx_cw.py,sha256=LVnYDNFEUiIpQ1TlhOCcRK7JNwH5XPO5WzUoApSUMTY,13802
|
121
121
|
not1mm/plugins/arrl_dx_ssb.py,sha256=fUFzuNbCAfA5sQSYm8ISV3P9Z_2xnuKeOdO6E66zn1k,13805
|
122
|
-
not1mm/plugins/arrl_field_day.py,sha256=
|
122
|
+
not1mm/plugins/arrl_field_day.py,sha256=bMBrww0-zBnkrLY3JsG1tXumeWGDWgLi1QZiPtriFqE,11387
|
123
123
|
not1mm/plugins/arrl_rtty_ru.py,sha256=hKUS4isjdXo3EYxQrsqsDupPp2chW8fpoWj0T1pTgJ4,7994
|
124
124
|
not1mm/plugins/arrl_ss_cw.py,sha256=4yN68xZMuJRaSUfdiY4hafC07A3lifl5q6DEUZ-oYPQ,13080
|
125
125
|
not1mm/plugins/arrl_ss_phone.py,sha256=Yzc5sNjrY8TlnozbYF6k8hbEamyDuUAD_3-BNqHgXqY,13068
|
@@ -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.
|
149
|
-
not1mm-24.7.
|
150
|
-
not1mm-24.7.
|
151
|
-
not1mm-24.7.
|
152
|
-
not1mm-24.7.
|
153
|
-
not1mm-24.7.
|
148
|
+
not1mm-24.7.29.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
149
|
+
not1mm-24.7.29.dist-info/METADATA,sha256=gxO9nKYQuDwbFIRsySM-8YZydIx54Nn5gF8W8UUhUAY,29506
|
150
|
+
not1mm-24.7.29.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
151
|
+
not1mm-24.7.29.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
|
152
|
+
not1mm-24.7.29.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
|
153
|
+
not1mm-24.7.29.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|