Skip to main content

A RTCM decoder for MSM7 and ephemerides data in Python

Reason this release was yanked:

Wrong MSM7 field

Project description

rtcmdecoder

Assignment

This package was made as a final project for the course SE426 given by Professor Alain Muls. This package gives the user the ability to decode MSM7 and Ephemeris messages from all major GNSS:

  • GPS
  • GLONASS
  • Galileo
  • Beidou
  • SBAS
  • QZSS

This package pardes the proprietary GPS/GNSS differential correction messages designed by the Radio Technical Commission for Maritime Services. The datafields used in this package are described extensively in the RTCM standard.

Installation

Installation of the package can be done through the PyPi service through your terminal:

pip install rtcmdecoder

Or installation can be done in a virtual environment:

python3 -m pip install --user --upgrade virtualenv
python3 -m virtualenv venv 
source venv/bin/activate
(env) python3 -m pip install rtcmdecoder

If you wish to use the tools for personal development, the repository can be cloned in its entirety:

git clone https://github.com/P3tzl/Project-SE426.git

Input

We have implemented three different types of inputs that can be parsed by this package. The input parsing heavily relies on the pyrtcm package by semuconsulting. For every type of input, you need to specify:

  • The output directory
  • The mode (decode MSM7, ephemeris or both)

Depending on the selected mode, the output directory will contain files for MSM7 data, ephemeris or both. These will be clearly labeled and categorized by GNSS.

File

The most straightforward way to decode your data is to store it as raw bytes in a txt file (as output from another NTRIP client). An example of how to decode all the saved MSM7 and ephemeris messages:

rtcmdecoder -it file -i <input_file> -m both -o <my_output_directory> 

Stream

You can also connect your favorite receiver to your computer via USB and decode the data directly from a serial port. Note that during tests, we have only used the mosaic X5. Our program will identify the port you have connected your receiver to (if you have a succesful connection of course). The only thing you need to configure is the baudrate to make it correspond to the outgoing data from the receiver.

rtcmdecoder -it stream -m <MSM7/ephemeris/both> -o <my_output_directory> -bd <baudrate_receiver>

Connecting to the stream may sometimes not be as plug and play, depending on the receiver. Enable debugging mode by adding -d if you encounter any problems.

Server

The final option is connecting directly to a NTRIP server of your choice:

rtcmdecoder -it server -m both -o <my_output_directory> -s <server_address> -p <server_port> -u <username> -pw <password> -mp <mountpoint> -lt <listening_time> -fs <max_filesize>

We have implemented a circular buffer mechanism here that will overwrite existing data as well. The maximum size of the files is given with the flag -fs in MB.

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

rtcmdecoder-1.0.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rtcmdecoder-1.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file rtcmdecoder-1.0.tar.gz.

File metadata

  • Download URL: rtcmdecoder-1.0.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for rtcmdecoder-1.0.tar.gz
Algorithm Hash digest
SHA256 d0bea36e0c1ba3e5cc702be86005a3d51c3a9f123a1595c4a9186f99ec893fe7
MD5 e00e17650ac245b245f0e998b01b1c55
BLAKE2b-256 7811583d42d8a4da5aa7ca8a03481ced887597116a3f329725e25daf44662b46

See more details on using hashes here.

File details

Details for the file rtcmdecoder-1.0-py3-none-any.whl.

File metadata

  • Download URL: rtcmdecoder-1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for rtcmdecoder-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 946351c301ede4d3c189a2a1464cf8cb8a00cb01d3f47c86e10b8cd20a6d390e
MD5 1c4e2654645db64b0905ad11270e3e57
BLAKE2b-256 09f7ca9d4c022aeb76229db787da365917bdb1b57d72fd11ca2cb4ff00e1232a

See more details on using hashes here.

Supported by

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