kopia lustrzana https://github.com/projecthorus/horus-gui
70 wiersze
1.8 KiB
Python
70 wiersze
1.8 KiB
Python
# Modem Interfacing
|
|
import logging
|
|
|
|
|
|
# Modem paramers and defaults
|
|
HORUS_MODEM_LIST = {
|
|
"Horus Binary v1 (Legacy)": {
|
|
"id": 0,
|
|
"baud_rates": [50, 100, 300],
|
|
"default_baud_rate": 100,
|
|
"default_tone_spacing": 270,
|
|
"use_mask_estimator": False,
|
|
},
|
|
"RTTY (7N2)": {
|
|
"id": 99,
|
|
"baud_rates": [50, 100, 300, 600, 1000],
|
|
"default_baud_rate": 100,
|
|
"default_tone_spacing": 425,
|
|
"use_mask_estimator": False,
|
|
},
|
|
}
|
|
|
|
DEFAULT_MODEM = "Horus Binary v1 (Legacy)"
|
|
|
|
horusModem = None
|
|
|
|
|
|
def init_horus_modem(widgets):
|
|
""" Initialise the modem drop-down lists """
|
|
|
|
# Clear modem list.
|
|
widgets["horusModemSelector"].clear()
|
|
|
|
# Add items from modem list
|
|
for _modem in HORUS_MODEM_LIST:
|
|
widgets["horusModemSelector"].addItem(_modem)
|
|
|
|
# Select default modem
|
|
widgets["horusModemSelector"].setCurrentText(DEFAULT_MODEM)
|
|
|
|
populate_modem_settings(widgets)
|
|
|
|
|
|
def populate_modem_settings(widgets):
|
|
""" Populate the modem settings for the current selected modem """
|
|
|
|
_current_modem = widgets["horusModemSelector"].currentText()
|
|
|
|
# Clear baud rate dropdown.
|
|
widgets["horusModemRateSelector"].clear()
|
|
|
|
# Populate
|
|
for _rate in HORUS_MODEM_LIST[_current_modem]["baud_rates"]:
|
|
widgets["horusModemRateSelector"].addItem(str(_rate))
|
|
|
|
# Select default rate.
|
|
widgets["horusModemRateSelector"].setCurrentText(
|
|
str(HORUS_MODEM_LIST[_current_modem]["default_baud_rate"])
|
|
)
|
|
|
|
# Set Mask Estimator checkbox.
|
|
widgets["horusMaskEstimatorSelector"].setChecked(
|
|
HORUS_MODEM_LIST[_current_modem]["use_mask_estimator"]
|
|
)
|
|
|
|
# Set Tone Spacing Input Box
|
|
widgets["horusMaskSpacingEntry"].setText(
|
|
str(HORUS_MODEM_LIST[_current_modem]["default_tone_spacing"])
|
|
)
|