Skip to content

Commit

Permalink
@mbridak Add ESM to ARRL Field Day and Winter Field Day.
Browse files Browse the repository at this point in the history
  • Loading branch information
mbridak committed Oct 19, 2024
1 parent 63edbf5 commit 3d845ad
Show file tree
Hide file tree
Showing 4 changed files with 185 additions and 3 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changelog

- [24-10-19] Change ESM button states when the run state is toggled.
- [24-10-19] Change ESM button states when the run state is toggled. Add ESM to ARRL Field Day and Winter Field Day.
- [24-10-18] Fixed marked spots showing the correct time.
- [24-10-17-2] Add ESM to ARRL Sweepstakes.
- [24-10-17-1] Fix dupe check. Reordered change mode and interface update sequence. Resend mode if rigctld does not report back `RPRT 0`
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
- ARRL 10M
- ARRL DX CW, SSB
- ARRL Field Day
- ARRL Sweepstakes CW, SSB
- .ARRL Sweepstakes CW, SSB
- ARRL VHF January, June, September
- CQ 160 CW, SSB
- .CQ WPX CW, RTTY, SSB
Expand All @@ -200,7 +200,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.

## Recent Changes

- [24-10-19] Change ESM button states when the run state is toggled.
- [24-10-19] Change ESM button states when the run state is toggled. Add ESM to ARRL Field Day and Winter Field Day.
- [24-10-18] Fixed marked spots showing the correct time.
- [24-10-17-2] Add ESM to ARRL Sweepstakes.
- [24-10-17-1] Fix dupe check. Reordered change mode and interface update sequence. Resend mode if rigctld does not report back `RPRT 0`
Expand Down
91 changes: 91 additions & 0 deletions not1mm/plugins/arrl_field_day.py
Original file line number Diff line number Diff line change
Expand Up @@ -401,3 +401,94 @@ def ft8_handler(the_packet: dict):
ALTEREGO.other_1.setText(the_packet.get("CLASS", "ERR"))
ALTEREGO.other_2.setText(the_packet.get("ARRL_SECT", "ERR"))
ALTEREGO.save_contact()


def process_esm(self, new_focused_widget=None, with_enter=False):
"""ESM State Machine"""

# self.pref["run_state"]

# -----===== Assigned F-Keys =====-----
# self.esm_dict["CQ"]
# self.esm_dict["EXCH"]
# self.esm_dict["QRZ"]
# self.esm_dict["AGN"]
# self.esm_dict["HISCALL"]
# self.esm_dict["MYCALL"]
# self.esm_dict["QSOB4"]

# ----==== text fields ====----
# self.callsign
# self.sent
# self.receive
# self.other_1
# self.other_2

if new_focused_widget is not None:
self.current_widget = self.inputs_dict.get(new_focused_widget)

# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")

for a_button in [
self.esm_dict["CQ"],
self.esm_dict["EXCH"],
self.esm_dict["QRZ"],
self.esm_dict["AGN"],
self.esm_dict["HISCALL"],
self.esm_dict["MYCALL"],
self.esm_dict["QSOB4"],
]:
if a_button is not None:
self.restore_button_color(a_button)

buttons_to_send = []

if self.pref.get("run_state"):
if self.current_widget == "callsign":
if len(self.callsign.text()) < 3:
self.make_button_green(self.esm_dict["CQ"])
buttons_to_send.append(self.esm_dict["CQ"])
elif len(self.callsign.text()) > 2:
self.make_button_green(self.esm_dict["HISCALL"])
self.make_button_green(self.esm_dict["EXCH"])
buttons_to_send.append(self.esm_dict["HISCALL"])
buttons_to_send.append(self.esm_dict["EXCH"])

elif self.current_widget in ["other_1", "other_2"]:
if self.other_1.text() == "" or self.other_2.text() == "":
self.make_button_green(self.esm_dict["AGN"])
buttons_to_send.append(self.esm_dict["AGN"])
else:
self.make_button_green(self.esm_dict["QRZ"])
buttons_to_send.append(self.esm_dict["QRZ"])
buttons_to_send.append("LOGIT")

if with_enter is True and bool(len(buttons_to_send)):
for button in buttons_to_send:
if button:
if button == "LOGIT":
self.save_contact()
continue
self.process_function_key(button)
else:
if self.current_widget == "callsign":
if len(self.callsign.text()) > 2:
self.make_button_green(self.esm_dict["MYCALL"])
buttons_to_send.append(self.esm_dict["MYCALL"])

elif self.current_widget in ["other_1", "other_2"]:
if self.other_1.text() == "" or self.other_2.text() == "":
self.make_button_green(self.esm_dict["AGN"])
buttons_to_send.append(self.esm_dict["AGN"])
else:
self.make_button_green(self.esm_dict["EXCH"])
buttons_to_send.append(self.esm_dict["EXCH"])
buttons_to_send.append("LOGIT")

if with_enter is True and bool(len(buttons_to_send)):
for button in buttons_to_send:
if button:
if button == "LOGIT":
self.save_contact()
continue
self.process_function_key(button)
91 changes: 91 additions & 0 deletions not1mm/plugins/winter_field_day.py
Original file line number Diff line number Diff line change
Expand Up @@ -321,3 +321,94 @@ def cabrillo(self):

def recalculate_mults(self):
"""Recalculates multipliers after change in logged qso."""


def process_esm(self, new_focused_widget=None, with_enter=False):
"""ESM State Machine"""

# self.pref["run_state"]

# -----===== Assigned F-Keys =====-----
# self.esm_dict["CQ"]
# self.esm_dict["EXCH"]
# self.esm_dict["QRZ"]
# self.esm_dict["AGN"]
# self.esm_dict["HISCALL"]
# self.esm_dict["MYCALL"]
# self.esm_dict["QSOB4"]

# ----==== text fields ====----
# self.callsign
# self.sent
# self.receive
# self.other_1
# self.other_2

if new_focused_widget is not None:
self.current_widget = self.inputs_dict.get(new_focused_widget)

# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")

for a_button in [
self.esm_dict["CQ"],
self.esm_dict["EXCH"],
self.esm_dict["QRZ"],
self.esm_dict["AGN"],
self.esm_dict["HISCALL"],
self.esm_dict["MYCALL"],
self.esm_dict["QSOB4"],
]:
if a_button is not None:
self.restore_button_color(a_button)

buttons_to_send = []

if self.pref.get("run_state"):
if self.current_widget == "callsign":
if len(self.callsign.text()) < 3:
self.make_button_green(self.esm_dict["CQ"])
buttons_to_send.append(self.esm_dict["CQ"])
elif len(self.callsign.text()) > 2:
self.make_button_green(self.esm_dict["HISCALL"])
self.make_button_green(self.esm_dict["EXCH"])
buttons_to_send.append(self.esm_dict["HISCALL"])
buttons_to_send.append(self.esm_dict["EXCH"])

elif self.current_widget in ["other_1", "other_2"]:
if self.other_1.text() == "" or self.other_2.text() == "":
self.make_button_green(self.esm_dict["AGN"])
buttons_to_send.append(self.esm_dict["AGN"])
else:
self.make_button_green(self.esm_dict["QRZ"])
buttons_to_send.append(self.esm_dict["QRZ"])
buttons_to_send.append("LOGIT")

if with_enter is True and bool(len(buttons_to_send)):
for button in buttons_to_send:
if button:
if button == "LOGIT":
self.save_contact()
continue
self.process_function_key(button)
else:
if self.current_widget == "callsign":
if len(self.callsign.text()) > 2:
self.make_button_green(self.esm_dict["MYCALL"])
buttons_to_send.append(self.esm_dict["MYCALL"])

elif self.current_widget in ["other_1", "other_2"]:
if self.other_1.text() == "" or self.other_2.text() == "":
self.make_button_green(self.esm_dict["AGN"])
buttons_to_send.append(self.esm_dict["AGN"])
else:
self.make_button_green(self.esm_dict["EXCH"])
buttons_to_send.append(self.esm_dict["EXCH"])
buttons_to_send.append("LOGIT")

if with_enter is True and bool(len(buttons_to_send)):
for button in buttons_to_send:
if button:
if button == "LOGIT":
self.save_contact()
continue
self.process_function_key(button)

0 comments on commit 3d845ad

Please sign in to comment.