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
===========================
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
Release history Release notifications | RSS feed
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)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4246230eb4441ed702499dd1a52986c196d78a81737bea98a293aaa81ce3711a |
|
MD5 | 624e9d8d28705d26e14636aedc68860d |
|
BLAKE2b-256 | 96f0dda2159b2e028cf0d2209371f50b635491a74bae9615d51c8149c7e6ae6b |