Skip to main content

Python driver for fixposition gps

Project description

fixposition

Python driver for fixposition gps

NOTE: work-in-progress

Currently these messages are supported: GGA,HDT,ODOMETRY

Functionality overview

  • parser.parse(msg: str, ignore: List[str] = []) -> FPX_Message | None: - parse NMEA message to a NamedTuple
  • record and replay messages with fixposition cli
  • use gps_node.FpxNode class as async node to interface with fixposition device over socket.

Usage

Message parsing:

from fixposition import parser

msg = "$GPHDT,61.7,T*05\r\n"

data = parser.parse(msg)

CLI tool

This package provides a command-line tool fixposition:

Usage: fixposition [OPTIONS] COMMAND [ARGS]...

Options:
--version  Show the version and exit.
--help     Show this message and exit.

Commands:
listen  Listen to messages and print them to stdout
node    Start the gps node
record  Record messages to file
replay  Replay messages from a file or default data if not provided.

How it works

  • message definitions are in fixposition.messages. Each submodule contains a parse() function.
  • @validate_checksum decorator adds nmea checksum to parse function.
  • parser.parse(msg) returns NamedTuple of a message

See .messages code, extending this should be easy.

References

Development

  1. develop and test in devcontainer (VSCode)
  2. trigger ci builds by bumping version with a tag. (see .gitlab-ci.yml)

Tooling

  • Verisoning : bump2version
  • Linting : pylint
  • Formatting: black
  • Typechecking: mypy
  • scripting: invoke : see tasks.py

What goes where

  • src/fixposition app code. pip install . .
  • tasks.py automates common tasks with invoke

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

fixposition-0.5.3.tar.gz (14.0 kB view hashes)

Uploaded Source

Built Distribution

fixposition-0.5.3-py3-none-any.whl (14.7 kB view hashes)

Uploaded Python 3

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