class NMEAProtocol(LineReceiver, _sentence._PositioningSentenceProducerMixin): (source)
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 | |
receiver | A receiver for NMEAProtocol sentence objects. |
sentenceCallback | A 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 | lineReceived |
Parses the data from the sentence and validates the checksum. |
Class Variable | _SENTENCE_CONTENTS |
Has the field names in an NMEA sentence for each sentence type (in order, obviously). |
Instance Variable | _receiver |
Undocumented |
Instance Variable | _sentenceCallback |
Undocumented |
Inherited from LineReceiver
:
Method | clearLineBuffer |
Clear buffered data. |
Method | dataReceived |
Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.) |
Method | lineLengthExceeded |
Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way. |
Method | rawDataReceived |
Override this for when raw data is received. |
Method | sendLine |
Sends a line to the other end of the connection. |
Method | setLineMode |
Sets the line-mode of this receiver. |
Method | setRawMode |
Sets the raw mode of this receiver. Further data received will be sent to rawDataReceived rather than lineReceived. |
Class Variable | delimiter |
The line-ending delimiter to use. By default this is b'\r\n'. |
Class Variable | 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. |
Instance Variable | line_mode |
Undocumented |
Instance Variable | _buffer |
Undocumented |
Instance Variable | _busyReceiving |
Undocumented |
Inherited from Protocol
(via LineReceiver
):
Method | connectionLost |
Called when the connection is shut down. |
Method | logPrefix |
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 | connectionMade |
Called when a connection is made. |
Method | makeConnection |
Make a connection to a transport and a server. |
Instance Variable | connected |
Undocumented |
Instance Variable | transport |
Undocumented |
Inherited from _PauseableMixin
(via LineReceiver
):
Method | pauseProducing |
Undocumented |
Method | resumeProducing |
Undocumented |
Method | stopProducing |
Undocumented |
Instance Variable | paused |
Undocumented |
Inherited from _PositioningSentenceProducerMixin
:
Class Method | getSentenceAttributes |
Returns a set of all attributes that might be found in the sentences produced by this protocol. |
Parameters | |
receiver:INMEAReceiver | A receiver for NMEAProtocol sentence objects. |
sentenceCallback:unary callable | A function that will be called with a new NMEASentence when it is created. Useful for massaging data from particularly misbehaving NMEA receivers. |
Parameters | |
rawSentence:bytes | The NMEA positioning sentence. |