class documentation

class NMEAProtocol(LineReceiver, _sentence._PositioningSentenceProducerMixin): (source)

View In Hierarchy

A protocol that parses and verifies the checksum of an NMEA sentence (in string form, not NMEASentence), and delegates to a receiver.

It receives lines and verifies these lines are NMEA sentences. If they are, verifies their checksum and unpacks them into their components. It then wraps them in NMEASentence objects and calls the appropriate receiver method with them.

Parameters
receiverA receiver for NMEAProtocol sentence objects.
sentence​CallbackA function that will be called with a new NMEASentence when it is created. Useful for massaging data from particularly misbehaving NMEA receivers.
Method __init__ Initializes an NMEAProtocol.
Method line​Received Parses the data from the sentence and validates the checksum.
Constant _SENTENCE​_CONTENTS Has the field names in an NMEA sentence for each sentence type (in order, obviously).
Instance Variable _receiver Undocumented
Instance Variable _sentence​Callback Undocumented

Inherited from LineReceiver:

Method clear​Line​Buffer Clear buffered data.
Method data​Received Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.)
Method line​Length​Exceeded Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way.
Method raw​Data​Received Override this for when raw data is received.
Method send​Line Sends a line to the other end of the connection.
Method set​Line​Mode Sets the line-mode of this receiver.
Method set​Raw​Mode Sets the raw mode of this receiver. Further data received will be sent to rawDataReceived rather than lineReceived.
Constant MAX​_LENGTH The maximum length of a line to allow (If a sent line is longer than this, the connection is dropped). Default is 16384.
Class Variable delimiter The line-ending delimiter to use. By default this is b'\r\n'.
Instance Variable line​_mode Undocumented
Instance Variable _buffer Undocumented
Instance Variable _busy​Receiving Undocumented

Inherited from Protocol (via LineReceiver):

Method connection​Lost Called when the connection is shut down.
Method log​Prefix Return a prefix matching the class name, to identify log messages related to this protocol instance.
Class Variable factory Undocumented

Inherited from BaseProtocol (via LineReceiver, Protocol):

Method connection​Made Called when a connection is made.
Method make​Connection Make a connection to a transport and a server.
Instance Variable connected Undocumented
Instance Variable transport Undocumented

Inherited from _PauseableMixin (via LineReceiver):

Method pause​Producing Undocumented
Method resume​Producing Undocumented
Method stop​Producing Undocumented
Instance Variable paused Undocumented

Inherited from _PositioningSentenceProducerMixin:

Class Method get​Sentence​Attributes Returns a set of all attributes that might be found in the sentences produced by this protocol.
def __init__(self, receiver, sentenceCallback=None): (source)
Initializes an NMEAProtocol.
Parameters
receiver:INMEAReceiverA receiver for NMEAProtocol sentence objects.
sentence​Callback:unary callableA function that will be called with a new NMEASentence when it is created. Useful for massaging data from particularly misbehaving NMEA receivers.
def lineReceived(self, rawSentence): (source)
Parses the data from the sentence and validates the checksum.
Parameters
raw​Sentence:bytesThe NMEA positioning sentence.
_SENTENCE_CONTENTS: dict of bytestrings to lists of str = (source)
Has the field names in an NMEA sentence for each sentence type (in order, obviously).
Value
{'GPGGA': ['timestamp',
           'latitudeFloat',
           'latitudeHemisphere',
           'longitudeFloat',
           'longitudeHemisphere',
           'fixQuality',
           'numberOfSatellitesSeen',
...
_receiver = (source)

Undocumented

_sentenceCallback = (source)

Undocumented