Merge branch 'm17' into develop

This commit is contained in:
Jakob Ketterl
2020-12-27 19:51:32 +01:00
6 changed files with 33 additions and 7 deletions

View File

@ -75,6 +75,7 @@ class FeatureDetector(object):
"digital_voice_digiham": ["digiham", "sox"],
"digital_voice_dsd": ["dsd", "sox", "digiham"],
"digital_voice_freedv": ["freedv_rx", "sox"],
"digital_voice_m17": ["m17_demod", "sox"],
"wsjt-x": ["wsjtx", "sox"],
"packet": ["direwolf", "sox"],
"pocsag": ["digiham", "sox"],
@ -150,7 +151,7 @@ class FeatureDetector(object):
# prevent X11 programs from opening windows if called from a GUI shell
env.pop("DISPLAY", None)
try:
process = subprocess.Popen(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, cwd=tmp_dir, env=env)
process = subprocess.Popen(cmd, stdin=subprocess.DEVNULL, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, cwd=tmp_dir, env=env)
rc = process.wait()
if expected_result is None:
return rc != 32512
@ -419,6 +420,14 @@ class FeatureDetector(object):
"""
return self.command_is_runnable("dsd")
def has_m17_demod(self):
"""
The `m17-demod` tool is used to demodulate M17 digital voice signals.
You can find more information [here](https://github.com/mobilinkd/m17-cxx-demod)
"""
return self.command_is_runnable("m17-demod")
def has_sox(self):
"""
The sox audio library is used to convert between the typical 8 kHz audio sampling rate used by digital modes and

View File

@ -63,6 +63,7 @@ class Modes(object):
AnalogMode("dstar", "D-Star", bandpass=Bandpass(-3250, 3250), requirements=["digital_voice_dsd"], squelch=False),
AnalogMode("nxdn", "NXDN", bandpass=Bandpass(-3250, 3250), requirements=["digital_voice_dsd"], squelch=False),
AnalogMode("ysf", "YSF", bandpass=Bandpass(-4000, 4000), requirements=["digital_voice_digiham"], squelch=False),
AnalogMode("m17", "M17", bandpass=Bandpass(-4000, 4000), requirements=["digital_voice_m17"], squelch=False),
AnalogMode("freedv", "FreeDV", bandpass=Bandpass(300, 3000), requirements=["digital_voice_freedv"], squelch=False),
AnalogMode("drm", "DRM", bandpass=Bandpass(-5000, 5000), requirements=["drm"], squelch=False),
DigitalMode("bpsk31", "BPSK31", underlying=["usb"]),