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 ----------
freqCorr := u.dev.GetFreqCorrection()
log.Printf("\tGetFreqCorrection: %d\n", freqCorr)
err = u.dev.SetFreqCorrection(globalSettings.PPM)
// librtlsdr returned error code inconsistencies, i.e.
// error code -2 means the current value is the same as
// avoid librtlsdr error code inconsistency, i.e.
// error code -2 means the stored value is the same as
// the PPM value we sent (dev->corr == PPM)
if err != nil && err != -2 {
u.dev.Close()
log.Printf("\tSetFreqCorrection %d Failed, error: %s\n", globalSettings.PPM, err)
return
} else {
log.Printf("\tSetFreqCorrection %d Successful\n", globalSettings.PPM)
if freqCorr != globalSettings.PPM
err = u.dev.SetFreqCorrection(globalSettings.PPM)
if err != nil{
// just print a warning
log.Printf("\tSetFreqCorrection %d Failed, error: %s\n", globalSettings.PPM, err)
} else {
log.Printf("\tSetFreqCorrection %d Successful\n", globalSettings.PPM)
}
}
return
}