From 3e042a82ed9ab7a75a22e2ac33e75d87cbdda986 Mon Sep 17 00:00:00 2001 From: Christopher Young Date: Wed, 21 Oct 2015 15:25:22 -0400 Subject: [PATCH] Revert SDR code changes. --- main/sdr.go | 92 +++++++++--------------------------------------- start_stratux.sh | 1 + 2 files changed, 17 insertions(+), 76 deletions(-) diff --git a/main/sdr.go b/main/sdr.go index e7f899e0..67301353 100644 --- a/main/sdr.go +++ b/main/sdr.go @@ -5,9 +5,6 @@ import ( rtl "github.com/jpoirier/gortlsdr" "log" "time" - "os/exec" - "strconv" - "strings" ) var uatSDR int // Index. @@ -15,20 +12,6 @@ var esSDR int // Index. var maxSignalStrength int - -func getSDRSerial(dev *rtl.Context) (string, error) { - info, err := dev.GetHwInfo() - if err != nil { - return "", err - } - info.Serial = strings.Replace(info.Serial, "\x00", "", -1) - return info.Serial, nil -} - -func setSDRSerial(dev *rtl.Context, info rtl.HwInfo) error { - return dev.SetHwInfo(info) -} - // Read 978MHz from SDR. func sdrReader() { var err error @@ -41,7 +24,12 @@ func sdrReader() { return } defer dev.Close() - + m, p, s, err := dev.GetUsbStrings() + if err != nil { + log.Printf("\tGetUsbStrings Failed - error: %s\n", err) + } else { + log.Printf("\tGetUsbStrings - %s %s %s\n", m, p, s) + } log.Printf("\tGetTunerType: %s\n", dev.GetTunerType()) //---------- Set Tuner Gain ---------- @@ -123,7 +111,7 @@ func sdrReader() { log.Printf("\tSetFreqCorrection %d Successful\n", globalSettings.PPM) } - for uatSDR != -1 && globalSettings.UAT_Enabled { + for uatSDR != -1 { var buffer = make([]uint8, rtl.DefaultBufLength) nRead, err := dev.ReadSync(buffer, rtl.DefaultBufLength) if err != nil { @@ -136,7 +124,6 @@ func sdrReader() { godump978.InChan <- buf } } - esSDR = -1 } // Read from the godump978 channel - on or off. @@ -158,75 +145,28 @@ func sdrWatcher() { // Update device count. globalStatus.Devices = uint(rtl.GetDeviceCount()) - if (uatSDR != -1 || !globalSettings.UAT_Enabled) && (esSDR != -1 || !globalSettings.ES_Enabled) { - // Nothing to do. All devices are set up and running or not required. - continue - } - - // Get the device strings for every device that we can. - devs := make(map[int]string) - for i := 0; i < int(globalStatus.Devices); i++ { - dev, err := rtl.Open(i) - if err != nil { - continue - } - serial, err := getSDRSerial(dev) - if err != nil { - continue - } - devs[i] = serial - dev.Close() - } - if uatSDR == -1 && globalSettings.UAT_Enabled { - for devid, serial := range devs { - if strings.HasPrefix(serial, "stratux:978") { - uatSDR = devid - delete(devs, devid) - break - } - } - if uatSDR == -1 { - for devid, _ := range devs { - uatSDR = devid - break - } - } - - if uatSDR != -1 { - log.Printf("UAT SDR: %d\n", uatSDR) - go sdrReader() - } else { - log.Printf("Can't start UAT listening - no available RTL-SDR.\n") + if globalStatus.Devices == 0 { + log.Printf("No RTL-SDR devices.\n") + continue } + uatSDR = 0 + go sdrReader() } - if esSDR == -1 && globalSettings.ES_Enabled { - for devid, _ := range devs { - esSDR = devid - break - } - - if esSDR != -1 { - log.Printf("ES SDR: %d\n", esSDR) - // Assume that this keeps running forever and won't change. - //TODO: esSDR modify, watch if SDR disappears. - err := exec.Command("/usr/bin/dump1090", "--net", "--device-index", strconv.Itoa(esSDR)).Run() - if err != nil { - log.Printf("Error executing /usr/bin/dump1090: %s\n", err.Error()) - } - } else { - log.Printf("Can't start ES listening - no available RTL-SDR.\n") + if globalStatus.Devices == 0 || (globalStatus.Devices == 1 && globalSettings.UAT_Enabled) { + log.Printf("Not enough RTL-SDR devices.\n") } + esSDR = 1 } } } func sdrInit() { - godump978.Dump978Init() uatSDR = -1 esSDR = -1 go sdrWatcher() go uatReader() + godump978.Dump978Init() go godump978.ProcessDataFromChannel() } diff --git a/start_stratux.sh b/start_stratux.sh index ac7a8b82..938e4609 100755 --- a/start_stratux.sh +++ b/start_stratux.sh @@ -1,3 +1,4 @@ #!/bin/bash screen -S stratux -d -m /usr/bin/start_uat +screen -S dump1090 -d -m /usr/bin/dump1090 --net --device-index 1