not1mm 24.7.25.1__py3-none-any.whl → 24.7.28__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 +19 -11
- not1mm/lib/cat_interface.py +20 -4
- not1mm/lib/version.py +1 -1
- not1mm/plugins/arrl_field_day.py +47 -0
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.28.dist-info}/METADATA +2 -1
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.28.dist-info}/RECORD +10 -10
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.28.dist-info}/WHEEL +1 -1
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.28.dist-info}/LICENSE +0 -0
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.28.dist-info}/entry_points.txt +0 -0
- {not1mm-24.7.25.1.dist-info → not1mm-24.7.28.dist-info}/top_level.txt +0 -0
not1mm/__main__.py
CHANGED
@@ -1264,6 +1264,12 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1264
1264
|
else:
|
1265
1265
|
self.cw_speed.hide()
|
1266
1266
|
|
1267
|
+
if hasattr(self.contest, "ft8_handler"):
|
1268
|
+
self.contest.set_self(self)
|
1269
|
+
self.ft8.set_callback(self.contest.ft8_handler)
|
1270
|
+
else:
|
1271
|
+
self.ft8.set_callback(None)
|
1272
|
+
|
1267
1273
|
self.clearinputs()
|
1268
1274
|
cmd = {}
|
1269
1275
|
cmd["cmd"] = "NEWDB"
|
@@ -1655,6 +1661,12 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1655
1661
|
if self.cw.servertype == 1:
|
1656
1662
|
self.cw.sendcw("\x1b4")
|
1657
1663
|
return
|
1664
|
+
if self.rig_control:
|
1665
|
+
if self.rig_control.online:
|
1666
|
+
if self.pref.get("cwtype") == 3 and self.rig_control is not None:
|
1667
|
+
if self.rig_control.interface == "flrig":
|
1668
|
+
self.rig_control.cat.set_flrig_cw_send(False)
|
1669
|
+
self.rig_control.cat.set_flrig_cw_send(True)
|
1658
1670
|
if event.key() == Qt.Key.Key_Up:
|
1659
1671
|
cmd = {}
|
1660
1672
|
cmd["cmd"] = "PREVSPOT"
|
@@ -2867,12 +2879,15 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2867
2879
|
None
|
2868
2880
|
"""
|
2869
2881
|
|
2870
|
-
if mode in ("CW", "CW-U", "CW-L"):
|
2882
|
+
if mode in ("CW", "CW-U", "CW-L", "CWR"):
|
2871
2883
|
self.setmode("CW")
|
2872
2884
|
self.radio_state["mode"] = "CW"
|
2873
2885
|
if self.rig_control:
|
2874
2886
|
if self.rig_control.online:
|
2875
2887
|
self.rig_control.set_mode("CW")
|
2888
|
+
if self.pref.get("cwtype") == 3 and self.rig_control is not None:
|
2889
|
+
if self.rig_control.interface == "flrig":
|
2890
|
+
self.rig_control.cat.set_flrig_cw_send(True)
|
2876
2891
|
band = getband(str(self.radio_state.get("vfoa", "0.0")))
|
2877
2892
|
self.set_band_indicator(band)
|
2878
2893
|
self.set_window_title()
|
@@ -3019,7 +3034,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3019
3034
|
|
3020
3035
|
def setmode(self, mode: str) -> None:
|
3021
3036
|
"""Call when the mode changes."""
|
3022
|
-
if mode in ("CW", "CW-U", "CW-L"):
|
3037
|
+
if mode in ("CW", "CW-U", "CW-L", "CWR"):
|
3023
3038
|
if self.current_mode != "CW":
|
3024
3039
|
self.current_mode = "CW"
|
3025
3040
|
self.sent.setText("599")
|
@@ -3149,7 +3164,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3149
3164
|
info_dirty = True
|
3150
3165
|
self.radio_state["bw"] = bw
|
3151
3166
|
|
3152
|
-
if mode in ("CW", "CW-U", "CW-L"):
|
3167
|
+
if mode in ("CW", "CW-U", "CW-L", "CWR"):
|
3153
3168
|
self.setmode(mode)
|
3154
3169
|
if mode == "LSB" or mode == "USB":
|
3155
3170
|
self.setmode("SSB")
|
@@ -3379,7 +3394,6 @@ def run() -> None:
|
|
3379
3394
|
f"Resolved OS file system paths: MODULE_PATH {fsutils.MODULE_PATH}, USER_DATA_PATH {fsutils.USER_DATA_PATH}, CONFIG_PATH {fsutils.CONFIG_PATH}"
|
3380
3395
|
)
|
3381
3396
|
install_icons()
|
3382
|
-
# timer.start(250)
|
3383
3397
|
sys.exit(app.exec())
|
3384
3398
|
|
3385
3399
|
|
@@ -3403,15 +3417,9 @@ app = QtWidgets.QApplication(sys.argv)
|
|
3403
3417
|
families = load_fonts_from_dir(os.fspath(fsutils.APP_DATA_PATH))
|
3404
3418
|
logger.info(f"font families {families}")
|
3405
3419
|
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
3420
|
window.callsign.setFocus()
|
3412
3421
|
window.show()
|
3413
|
-
|
3414
|
-
# timer.timeout.connect(window.poll_radio)
|
3422
|
+
|
3415
3423
|
|
3416
3424
|
if __name__ == "__main__":
|
3417
3425
|
run()
|
not1mm/lib/cat_interface.py
CHANGED
@@ -131,10 +131,9 @@ class CAT:
|
|
131
131
|
|
132
132
|
def sendcwxmlrpc(self, texttosend):
|
133
133
|
"""..."""
|
134
|
-
|
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,27 @@ 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):
|
151
|
+
"""..."""
|
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
|
+
|
152
168
|
def get_vfo(self) -> str:
|
153
169
|
"""Poll the radio for current vfo using the interface"""
|
154
170
|
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.28
|
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,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
223
223
|
|
224
224
|
## Recent Changes
|
225
225
|
|
226
|
+
- [24-7-28] Second try at flrig CW.
|
226
227
|
- [24-7-25-1] Have VFO dock widget handle disconnect/reconnect events of the USB VFO knob more gracefully.
|
227
228
|
- [24-7-25] Updated application categories for the desktop file.
|
228
229
|
- [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=3I8eJQEfM6RHZnJmXwK_VtdU1ZPcSNPlvtgziQuzGf4,121134
|
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=2Tzez8wO9ZATjheWkHRWTMi2jkt40W6tT7BNBbjVzuI,18839
|
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=b0kTxuIhWdsBX0VMhy3fn3YyF3XFCxs03DFSvGpgZjU,48
|
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.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,,
|
File without changes
|
File without changes
|
File without changes
|