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

  • develop and test in devcontainer (VSCode)
  • devops are managed with invoke , see tasks.py

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.6.2.tar.gz (39.7 kB view details)

Uploaded Source

Built Distribution

fixposition-0.6.2-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file fixposition-0.6.2.tar.gz.

File metadata

  • Download URL: fixposition-0.6.2.tar.gz
  • Upload date:
  • Size: 39.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fixposition-0.6.2.tar.gz
Algorithm Hash digest
SHA256 b20586adc6cc3b241a2652442e40bc27ea3b543ef4a34d7bdbf0966368fe43ff
MD5 e3ec08822c7712b111c38343cac335b2
BLAKE2b-256 1b92ad60ba00f676544bc04267840a213433f0d4a314b810b405dd76cad4c2aa

See more details on using hashes here.

File details

Details for the file fixposition-0.6.2-py3-none-any.whl.

File metadata

  • Download URL: fixposition-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for fixposition-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6d75207ca46449bae1e152fd0c4e6637f17d6cb3256c61f1bd9e4e88e8105e38
MD5 9fd262ffbbc354b00d21f6517be980ab
BLAKE2b-256 654dddf98f26465a9a44adf06661b7ac25d0f69e07e2ef8a78e5301eb7a18ab8

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