From f2532842b53cf6c7129133da9cfd3ed929793bf5 Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Fri, 16 Feb 2024 15:37:17 +0100 Subject: [PATCH] first implementation of sstv decoding --- csdr/chain/sstv.py | 16 +++++++++ htdocs/css/openwebrx.css | 13 ++++++++ htdocs/index.html | 1 + htdocs/lib/DemodulatorPanel.js | 2 +- htdocs/lib/MessagePanel.js | 61 ++++++++++++++++++++++++++++++++++ htdocs/openwebrx.js | 4 +-- owrx/dsp.py | 3 ++ owrx/feature.py | 18 ++++++++++ owrx/modes.py | 1 + owrx/sstv.py | 61 ++++++++++++++++++++++++++++++++++ 10 files changed, 177 insertions(+), 3 deletions(-) create mode 100644 csdr/chain/sstv.py create mode 100644 owrx/sstv.py diff --git a/csdr/chain/sstv.py b/csdr/chain/sstv.py new file mode 100644 index 00000000..b559bf79 --- /dev/null +++ b/csdr/chain/sstv.py @@ -0,0 +1,16 @@ +from owrx.sstv import SstvParser +from csdr.chain.demodulator import SecondaryDemodulator, FixedAudioRateChain +from pycsdr.modules import FmDemod +from csdrsstv.modules import SstvDecoder + + +class Sstv(SecondaryDemodulator, FixedAudioRateChain): + def __init__(self): + super().__init__([ + FmDemod(), + SstvDecoder(), + SstvParser(), + ]) + + def getFixedAudioRate(self) -> int: + return 12000 diff --git a/htdocs/css/openwebrx.css b/htdocs/css/openwebrx.css index fae76378..6ad30442 100644 --- a/htdocs/css/openwebrx.css +++ b/htdocs/css/openwebrx.css @@ -1440,3 +1440,16 @@ img.openwebrx-mirror-img .under-construction:hover .under-construction-description { max-height: 500px; } + +.openwebrx-message-panel#openwebrx-panel-sstv-message { + min-height: initial; +} + +.sstv-canvas-container { + width: 320px; + height: 256px; +} + +.sstv-canvas-container canvas { + width: 100%; +} diff --git a/htdocs/index.html b/htdocs/index.html index 1e1c4c43..35c48904 100644 --- a/htdocs/index.html +++ b/htdocs/index.html @@ -81,6 +81,7 @@ +