Skip to main content

An FDX protocol reader for Garmin GND10

Project description

FDX reader for Garmin GND10
===========================

This is software to read the FDX protocol data seen on the USB port of Garmin
GND10 gateways.

The GND10 unit is used on boats and translates between Nexus FDX and NMEA2000.

Installation
------------

fdxread requirements are listed in `requirements.txt` and should be installed
using pip.

```
git clone https://github.com/lkarsten/fdxread.git
cd fdxread
virtualenv --system-site-packages venv
. venv/bin/activate
pip install -r requirements.txt
```

Tested on Linux and OS X.

Running it
----------

```
$ ./fdxread -h
usage: fdxread [-h] [--format fmt] [--seek n] [--pace n] [-v] inputfile

fdxread - Nexus FDX parser (incl. Garmin GND10)

positional arguments:
inputfile Serial port or file to read from. Examples: /dev/ttyACM0,
COM3, ./file.dump

optional arguments:
-h, --help show this help message and exit
--format fmt Output mode, default nmea0183. (json, signalk, nmea0183, raw)
--seek n Seek this many bytes into file before starting (for files)
--pace n Pace reading to n messages per second (for files)
-v, --verbose Verbose output

fdxread is used to read FDX protocol data from Garmin GND10 units.
```


```
(inside a populated virtualenv, as described above)
./fdxread /dev/ttyACM0
```

This will read FDX from `/dev/ttyACM0`, and output NMEA0183 to stdout.

To avoid having to muck around with serial ports and locking, I usually run a
[kplex](http://www.stripydog.com/kplex/) TCP server on port 10110, and pipe the
output to it using netcat. That way OpenCPN can read it easily, and I get to
know where I am on the map.


Background information
----------------------

Everything here is deduced from staring at the arriving bytes while
disconnecting some units and motoring in circles. Something was pretty simple to
figure out, some other metrics I'm still not sure is right.

Use at your own risk.

On a side note, I believe this is the only open/freely available document on the
frame format of the `Fast Data eXchange (FDX)` protocol used in Nexus Marine
AB's Nexus products, now owned by Garmin. See `fdxprotocol.rst` and
`libfdx/decode.py` for notes taken while working this out.

License
-------

The contents of this repository is licensed under GNU GPLv2. See the `LICENSE`
file for more information.

Copyright (C) 2016-2017 Lasse Karstensen

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

fdxread-0.9.1.tar.gz (107.6 kB view details)

Uploaded Source

File details

Details for the file fdxread-0.9.1.tar.gz.

File metadata

  • Download URL: fdxread-0.9.1.tar.gz
  • Upload date:
  • Size: 107.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fdxread-0.9.1.tar.gz
Algorithm Hash digest
SHA256 4246230eb4441ed702499dd1a52986c196d78a81737bea98a293aaa81ce3711a
MD5 624e9d8d28705d26e14636aedc68860d
BLAKE2b-256 96f0dda2159b2e028cf0d2209371f50b635491a74bae9615d51c8149c7e6ae6b

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