Example #1
0
 def _validateCurrentSentence(self):
     """
     Tests if a sentence contains a valid fix.
     """
     if (self.currentSentence.fixQuality is GPGGAFixQualities.INVALID_FIX
         or self.currentSentence.dataMode is GPGLLGPRMCFixQualities.VOID
         or self.currentSentence.fixType is GPGSAFixTypes.GSA_NO_FIX):
         raise base.InvalidSentence("bad sentence")
Example #2
0
def _split(sentence):
    """
    Returns the split version of an NMEA sentence, minus header
    and checksum.

    @param sentence: The NMEA sentence to split.
    @type sentence: C{str}

    >>> _split("$GPGGA,spam,eggs*00")
    ['GPGGA', 'spam', 'eggs']
    """
    if sentence[-3] == "*": # Sentence with checksum
        return sentence[1:-3].split(',')
    elif sentence[-1] == "*": # Sentence without checksum
        return sentence[1:-1].split(',')
    else:
        raise base.InvalidSentence("malformed sentence %s" % (sentence,))
Example #3
0
def _split(sentence):
    """
    Returns the split version of an NMEA sentence, minus header
    and checksum.

    >>> _split(b"$GPGGA,spam,eggs*00")
    [b'GPGGA', b'spam', b'eggs']

    @param sentence: The NMEA sentence to split.
    @type sentence: C{bytes}
    """
    if sentence[-3:-2] == b"*":  # Sentence with checksum
        return sentence[1:-3].split(b",")
    elif sentence[-1:] == b"*":  # Sentence without checksum
        return sentence[1:-1].split(b",")
    else:
        raise base.InvalidSentence(f"malformed sentence {sentence}")