Skip to main content

Python package for parsing and creating TSIP packets

Project description

Version License Issues Travis-CI

About Python-TSIP

Python-TSIP is a Python package for parsing and creating TSIP packets. The Trimble Standard Interface Protocol (TSIP) is the binary protocol spoken by the GPS receivers sold by Trimble Navigation Ltd. (http://www.trimble.com).

Python-TSIP is available under the “BSD 2-Clause Simplified License”.

Status

Almost the full set of TSIP command and report packets understood by the Copernicus II receiver has been implemented but so far only some of them have been tested against the actual GPS. Implementing a complete set of tests against an actual Copernicus II receiver is currently work in progress. Presumably Trimble Thunderbolt and Thunderbolt-E are also supported as they appear to implement a subset of the commands/reports of the (newer) Copernicus II receiver. I don’t have access to any other Trimble products.

Python-TSIP is automatically tested against the following Python versions.

  • Python 2.6

  • Python 2.7

  • Python 3.3

  • Python 3.4

  • Python 3.5

  • pypy

  • pypy3

The tests currently fail on the following Python versions.

  • Python 3.2 (syntax error in the coverage module, it may work otherwise)

  • Jython (can’t get Tox to work with jython)

The master branch equals the latest release. The develop branch represents the latest development but may not always pass all tests.

Example

The following code shows how to receive the current GPS time from the receiver.

  • Command packet 0x21 requests the current GPS time.

  • Report packet 0x41 contains the current GPS time. Its fields are accessible by index.

import tsip
import serial

# Open serial connection to Copernicus II receiver
serial_conn = serial.Serial('/dev/ttyS0', 38400)
gps_conn = tsip.GPS(serial_conn)

# Prepare and send command packet 0x21
command = tsip.Packet(0x21)
gps_conn.write(command)

while True:      # should implement timeout here!!!
    report = gps_conn.read()
    if report[0] == 0x41:
        print 'GPS time of week .......: %f' % (report[1])
        print 'Extended GPS week number: %d' % (report[2])
        print 'GPS UTC offset .........: %f' % (report[3])
        break

More examples can be found in the docs/examples/ folder.

History

0.3.2 (28-Oct-2017)

  • Added Report Packet 0x58: GPS System Data from the Receiver.

  • Fixed Report Packet 0x47: Signals Levels for Tracked Satellites.

  • Fixed Report Packet 0x6D: Satellite Selection List.x

  • Added docs/examples/example2.py wich provides a more comprehensive template program than the example in the README.

0.3.1 (26-Sep-2017)

  • Fixed README.rst so it renders properly on PyPi.

0.3.0 (26-Sep-2017)

  • Argument to tsip.Packet() can now also be a tuple or list (inspired by Criss Swaim).

  • Changed development status from alpha to beta.

  • Cleaned up lots of code to satisfy flake8.

0.2.0 (03-Dec-2015)

  • Rewritten from scratch.

  • Implements almost complete set of TSIP commands supported by Trimble Copernicus II and Thunderbolt/Thunderbolt-E GPS receivers.

0.1.0 (20-Jun-2015)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tsip-0.3.2.tar.gz (46.7 kB view details)

Uploaded Source

Built Distributions

tsip-0.3.2-py3.5.egg (21.6 kB view details)

Uploaded Source

tsip-0.3.2-py2.py3-none-any.whl (14.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file tsip-0.3.2.tar.gz.

File metadata

  • Download URL: tsip-0.3.2.tar.gz
  • Upload date:
  • Size: 46.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tsip-0.3.2.tar.gz
Algorithm Hash digest
SHA256 2e993e0662180f220160106812f4a528117feb8ce91856096375d40560a38143
MD5 2b4864719364500e02e32f553445fadd
BLAKE2b-256 28ac15db4d96131c6865aa5bf2b977fbeb848a869559b9ed69551e73731b8463

See more details on using hashes here.

File details

Details for the file tsip-0.3.2-py3.5.egg.

File metadata

  • Download URL: tsip-0.3.2-py3.5.egg
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tsip-0.3.2-py3.5.egg
Algorithm Hash digest
SHA256 962a39e5ba0c866ea5daba2476de94ad60bf58ebdeab72fd440ffb39445b5d12
MD5 d42709937c82656073e64abcb07410f6
BLAKE2b-256 5357f72eb5a7c9b478c995dc270e10b20f563142034e12ff488cd578262d0df7

See more details on using hashes here.

File details

Details for the file tsip-0.3.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for tsip-0.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 65ca91c697300f146db3123cc78a1930850f964bf28cf9411ee6eab0c2aa8d79
MD5 df93406ca9c784e676764dcd95faff82
BLAKE2b-256 745324c9d14ab50ca1fe7bc716ac6d95a5900e1459fb7637a2abe79e5a4ad7c8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page