diff --git a/gps/gps.go b/gps/gps.go index 0d196c4..4133c96 100644 --- a/gps/gps.go +++ b/gps/gps.go @@ -20,30 +20,9 @@ var ( errInvalidGLLSentence = errors.New("invalid GLL NMEA sentence") errGPSCommandRejected = errors.New("GPS command rejected (NAK)") errNoACKToGPSCommand = errors.New("no ACK to GPS command") + errInvalidNMEASentanceFormat = errors.New("invalid NMEA sentence format") ) -type GPSError struct { - Err error - Info string - Sentence string -} - -func newGPSError(err error, sentence string, info string) GPSError { - return GPSError{ - Info: info, - Err: err, - Sentence: sentence, - } -} - -func (ge GPSError) Error() string { - return ge.Err.Error() + " " + ge.Info + " " + ge.Sentence -} - -func (ge GPSError) Unwrap() error { - return ge.Err -} - const ( minimumNMEALength = 7 startingDelimiter = '$' @@ -182,9 +161,7 @@ func validSentence(sentence string) error { } checksum := strings.ToUpper(hex.EncodeToString([]byte{cs})) if checksum != sentence[len(sentence)-2:len(sentence)] { - return newGPSError(errInvalidNMEAChecksum, sentence, - "expected "+sentence[len(sentence)-2:len(sentence)]+ - " got "+checksum) + return errInvalidNMEASentanceFormat } return nil diff --git a/gps/gpsparser.go b/gps/gpsparser.go index 6522a5f..8434587 100644 --- a/gps/gpsparser.go +++ b/gps/gpsparser.go @@ -104,7 +104,7 @@ func (parser *Parser) Parse(sentence string) (Fix, error) { return fix, nil } - return fix, newGPSError(errUnknownNMEASentence, sentence, typ) + return fix, errInvalidNMEASentanceFormat } // findTime returns the time from an NMEA sentence: diff --git a/gps/gpsparser_test.go b/gps/gpsparser_test.go index 9544312..8e035aa 100644 --- a/gps/gpsparser_test.go +++ b/gps/gpsparser_test.go @@ -8,13 +8,13 @@ import ( ) func TestParseUnknownSentence(t *testing.T) { - c := qt.New(t) - p := NewParser() val := "$GPGSV,3,1,09,07,14,317,22,08,31,284,25,10,32,133,39,16,85,232,29*7F" _, err := p.Parse(val) - c.Assert(err.Error(), qt.Contains, "unsupported NMEA sentence type") + if err == nil { + t.Error("should have unknown sentence err") + } } func TestParseGGA(t *testing.T) {