Transmission protocol

class pygarmin.protocol.T001(gps)

Bases: object

Transmission Protocol.

This protocol is undocumented, but it appears to be a transmission protocol according to the GPS Manager (gpsman) application (https://sourceforge.net/projects/gpsman/).

This feature is undocumented in the spec. The implementation is derived from Appendix C: Changing the baud rate in Garmin mode in the GPS 18x Technical Specifications (https://static.garmin.com/pumac/GPS_18x_Tech_Specs.pdf)

static desired_baudrate(baudrate)

Return the desired baudrate.

Asynchronous protocols do not allow for much tolerance. The relative baudrate error tolerance for UART with 8N1 configuration is only ±5%.

However, since both transmitter and receiver may not generate the exact baudrate, the error must not exceed ±5% in total, which in the worst case (one too fast, one too slow) imposes a tight allowed deviation of +2.5% and -2.5% on the modules respectively. We therefore choose ±2.5% tolerance.

set_baudrate(baudrate)

Change the baudrate of the device.