Adding FAX options.
This commit is contained in:
parent
a9c40dfb04
commit
a5836f8776
|
|
@ -1,6 +1,7 @@
|
||||||
**1.2.29**
|
**1.2.29**
|
||||||
- Added worldwide OpenWeatherMap support (needs key).
|
- Added worldwide OpenWeatherMap support (needs key).
|
||||||
- Added NFM to SSTV underlying modes (needs testing).
|
- Added NFM to SSTV underlying modes (needs testing).
|
||||||
|
* Added configurable FAX options (post-processing, etc).
|
||||||
- Added configurable aircraft data expiration times.
|
- Added configurable aircraft data expiration times.
|
||||||
- Improved aircraft data maintenance and merging.
|
- Improved aircraft data maintenance and merging.
|
||||||
- Improved SWL bookmarks generation (via EIBI).
|
- Improved SWL bookmarks generation (via EIBI).
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ from pycsdr.types import Format
|
||||||
from owrx.aprs.module import DirewolfModule
|
from owrx.aprs.module import DirewolfModule
|
||||||
from owrx.sstv import SstvParser
|
from owrx.sstv import SstvParser
|
||||||
from owrx.fax import FaxParser
|
from owrx.fax import FaxParser
|
||||||
|
from owrx.config import Config
|
||||||
|
|
||||||
class AudioChopperDemodulator(ServiceDemodulator, DialFrequencyReceiver):
|
class AudioChopperDemodulator(ServiceDemodulator, DialFrequencyReceiver):
|
||||||
def __init__(self, mode: str, parser: AudioChopperParser):
|
def __init__(self, mode: str, parser: AudioChopperParser):
|
||||||
|
|
@ -155,12 +156,23 @@ class SstvDemodulator(ServiceDemodulator, DialFrequencyReceiver):
|
||||||
|
|
||||||
class FaxDemodulator(ServiceDemodulator, DialFrequencyReceiver):
|
class FaxDemodulator(ServiceDemodulator, DialFrequencyReceiver):
|
||||||
def __init__(self, service: bool = False):
|
def __init__(self, service: bool = False):
|
||||||
self.parser = FaxParser(service=service)
|
pm = Config.get()
|
||||||
self.sampleRate = 12000
|
self.parser = FaxParser(service=service)
|
||||||
self.lpm = 120
|
self.sampleRate = 12000
|
||||||
self.dbgTime = 300000
|
self.lpm = 120
|
||||||
|
self.dbgTime = 300000
|
||||||
|
self.postProcess = pm["fax_postprocess"]
|
||||||
|
self.color = pm["fax_color"]
|
||||||
|
self.am = pm["fax_am"]
|
||||||
workers = [
|
workers = [
|
||||||
FaxDecoder(self.sampleRate, self.lpm, self.dbgTime),
|
FaxDecoder(
|
||||||
|
self.sampleRate,
|
||||||
|
self.lpm,
|
||||||
|
self.dbgTime,
|
||||||
|
postProcess = self.postProcess,
|
||||||
|
color = self.color,
|
||||||
|
am = self.am
|
||||||
|
),
|
||||||
self.parser
|
self.parser
|
||||||
]
|
]
|
||||||
super().__init__(workers)
|
super().__init__(workers)
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ openwebrx (1.2.29) bullseye jammy; urgency=low
|
||||||
|
|
||||||
* Added worldwide OpenWeatherMap support (needs key).
|
* Added worldwide OpenWeatherMap support (needs key).
|
||||||
* Added NFM to SSTV underlying modes (needs testing).
|
* Added NFM to SSTV underlying modes (needs testing).
|
||||||
|
* Added configurable FAX options (post-processing, etc).
|
||||||
* Added configurable aircraft data expiration times.
|
* Added configurable aircraft data expiration times.
|
||||||
* Improved aircraft data maintenance and merging.
|
* Improved aircraft data maintenance and merging.
|
||||||
* Improved SWL bookmarks generation (via EIBI).
|
* Improved SWL bookmarks generation (via EIBI).
|
||||||
|
|
|
||||||
|
|
@ -205,4 +205,7 @@ defaultConfig = PropertyLayer(
|
||||||
adsb_ttl=900,
|
adsb_ttl=900,
|
||||||
vdl2_ttl=1800,
|
vdl2_ttl=1800,
|
||||||
hfdl_ttl=1800,
|
hfdl_ttl=1800,
|
||||||
|
fax_postprocess=True,
|
||||||
|
fax_color=False,
|
||||||
|
fax_am=False
|
||||||
).readonly()
|
).readonly()
|
||||||
|
|
|
||||||
|
|
@ -59,33 +59,39 @@ class DecodingSettingsController(SettingsFormController):
|
||||||
NumberInput("digimodes_fft_size", "Digimodes FFT size", append="bins"),
|
NumberInput("digimodes_fft_size", "Digimodes FFT size", append="bins"),
|
||||||
),
|
),
|
||||||
Section(
|
Section(
|
||||||
"Pager traffic",
|
"Pager messages",
|
||||||
CheckboxInput(
|
CheckboxInput(
|
||||||
"paging_filter",
|
"paging_filter",
|
||||||
"Filter out empty, numeric, or unreadable pager messages",
|
"Filter out empty, numeric, or unreadable pager messages",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Section(
|
Section(
|
||||||
"Aircraft traffic",
|
"Aircraft messages",
|
||||||
NumberInput(
|
NumberInput(
|
||||||
"adsb_ttl",
|
"adsb_ttl",
|
||||||
"ADSB reports expiration time, in seconds",
|
"ADSB reports expiration time",
|
||||||
validator=RangeValidator(30, 3600),
|
validator=RangeValidator(30, 3600),
|
||||||
append="s",
|
append="s",
|
||||||
),
|
),
|
||||||
NumberInput(
|
NumberInput(
|
||||||
"vdl2_ttl",
|
"vdl2_ttl",
|
||||||
"VDL2 reports expiration time, in seconds",
|
"VDL2 reports expiration time",
|
||||||
validator=RangeValidator(30, 3600),
|
validator=RangeValidator(30, 3600),
|
||||||
append="s",
|
append="s",
|
||||||
),
|
),
|
||||||
NumberInput(
|
NumberInput(
|
||||||
"hfdl_ttl",
|
"hfdl_ttl",
|
||||||
"HFDL reports expiration time, in seconds",
|
"HFDL reports expiration time",
|
||||||
validator=RangeValidator(30, 3600),
|
validator=RangeValidator(30, 3600),
|
||||||
append="s",
|
append="s",
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
Section(
|
||||||
|
"Fax transmissions",
|
||||||
|
CheckboxInput("fax_postprocess", "Post-process received images to reduce noise"),
|
||||||
|
CheckboxInput("fax_color", "Receive color images"),
|
||||||
|
CheckboxInput("fax_am", "Use amplitude modulation"),
|
||||||
|
),
|
||||||
Section(
|
Section(
|
||||||
"Decoding settings",
|
"Decoding settings",
|
||||||
NumberInput("decoding_queue_workers", "Number of decoding workers"),
|
NumberInput("decoding_queue_workers", "Number of decoding workers"),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue