class twisted.positioning.nmea.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:
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 |
Method | clearLineBuffer | Clear buffered data. |
Method | dataReceived | Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.) |
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. |
Method | rawDataReceived | Override this for when raw data is received. |
Method | sendLine | Sends a line to the other end of the connection. |
Method | lineLengthExceeded | Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way. |
Instance Variable | _buffer | Undocumented |
Instance Variable | _busyReceiving | Undocumented |
Inherited from Protocol (via LineReceiver):
Class Variable | factory | Undocumented |
Method | logPrefix | Return a prefix matching the class name, to identify log messages related to this protocol instance. |
Method | connectionLost | Called when the connection is shut down. |
Inherited from BaseProtocol (via LineReceiver, Protocol):
Instance Variable | connected | Undocumented |
Instance Variable | transport | Undocumented |
Method | makeConnection | Make a connection to a transport and a server. |
Method | connectionMade | Called when a connection is made. |
Inherited from _PauseableMixin (via LineReceiver):
Instance Variable | paused | Undocumented |
Method | pauseProducing | Undocumented |
Method | resumeProducing | Undocumented |
Method | stopProducing | Undocumented |
Inherited from _PositioningSentenceProducerMixin:
Class Method | getSentenceAttributes | Returns a set of all attributes that might be found in the sentences produced by this protocol. |
dict
of bytestrings to list
s of str
)
Initializes an NMEAProtocol.
Parameters | receiver | A receiver for NMEAProtocol sentence objects. (type: INMEAReceiver ) |
sentenceCallback | A function that will be called with a new NMEASentence when it is created. Useful for massaging data from particularly misbehaving NMEA receivers. (type: unary callable) |
Parses the data from the sentence and validates the checksum.
Parameters | rawSentence | The NMEA positioning sentence. (type: bytes ) |