use config in input thread

This commit is contained in:
Bastian Schroll 2019-10-10 20:55:25 +02:00
parent 2f948b9e2d
commit bbe02b7459
3 changed files with 17 additions and 11 deletions

View file

@ -85,9 +85,13 @@ try:
# ========== INPUT CODE ==========
def handleSDRInput(dataQueue, config):
sdrProc = ProcessManager("/usr/bin/rtl_fm")
sdrProc.addArgument("-d " + str(config.get("device", default="0"))) # device id
for freq in config.get("frequencies"):
sdrProc.addArgument("-f " + freq)
sdrProc.addArgument("-l 50") # required fore scanning function
sdrProc.addArgument("-f " + freq) # frequencies
sdrProc.addArgument("-p " + str(config.get("error", default="0"))) # frequency error in ppm
sdrProc.addArgument("-l " + str(config.get("squelch", default="1"))) # squelch
sdrProc.addArgument("-g " + str(config.get("gain", default="automatic"))) # gain
sdrProc.addArgument("-s 22050") # bit rate of audio stream
if not sdrProc.start():
exit(0)
# sdrProc.skipLines(20)
@ -106,17 +110,17 @@ try:
logging.warning("rtl_fm was down - try to restart")
sdrProc.start()
# sdrProc.skipLines(20)
if not mmProc.isRunning:
elif not mmProc.isRunning:
logging.warning("multimon was down - try to restart")
mmProc.start()
mmProc.skipLines(5)
if sdrProc.isRunning and mmProc.isRunning:
elif sdrProc.isRunning and mmProc.isRunning:
line = mmProc.readline()
if line:
dataQueue.put_nowait((line, time.time()))
logging.debug("Add data to queue")
print(line)
logging.debug("stoping thread")
logging.debug("stopping thread")
mmProc.stop()
sdrProc.stop()

View file

@ -26,7 +26,7 @@ inputSource:
- 85M
- 86M
error: 0
squelch: 0
squelch: 1
gain: 100
decoder:

View file

@ -42,19 +42,21 @@ Aktuell gibt es nur `sdr:` als Input Quelle
|Feld|Beschreibung|Default|
|----|------------|-------|
|device|rtl_fm Device ID|0|
|frequency|Frequenz des Empfängers||
|frequencies|Liste der zu empfangenden Frequenzen||
|error|Frequenz Abweichung in ppm|0|
|squelch|Einstellung der Rauschsperre|0|
|gain|Verstärkung des Eingangssignals|100|
|squelch|Einstellung der Rauschsperre|1|
|gain|Verstärkung des Eingangssignals|automatic|
**Beispiel:**
```yaml
inputSource:
sdr:
device: 0
frequency: 85.000M
frequencies:
- 85.000M
- 86.0000M
error: 0
squelch: 0
squelch: 1
gain: 100
```