not1mm 24.11.24__py3-none-any.whl → 24.12.3.1__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 +8 -4
- not1mm/bandmap.py +9 -0
- not1mm/data/bandmap.ui +43 -12
- not1mm/data/configuration.ui +77 -67
- not1mm/data/new_contest.ui +5 -0
- not1mm/lib/cat_interface.py +24 -14
- not1mm/lib/database.py +17 -0
- not1mm/lib/settings.py +5 -0
- not1mm/lib/version.py +1 -1
- not1mm/plugins/10_10_fall_cw.py +91 -0
- not1mm/plugins/10_10_spring_cw.py +91 -0
- not1mm/plugins/10_10_summer_phone.py +91 -0
- not1mm/plugins/10_10_winter_phone.py +91 -0
- not1mm/plugins/arrl_10m.py +110 -0
- not1mm/plugins/arrl_160m.py +543 -0
- not1mm/plugins/arrl_vhf_jan.py +92 -1
- not1mm/plugins/arrl_vhf_jun.py +92 -1
- not1mm/plugins/arrl_vhf_sep.py +95 -1
- not1mm/plugins/cq_160_cw.py +94 -5
- not1mm/plugins/cq_160_ssb.py +94 -5
- not1mm/plugins/cq_ww_cw.py +14 -5
- not1mm/plugins/cq_ww_ssb.py +13 -5
- not1mm/radio.py +5 -4
- {not1mm-24.11.24.dist-info → not1mm-24.12.3.1.dist-info}/METADATA +30 -42
- {not1mm-24.11.24.dist-info → not1mm-24.12.3.1.dist-info}/RECORD +29 -28
- {not1mm-24.11.24.dist-info → not1mm-24.12.3.1.dist-info}/LICENSE +0 -0
- {not1mm-24.11.24.dist-info → not1mm-24.12.3.1.dist-info}/WHEEL +0 -0
- {not1mm-24.11.24.dist-info → not1mm-24.12.3.1.dist-info}/entry_points.txt +0 -0
- {not1mm-24.11.24.dist-info → not1mm-24.12.3.1.dist-info}/top_level.txt +0 -0
not1mm/plugins/arrl_vhf_jun.py
CHANGED
@@ -490,11 +490,102 @@ def ft8_handler(the_packet: dict):
|
|
490
490
|
ALTEREGO.save_contact()
|
491
491
|
|
492
492
|
|
493
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
494
|
+
"""ESM State Machine"""
|
495
|
+
|
496
|
+
# self.pref["run_state"]
|
497
|
+
|
498
|
+
# -----===== Assigned F-Keys =====-----
|
499
|
+
# self.esm_dict["CQ"]
|
500
|
+
# self.esm_dict["EXCH"]
|
501
|
+
# self.esm_dict["QRZ"]
|
502
|
+
# self.esm_dict["AGN"]
|
503
|
+
# self.esm_dict["HISCALL"]
|
504
|
+
# self.esm_dict["MYCALL"]
|
505
|
+
# self.esm_dict["QSOB4"]
|
506
|
+
|
507
|
+
# ----==== text fields ====----
|
508
|
+
# self.callsign
|
509
|
+
# self.sent
|
510
|
+
# self.receive
|
511
|
+
# self.other_1
|
512
|
+
# self.other_2
|
513
|
+
|
514
|
+
if new_focused_widget is not None:
|
515
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
516
|
+
|
517
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
518
|
+
|
519
|
+
for a_button in [
|
520
|
+
self.esm_dict["CQ"],
|
521
|
+
self.esm_dict["EXCH"],
|
522
|
+
self.esm_dict["QRZ"],
|
523
|
+
self.esm_dict["AGN"],
|
524
|
+
self.esm_dict["HISCALL"],
|
525
|
+
self.esm_dict["MYCALL"],
|
526
|
+
self.esm_dict["QSOB4"],
|
527
|
+
]:
|
528
|
+
if a_button is not None:
|
529
|
+
self.restore_button_color(a_button)
|
530
|
+
|
531
|
+
buttons_to_send = []
|
532
|
+
|
533
|
+
if self.pref.get("run_state"):
|
534
|
+
if self.current_widget == "callsign":
|
535
|
+
if len(self.callsign.text()) < 3:
|
536
|
+
self.make_button_green(self.esm_dict["CQ"])
|
537
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
538
|
+
elif len(self.callsign.text()) > 2:
|
539
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
540
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
541
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
542
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
543
|
+
|
544
|
+
elif self.current_widget in ["other_2"]:
|
545
|
+
if self.other_2.text() == "":
|
546
|
+
self.make_button_green(self.esm_dict["AGN"])
|
547
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
548
|
+
else:
|
549
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
550
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
551
|
+
buttons_to_send.append("LOGIT")
|
552
|
+
|
553
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
554
|
+
for button in buttons_to_send:
|
555
|
+
if button:
|
556
|
+
if button == "LOGIT":
|
557
|
+
self.save_contact()
|
558
|
+
continue
|
559
|
+
self.process_function_key(button)
|
560
|
+
else:
|
561
|
+
if self.current_widget == "callsign":
|
562
|
+
if len(self.callsign.text()) > 2:
|
563
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
564
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
565
|
+
|
566
|
+
elif self.current_widget in ["other_2"]:
|
567
|
+
if self.other_2.text() == "":
|
568
|
+
self.make_button_green(self.esm_dict["AGN"])
|
569
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
570
|
+
else:
|
571
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
572
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
573
|
+
buttons_to_send.append("LOGIT")
|
574
|
+
|
575
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
576
|
+
for button in buttons_to_send:
|
577
|
+
if button:
|
578
|
+
if button == "LOGIT":
|
579
|
+
self.save_contact()
|
580
|
+
continue
|
581
|
+
self.process_function_key(button)
|
582
|
+
|
583
|
+
|
493
584
|
def populate_history_info_line(self):
|
494
585
|
result = self.database.fetch_call_history(self.callsign.text())
|
495
586
|
if result:
|
496
587
|
self.history_info.setText(
|
497
|
-
f"{result.get('Call', '')}, {result.get('Loc1', '')}, {result.get('UserText','...')}"
|
588
|
+
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('Loc1', '')}, {result.get('UserText','...')}"
|
498
589
|
)
|
499
590
|
else:
|
500
591
|
self.history_info.setText("")
|
not1mm/plugins/arrl_vhf_sep.py
CHANGED
@@ -490,11 +490,102 @@ def ft8_handler(the_packet: dict):
|
|
490
490
|
ALTEREGO.save_contact()
|
491
491
|
|
492
492
|
|
493
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
494
|
+
"""ESM State Machine"""
|
495
|
+
|
496
|
+
# self.pref["run_state"]
|
497
|
+
|
498
|
+
# -----===== Assigned F-Keys =====-----
|
499
|
+
# self.esm_dict["CQ"]
|
500
|
+
# self.esm_dict["EXCH"]
|
501
|
+
# self.esm_dict["QRZ"]
|
502
|
+
# self.esm_dict["AGN"]
|
503
|
+
# self.esm_dict["HISCALL"]
|
504
|
+
# self.esm_dict["MYCALL"]
|
505
|
+
# self.esm_dict["QSOB4"]
|
506
|
+
|
507
|
+
# ----==== text fields ====----
|
508
|
+
# self.callsign
|
509
|
+
# self.sent
|
510
|
+
# self.receive
|
511
|
+
# self.other_1
|
512
|
+
# self.other_2
|
513
|
+
|
514
|
+
if new_focused_widget is not None:
|
515
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
516
|
+
|
517
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
518
|
+
|
519
|
+
for a_button in [
|
520
|
+
self.esm_dict["CQ"],
|
521
|
+
self.esm_dict["EXCH"],
|
522
|
+
self.esm_dict["QRZ"],
|
523
|
+
self.esm_dict["AGN"],
|
524
|
+
self.esm_dict["HISCALL"],
|
525
|
+
self.esm_dict["MYCALL"],
|
526
|
+
self.esm_dict["QSOB4"],
|
527
|
+
]:
|
528
|
+
if a_button is not None:
|
529
|
+
self.restore_button_color(a_button)
|
530
|
+
|
531
|
+
buttons_to_send = []
|
532
|
+
|
533
|
+
if self.pref.get("run_state"):
|
534
|
+
if self.current_widget == "callsign":
|
535
|
+
if len(self.callsign.text()) < 3:
|
536
|
+
self.make_button_green(self.esm_dict["CQ"])
|
537
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
538
|
+
elif len(self.callsign.text()) > 2:
|
539
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
540
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
541
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
542
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
543
|
+
|
544
|
+
elif self.current_widget in ["other_2"]:
|
545
|
+
if self.other_2.text() == "":
|
546
|
+
self.make_button_green(self.esm_dict["AGN"])
|
547
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
548
|
+
else:
|
549
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
550
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
551
|
+
buttons_to_send.append("LOGIT")
|
552
|
+
|
553
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
554
|
+
for button in buttons_to_send:
|
555
|
+
if button:
|
556
|
+
if button == "LOGIT":
|
557
|
+
self.save_contact()
|
558
|
+
continue
|
559
|
+
self.process_function_key(button)
|
560
|
+
else:
|
561
|
+
if self.current_widget == "callsign":
|
562
|
+
if len(self.callsign.text()) > 2:
|
563
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
564
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
565
|
+
|
566
|
+
elif self.current_widget in ["other_2"]:
|
567
|
+
if self.other_2.text() == "":
|
568
|
+
self.make_button_green(self.esm_dict["AGN"])
|
569
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
570
|
+
else:
|
571
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
572
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
573
|
+
buttons_to_send.append("LOGIT")
|
574
|
+
|
575
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
576
|
+
for button in buttons_to_send:
|
577
|
+
if button:
|
578
|
+
if button == "LOGIT":
|
579
|
+
self.save_contact()
|
580
|
+
continue
|
581
|
+
self.process_function_key(button)
|
582
|
+
|
583
|
+
|
493
584
|
def populate_history_info_line(self):
|
494
585
|
result = self.database.fetch_call_history(self.callsign.text())
|
495
586
|
if result:
|
496
587
|
self.history_info.setText(
|
497
|
-
f"{result.get('Call', '')}, {result.get('Loc1', '')}, {result.get('UserText','...')}"
|
588
|
+
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('Loc1', '')}, {result.get('UserText','...')}"
|
498
589
|
)
|
499
590
|
else:
|
500
591
|
self.history_info.setText("")
|
@@ -507,3 +598,6 @@ def check_call_history(self):
|
|
507
598
|
self.history_info.setText(f"{result.get('UserText','')}")
|
508
599
|
if self.other_2.text() == "":
|
509
600
|
self.other_2.setText(f"{result.get('Loc1', '')}")
|
601
|
+
|
602
|
+
|
603
|
+
# !!Order!!,Call,Name,Loc1,UserText,
|
not1mm/plugins/cq_160_cw.py
CHANGED
@@ -436,11 +436,102 @@ def recalculate_mults(self):
|
|
436
436
|
trigger_update(self)
|
437
437
|
|
438
438
|
|
439
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
440
|
+
"""ESM State Machine"""
|
441
|
+
|
442
|
+
# self.pref["run_state"]
|
443
|
+
|
444
|
+
# -----===== Assigned F-Keys =====-----
|
445
|
+
# self.esm_dict["CQ"]
|
446
|
+
# self.esm_dict["EXCH"]
|
447
|
+
# self.esm_dict["QRZ"]
|
448
|
+
# self.esm_dict["AGN"]
|
449
|
+
# self.esm_dict["HISCALL"]
|
450
|
+
# self.esm_dict["MYCALL"]
|
451
|
+
# self.esm_dict["QSOB4"]
|
452
|
+
|
453
|
+
# ----==== text fields ====----
|
454
|
+
# self.callsign
|
455
|
+
# self.sent
|
456
|
+
# self.receive
|
457
|
+
# self.other_1
|
458
|
+
# self.other_2
|
459
|
+
|
460
|
+
if new_focused_widget is not None:
|
461
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
462
|
+
|
463
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
464
|
+
|
465
|
+
for a_button in [
|
466
|
+
self.esm_dict["CQ"],
|
467
|
+
self.esm_dict["EXCH"],
|
468
|
+
self.esm_dict["QRZ"],
|
469
|
+
self.esm_dict["AGN"],
|
470
|
+
self.esm_dict["HISCALL"],
|
471
|
+
self.esm_dict["MYCALL"],
|
472
|
+
self.esm_dict["QSOB4"],
|
473
|
+
]:
|
474
|
+
if a_button is not None:
|
475
|
+
self.restore_button_color(a_button)
|
476
|
+
|
477
|
+
buttons_to_send = []
|
478
|
+
|
479
|
+
if self.pref.get("run_state"):
|
480
|
+
if self.current_widget == "callsign":
|
481
|
+
if len(self.callsign.text()) < 3:
|
482
|
+
self.make_button_green(self.esm_dict["CQ"])
|
483
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
484
|
+
elif len(self.callsign.text()) > 2:
|
485
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
486
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
487
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
488
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
489
|
+
|
490
|
+
elif self.current_widget in ["other_2"]:
|
491
|
+
if self.other_2.text() == "":
|
492
|
+
self.make_button_green(self.esm_dict["AGN"])
|
493
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
494
|
+
else:
|
495
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
496
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
497
|
+
buttons_to_send.append("LOGIT")
|
498
|
+
|
499
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
500
|
+
for button in buttons_to_send:
|
501
|
+
if button:
|
502
|
+
if button == "LOGIT":
|
503
|
+
self.save_contact()
|
504
|
+
continue
|
505
|
+
self.process_function_key(button)
|
506
|
+
else:
|
507
|
+
if self.current_widget == "callsign":
|
508
|
+
if len(self.callsign.text()) > 2:
|
509
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
510
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
511
|
+
|
512
|
+
elif self.current_widget in ["other_2"]:
|
513
|
+
if self.other_2.text() == "":
|
514
|
+
self.make_button_green(self.esm_dict["AGN"])
|
515
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
516
|
+
else:
|
517
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
518
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
519
|
+
buttons_to_send.append("LOGIT")
|
520
|
+
|
521
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
522
|
+
for button in buttons_to_send:
|
523
|
+
if button:
|
524
|
+
if button == "LOGIT":
|
525
|
+
self.save_contact()
|
526
|
+
continue
|
527
|
+
self.process_function_key(button)
|
528
|
+
|
529
|
+
|
439
530
|
def populate_history_info_line(self):
|
440
531
|
result = self.database.fetch_call_history(self.callsign.text())
|
441
532
|
if result:
|
442
533
|
self.history_info.setText(
|
443
|
-
f"{result.get('Call', '')}, {result.get('UserText','...')}"
|
534
|
+
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('State', '')}, {result.get('UserText','...')}"
|
444
535
|
)
|
445
536
|
else:
|
446
537
|
self.history_info.setText("")
|
@@ -451,7 +542,5 @@ def check_call_history(self):
|
|
451
542
|
result = self.database.fetch_call_history(self.callsign.text())
|
452
543
|
if result:
|
453
544
|
self.history_info.setText(f"{result.get('UserText','')}")
|
454
|
-
|
455
|
-
|
456
|
-
# if self.other_2.text() == "":
|
457
|
-
# self.other_2.setText(f"{result.get('State', '')}")
|
545
|
+
if self.other_2.text() == "":
|
546
|
+
self.other_2.setText(f"{result.get('State', '')}")
|
not1mm/plugins/cq_160_ssb.py
CHANGED
@@ -436,11 +436,102 @@ def recalculate_mults(self):
|
|
436
436
|
trigger_update(self)
|
437
437
|
|
438
438
|
|
439
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
440
|
+
"""ESM State Machine"""
|
441
|
+
|
442
|
+
# self.pref["run_state"]
|
443
|
+
|
444
|
+
# -----===== Assigned F-Keys =====-----
|
445
|
+
# self.esm_dict["CQ"]
|
446
|
+
# self.esm_dict["EXCH"]
|
447
|
+
# self.esm_dict["QRZ"]
|
448
|
+
# self.esm_dict["AGN"]
|
449
|
+
# self.esm_dict["HISCALL"]
|
450
|
+
# self.esm_dict["MYCALL"]
|
451
|
+
# self.esm_dict["QSOB4"]
|
452
|
+
|
453
|
+
# ----==== text fields ====----
|
454
|
+
# self.callsign
|
455
|
+
# self.sent
|
456
|
+
# self.receive
|
457
|
+
# self.other_1
|
458
|
+
# self.other_2
|
459
|
+
|
460
|
+
if new_focused_widget is not None:
|
461
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
462
|
+
|
463
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
464
|
+
|
465
|
+
for a_button in [
|
466
|
+
self.esm_dict["CQ"],
|
467
|
+
self.esm_dict["EXCH"],
|
468
|
+
self.esm_dict["QRZ"],
|
469
|
+
self.esm_dict["AGN"],
|
470
|
+
self.esm_dict["HISCALL"],
|
471
|
+
self.esm_dict["MYCALL"],
|
472
|
+
self.esm_dict["QSOB4"],
|
473
|
+
]:
|
474
|
+
if a_button is not None:
|
475
|
+
self.restore_button_color(a_button)
|
476
|
+
|
477
|
+
buttons_to_send = []
|
478
|
+
|
479
|
+
if self.pref.get("run_state"):
|
480
|
+
if self.current_widget == "callsign":
|
481
|
+
if len(self.callsign.text()) < 3:
|
482
|
+
self.make_button_green(self.esm_dict["CQ"])
|
483
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
484
|
+
elif len(self.callsign.text()) > 2:
|
485
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
486
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
487
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
488
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
489
|
+
|
490
|
+
elif self.current_widget in ["other_2"]:
|
491
|
+
if self.other_2.text() == "":
|
492
|
+
self.make_button_green(self.esm_dict["AGN"])
|
493
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
494
|
+
else:
|
495
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
496
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
497
|
+
buttons_to_send.append("LOGIT")
|
498
|
+
|
499
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
500
|
+
for button in buttons_to_send:
|
501
|
+
if button:
|
502
|
+
if button == "LOGIT":
|
503
|
+
self.save_contact()
|
504
|
+
continue
|
505
|
+
self.process_function_key(button)
|
506
|
+
else:
|
507
|
+
if self.current_widget == "callsign":
|
508
|
+
if len(self.callsign.text()) > 2:
|
509
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
510
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
511
|
+
|
512
|
+
elif self.current_widget in ["other_2"]:
|
513
|
+
if self.other_2.text() == "":
|
514
|
+
self.make_button_green(self.esm_dict["AGN"])
|
515
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
516
|
+
else:
|
517
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
518
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
519
|
+
buttons_to_send.append("LOGIT")
|
520
|
+
|
521
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
522
|
+
for button in buttons_to_send:
|
523
|
+
if button:
|
524
|
+
if button == "LOGIT":
|
525
|
+
self.save_contact()
|
526
|
+
continue
|
527
|
+
self.process_function_key(button)
|
528
|
+
|
529
|
+
|
439
530
|
def populate_history_info_line(self):
|
440
531
|
result = self.database.fetch_call_history(self.callsign.text())
|
441
532
|
if result:
|
442
533
|
self.history_info.setText(
|
443
|
-
f"{result.get('Call', '')}, {result.get('UserText','...')}"
|
534
|
+
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('State', '')}, {result.get('UserText','...')}"
|
444
535
|
)
|
445
536
|
else:
|
446
537
|
self.history_info.setText("")
|
@@ -451,7 +542,5 @@ def check_call_history(self):
|
|
451
542
|
result = self.database.fetch_call_history(self.callsign.text())
|
452
543
|
if result:
|
453
544
|
self.history_info.setText(f"{result.get('UserText','')}")
|
454
|
-
|
455
|
-
|
456
|
-
# if self.other_2.text() == "":
|
457
|
-
# self.other_2.setText(f"{result.get('State', '')}")
|
545
|
+
if self.other_2.text() == "":
|
546
|
+
self.other_2.setText(f"{result.get('State', '')}")
|
not1mm/plugins/cq_ww_cw.py
CHANGED
@@ -154,17 +154,26 @@ def points(self):
|
|
154
154
|
mycountry = item[1].get("entity", "")
|
155
155
|
mycontinent = item[1].get("continent", "")
|
156
156
|
result = self.cty_lookup(self.contact.get("Call", ""))
|
157
|
+
|
157
158
|
if result:
|
158
159
|
for item in result.items():
|
159
160
|
entity = item[1].get("entity", "")
|
160
161
|
continent = item[1].get("continent", "")
|
161
|
-
|
162
|
-
|
163
|
-
if mycontinent
|
162
|
+
|
163
|
+
# Contacts between stations on different continents count three (3) points.
|
164
|
+
if mycontinent != continent:
|
165
|
+
return 3
|
166
|
+
|
167
|
+
# Exception: Contacts between stations in different countries within the North American boundaries count two (2) points.
|
168
|
+
if (mycontinent == "NA" and continent == "NA") and mycountry != entity:
|
164
169
|
return 2
|
165
|
-
|
170
|
+
|
171
|
+
# Contacts between stations on the same continent but in different countries count one (1) point.
|
172
|
+
if mycountry.upper() != entity.upper():
|
166
173
|
return 1
|
167
|
-
|
174
|
+
|
175
|
+
# Contacts between stations in the same country have zero (0) QSO point value, but count for zone and country multiplier credit.
|
176
|
+
|
168
177
|
return 0
|
169
178
|
|
170
179
|
|
not1mm/plugins/cq_ww_ssb.py
CHANGED
@@ -149,13 +149,21 @@ def points(self):
|
|
149
149
|
for item in result.items():
|
150
150
|
entity = item[1].get("entity", "")
|
151
151
|
continent = item[1].get("continent", "")
|
152
|
-
|
153
|
-
|
154
|
-
if mycontinent
|
152
|
+
|
153
|
+
# Contacts between stations on different continents count three (3) points.
|
154
|
+
if mycontinent != continent:
|
155
|
+
return 3
|
156
|
+
|
157
|
+
# Exception: Contacts between stations in different countries within the North American boundaries count two (2) points.
|
158
|
+
if (mycontinent == "NA" and continent == "NA") and mycountry != entity:
|
155
159
|
return 2
|
156
|
-
|
160
|
+
|
161
|
+
# Contacts between stations on the same continent but in different countries count one (1) point.
|
162
|
+
if mycountry.upper() != entity.upper():
|
157
163
|
return 1
|
158
|
-
|
164
|
+
|
165
|
+
# Contacts between stations in the same country have zero (0) QSO point value, but count for zone and country multiplier credit.
|
166
|
+
|
159
167
|
return 0
|
160
168
|
|
161
169
|
|
not1mm/radio.py
CHANGED
@@ -27,8 +27,8 @@ class Radio(QObject):
|
|
27
27
|
vfoa = "14030000"
|
28
28
|
mode = "CW"
|
29
29
|
bw = "500"
|
30
|
-
delta =
|
31
|
-
poll_time = datetime.datetime.now() + datetime.timedelta(
|
30
|
+
delta = 500
|
31
|
+
poll_time = datetime.datetime.now() + datetime.timedelta(milliseconds=delta)
|
32
32
|
time_to_quit = False
|
33
33
|
online = False
|
34
34
|
interface = None
|
@@ -72,7 +72,7 @@ class Radio(QObject):
|
|
72
72
|
while not self.time_to_quit:
|
73
73
|
if datetime.datetime.now() > self.poll_time:
|
74
74
|
self.poll_time = datetime.datetime.now() + datetime.timedelta(
|
75
|
-
|
75
|
+
milliseconds=self.delta
|
76
76
|
)
|
77
77
|
vfoa = self.cat.get_vfo()
|
78
78
|
self.online = False
|
@@ -102,7 +102,8 @@ class Radio(QObject):
|
|
102
102
|
)
|
103
103
|
except QEventLoop:
|
104
104
|
...
|
105
|
-
QThread.msleep(
|
105
|
+
# QThread.msleep(int(self.delta / 2))
|
106
|
+
QThread.msleep(1)
|
106
107
|
|
107
108
|
def store_last_data_mode(self, the_mode: str = ""):
|
108
109
|
"""if the last mode is a data mode, save it."""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.
|
3
|
+
Version: 24.12.3.1
|
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
|
@@ -57,7 +57,7 @@ Requires-Dist: Levenshtein
|
|
57
57
|
- [Data and RTTY](#data-and-rtty)
|
58
58
|
- [Other not so supported contests](#other-not-so-supported-contests)
|
59
59
|
- [Our Code Contributors ✨](#our-code-contributors-)
|
60
|
-
- [List of should be working contests
|
60
|
+
- [List of should be working contests](#list-of-should-be-working-contests)
|
61
61
|
- [Recent Changes (Polishing the Turd)](#recent-changes-polishing-the-turd)
|
62
62
|
- [Flatpak](#flatpak)
|
63
63
|
- [Installation](#installation)
|
@@ -203,55 +203,43 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
203
203
|
<img src="https://contrib.rocks/image?repo=mbridak/not1mm" alt="Avatar icons for code contributors." />
|
204
204
|
</a>
|
205
205
|
|
206
|
-
## List of should be working contests
|
206
|
+
## List of should be working contests
|
207
207
|
|
208
|
-
-
|
208
|
+
- General Logging (There are better general loggers like QLog, KLog, CQRLog)
|
209
209
|
- 10 10 Fall CW
|
210
210
|
- 10 10 Spring CW
|
211
211
|
- 10 10 Summer Phone
|
212
212
|
- 10 10 Winter Phone
|
213
213
|
- ARRL 10M
|
214
|
-
-
|
215
|
-
-
|
216
|
-
-
|
214
|
+
- ARRL DX CW, SSB
|
215
|
+
- ARRL Field Day
|
216
|
+
- ARRL Sweepstakes CW, SSB
|
217
217
|
- ARRL VHF January, June, September
|
218
218
|
- CQ 160 CW, SSB
|
219
|
-
-
|
220
|
-
-
|
221
|
-
-
|
222
|
-
-
|
223
|
-
-
|
224
|
-
-
|
225
|
-
-
|
226
|
-
-
|
227
|
-
-
|
228
|
-
-
|
229
|
-
-
|
230
|
-
-
|
231
|
-
-
|
232
|
-
-
|
233
|
-
-
|
234
|
-
-
|
235
|
-
-
|
236
|
-
-
|
237
|
-
-
|
219
|
+
- CQ WPX CW, RTTY, SSB
|
220
|
+
- CQ World Wide CW, RTTY, SSB
|
221
|
+
- CWOps CWT
|
222
|
+
- DARC Xmas
|
223
|
+
- Helvetia
|
224
|
+
- IARU Fieldday R1 CW, SSB
|
225
|
+
- IARU HF
|
226
|
+
- ICWC MST
|
227
|
+
- Japan International DX CW, SSB
|
228
|
+
- K1USN Slow Speed Test
|
229
|
+
- LZ DX
|
230
|
+
- NAQP CW, RTTY, SSB
|
231
|
+
- Phone Weekly Test
|
232
|
+
- RAEM
|
233
|
+
- RAC Canada Day
|
234
|
+
- REF CW, SSB
|
235
|
+
- Stew Perry Topband
|
236
|
+
- Weekly RTTY
|
237
|
+
- Winter Field Day
|
238
238
|
|
239
239
|
## Recent Changes (Polishing the Turd)
|
240
240
|
|
241
|
-
- [24-
|
242
|
-
- [24-
|
243
|
-
- [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
|
244
|
-
- [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
|
245
|
-
- [24-11-18] Accepted PR from dg9vh for the DARC XMAS Contest.
|
246
|
-
- [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
|
247
|
-
- [24-11-15] Made checkwindow font bigger and match a little more contrasted.
|
248
|
-
- [24-11-12] add check for ipv4 address for CAT.
|
249
|
-
- [24-11-10] ReJiggered CAT/flrig interface to hopefull make it more workable.
|
250
|
-
- [24-11-6] Added Call history to ARRL VHF, CQ160, CQWW, StewPerry, Weekly RTTY
|
251
|
-
- [24-11-5] Fix crash with bad qrz credentials.
|
252
|
-
- [24-11-3-1] Fixed CWT ESM, Add Call History to CWT, Helvetia, WFD, NAQP, K1USN. Add ESM Helvetia.
|
253
|
-
- [24-11-3] Added RAEM contest
|
254
|
-
- [24-11-2] Add beginning of call history files. Add command buttons.
|
241
|
+
- [24-12-3-1] Adding ARRL 160
|
242
|
+
- [24-12-3] Add button to bandmap to delete marked spots.
|
255
243
|
|
256
244
|
See [CHANGELOG.md](CHANGELOG.md) for prior changes.
|
257
245
|
|
@@ -744,8 +732,7 @@ is this has happened, since the gridsquare will replace the word "Regional".
|
|
744
732
|
|
745
733
|
| Key | Result |
|
746
734
|
| -------------- | --- |
|
747
|
-
| [Esc] |
|
748
|
-
| [CTRL-Esc] | Stops cwdaemon from sending Morse. |
|
735
|
+
| [Esc] | Stops cwdaemon from sending Morse. |
|
749
736
|
| [PgUp] | Increases the cw sending speed. |
|
750
737
|
| [PgDown] | Decreases the cw sending speed. |
|
751
738
|
| [Arrow-Up] | Jump to the next spot above the current VFO cursor in the bandmap window (CAT Required). |
|
@@ -760,6 +747,7 @@ is this has happened, since the gridsquare will replace the word "Regional".
|
|
760
747
|
| [CTRL-G] | Tune to a spot matching partial text in the callsign entry field (CAT Required). |
|
761
748
|
| [CTRL-SHIFT-K] | Open CW text input field. |
|
762
749
|
| [CTRL-=] | Log the contact without sending the ESM macros.|
|
750
|
+
| [CTRL-W] | Clears the input fields of any text. |
|
763
751
|
|
764
752
|
### The Log Window
|
765
753
|
|