Preparing for the next release.

This commit is contained in:
Marat Fayzullin 2024-03-08 23:10:01 -05:00
parent d2fd229825
commit 04809fca54
11 changed files with 118 additions and 27 deletions

View File

@ -421,6 +421,12 @@
"vdl2": 136975000
}
},
{
"name": "VHF Satellite",
"lower_bound": 137000000,
"upper_bound": 138000000,
"tags": ["service"]
},
{
"name": "VHF Marine",
"lower_bound": 156000000,

View File

@ -0,0 +1,27 @@
[
{
"name" : "NOAA 15",
"frequency" : 137620000,
"modulation" : "noaa-apt-15"
},
{
"name" : "NOAA 18",
"frequency" : 137912500,
"modulation" : "noaa-apt-18"
},
{
"name" : "NOAA 19",
"frequency" : 137100000,
"modulation" : "noaa-apt-19"
},
{
"name" : "Meteor M2-3",
"frequency" : 137900000,
"modulation" : "meteor-lrpt"
},
{
"name" : "Meteor M2-4",
"frequency" : 137100000,
"modulation" : "meteor-lrpt"
}
]

View File

@ -487,3 +487,12 @@ RHA23|||71550|NFM
RHA24|||71575|NFM
RHA25|||71600|NFM
RHA26|||72325|NFM
#
# Satellities
#
NOAA 15|||137620|NOAA-APT-15
NOAA 18|||137912.5|NOAA-APT-18
NOAA 19|||137100|NOAA-APT-19
Meteor M2-3|||137900|METEOR-LRPT
Meteor M2-4|||137100|METEOR-LRPT

View File

@ -5,6 +5,7 @@ from pycsdr.types import Format
from owrx.toolbox import TextParser, PageParser, SelCallParser, IsmParser, RdsParser
from owrx.aircraft import HfdlParser, Vdl2Parser, AdsbParser, AcarsParser
from datetime import datetime
import os
class IsmDemodulator(ServiceDemodulator, DialFrequencyReceiver):
@ -231,7 +232,7 @@ class NoaaAptDemodulator(ServiceDemodulator, DialFrequencyReceiver):
return False
def setDialFrequency(self, frequency: int) -> None:
# TODO: Do something with the frequency or remove method
# TODO: Do something with the frequency or remove DialFrequencyReceiver
pass
@ -251,5 +252,5 @@ class MeteorLrptDemodulator(ServiceDemodulator, DialFrequencyReceiver):
return False
def setDialFrequency(self, frequency: int) -> None:
# TODO: Do something with the frequency or remove method
# TODO: Do something with the frequency or remove DialFrequencyReceiver
pass

View File

@ -177,7 +177,7 @@ class DablinModule(ExecModule):
class SatDumpModule(ExecModule):
def __init__(self, mode: str = "noaa_apt", sampleRate: int = 50000, frequency: int = 137000000, options = None):
def __init__(self, mode: str = "noaa_apt", sampleRate: int = 50000, frequency: int = 137100000, options = None):
# Make sure we have output folder
self.outFolder = "/tmp/satdump"
try:

10
debian/changelog vendored
View File

@ -1,3 +1,13 @@
openwebrx (1.2.51) bullseye jammy; urgency=low
* Background DSC decoding now works.
* Added DSC display of timestamps and frequencies.
* Added preliminary SatDump support (experts only!)
* Removed 'apt install' lines from feature instructions.
* Allowed dash in modulation names.
-- Marat Fayzullin <luarvique@gmail.com> Mon, 11 Mar 2024 16:12:00 +0000
openwebrx (1.2.50) bullseye jammy; urgency=low
* Added DSC decoder and bookmarks.

2
debian/control vendored
View File

@ -18,7 +18,7 @@ Depends: adduser,
python3 (>= 3.5),
python3-pkg-resources,
owrx-connector (>= 0.6.5),
python3-csdr (>= 0.18.19),
python3-csdr (>= 0.18.20),
${python3:Depends},
${misc:Depends}
Recommends: python3-digiham (>= 0.6),

View File

@ -728,6 +728,18 @@ class DspManager(SdrSourceEventClient, ClientDemodulatorSecondaryDspEventClient)
elif mod == "adsb":
from csdr.chain.toolbox import AdsbDemodulator
return AdsbDemodulator()
elif mod == "noaa-apt-15":
from csdr.chain.toolbox import NoaaAptDemodulator
return NoaaAptDemodulator(satellite=15)
elif mod == "noaa-apt-18":
from csdr.chain.toolbox import NoaaAptDemodulator
return NoaaAptDemodulator(satellite=18)
elif mod == "noaa-apt-19":
from csdr.chain.toolbox import NoaaAptDemodulator
return NoaaAptDemodulator(satellite=19)
elif mod == "meteor-lrpt":
from csdr.chain.toolbox import MeteorLrptDemodulator
return MeteorLrptDemodulator()
def setSecondaryDemodulator(self, mod):
demodulator = self._getSecondaryDemodulator(mod)

View File

@ -270,26 +270,46 @@ class Modes(object):
secondaryFft=False
),
# Work in progress
# DigitalMode(
# "noaa-apt",
# "NOAA APT",
# underlying=["empty"],
# bandpass=Bandpass(-25000, 25000),
# requirements=["wxsat"],
# service=True,
# squelch=False,
# secondaryFft=False
# ),
# DigitalMode(
# "meteor-lrpt",
# "Meteor-M2 LRPT",
# underlying=["empty"],
# bandpass=Bandpass(-75000, 75000),
# requirements=["wxsat"],
# service=True,
# squelch=False,
# secondaryFft=False
# ),
DigitalMode(
"noaa-apt-15",
"NOAA-15 APT",
underlying=["empty"],
bandpass=Bandpass(-25000, 25000),
requirements=["wxsat"],
service=True,
squelch=False,
secondaryFft=False
),
DigitalMode(
"noaa-apt-18",
"NOAA-18 APT",
underlying=["empty"],
bandpass=Bandpass(-25000, 25000),
requirements=["wxsat"],
service=True,
squelch=False,
secondaryFft=False
),
DigitalMode(
"noaa-apt-19",
"NOAA-19 APT",
underlying=["empty"],
bandpass=Bandpass(-25000, 25000),
requirements=["wxsat"],
service=True,
squelch=False,
secondaryFft=False
),
DigitalMode(
"meteor-lrpt",
"Meteor-M2 LRPT",
underlying=["empty"],
bandpass=Bandpass(-75000, 75000),
requirements=["wxsat"],
service=True,
squelch=False,
secondaryFft=False
),
]
@staticmethod

View File

@ -347,9 +347,15 @@ class ServiceHandler(SdrSourceEventClient):
elif mod == "adsb":
from csdr.chain.toolbox import AdsbDemodulator
return AdsbDemodulator(service=True)
elif mod == "noaa-apt":
elif mod == "noaa-apt-15":
from csdr.chain.toolbox import NoaaAptDemodulator
return NoaaAptDemodulator(service=True)
return NoaaAptDemodulator(satellite=15, service=True)
elif mod == "noaa-apt-18":
from csdr.chain.toolbox import NoaaAptDemodulator
return NoaaAptDemodulator(satellite=18, service=True)
elif mod == "noaa-apt-19":
from csdr.chain.toolbox import NoaaAptDemodulator
return NoaaAptDemodulator(satellite=19, service=True)
elif mod == "meteor-lrpt":
from csdr.chain.toolbox import MeteorLrptDemodulator
return MeteorLrptDemodulator(service=True)

View File

@ -1,5 +1,5 @@
from distutils.version import LooseVersion
_versionstring = "1.2.50"
_versionstring = "1.2.51"
looseversion = LooseVersion(_versionstring)
openwebrx_version = "v{0}".format(looseversion)