Python package for parsing and creating TSIP packets
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”.
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
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.
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 == 0x41: print 'GPS time of week .......: %f' % (report) print 'Extended GPS week number: %d' % (report) print 'GPS UTC offset .........: %f' % (report) break
More examples can be found in the docs/examples/ folder.
- 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.
- Fixed README.rst so it renders properly on PyPi.
- 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.
- Rewritten from scratch.
- Implements almost complete set of TSIP commands supported by Trimble Copernicus II and Thunderbolt/Thunderbolt-E GPS receivers.
- First release on PyPI.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size tsip-0.3.2-py2.py3-none-any.whl (14.0 kB)||File type Wheel||Python version py2.py3||Upload date||Hashes View hashes|
|Filename, size tsip-0.3.2-py3.5.egg (21.6 kB)||File type Egg||Python version 3.5||Upload date||Hashes View hashes|
|Filename, size tsip-0.3.2.tar.gz (46.7 kB)||File type Source||Python version None||Upload date||Hashes View hashes|