better/fixed error GetFreqCorrection handling

pull/101/head
Joseph Poirier 2015-11-06 23:35:39 -06:00
rodzic 2dab583e8e
commit c5cf3898d3
1 zmienionych plików z 10 dodań i 9 usunięć

Wyświetl plik

@ -181,16 +181,17 @@ func (u *UAT) sdrConfig() (err error) {
//---------- Get/Set Freq Correction ---------- //---------- Get/Set Freq Correction ----------
freqCorr := u.dev.GetFreqCorrection() freqCorr := u.dev.GetFreqCorrection()
log.Printf("\tGetFreqCorrection: %d\n", freqCorr) log.Printf("\tGetFreqCorrection: %d\n", freqCorr)
err = u.dev.SetFreqCorrection(globalSettings.PPM) // avoid librtlsdr error code inconsistency, i.e.
// librtlsdr returned error code inconsistencies, i.e. // error code -2 means the stored value is the same as
// error code -2 means the current value is the same as
// the PPM value we sent (dev->corr == PPM) // the PPM value we sent (dev->corr == PPM)
if err != nil && err != -2 { if freqCorr != globalSettings.PPM
u.dev.Close() err = u.dev.SetFreqCorrection(globalSettings.PPM)
log.Printf("\tSetFreqCorrection %d Failed, error: %s\n", globalSettings.PPM, err) if err != nil{
return // just print a warning
} else { log.Printf("\tSetFreqCorrection %d Failed, error: %s\n", globalSettings.PPM, err)
log.Printf("\tSetFreqCorrection %d Successful\n", globalSettings.PPM) } else {
log.Printf("\tSetFreqCorrection %d Successful\n", globalSettings.PPM)
}
} }
return return
} }