项目作者: StevenMaude

项目描述 :
:satellite::watch: Update expired Extended Prediction Orbit (EPO) GPS data for Garmin devices, e.g. Forerunner watches. Spend less time waiting for a GPS fix before a run or cycle *without* Garmin's software!
高级语言: Go
项目地址: git://github.com/StevenMaude/armstrong.git
创建时间: 2016-08-10T22:08:52Z
项目社区:https://github.com/StevenMaude/armstrong

开源协议:GNU General Public License v2.0

下载


armstrong

About

Retrieve EPO.BIN GPS data from Garmin’s servers on any platform that you
can compile a Go binary for, rather than only those that support Garmin
Connect. Since Garmin’s software doesn’t run natively on Linux, it’s
useful there.

EPO.BIN is GPS Extended Prediction Orbit (EPO) satellite data valid for
7 days, used to help speed up GPS locking on Garmin devices that support
this.

For Forerunner devices, the file should be copied to
GARMIN/REMOTESW/EPO.BIN on the watch.

Alternatives

There are other existing options, e.g. running curl and then a short
Ruby script as detailed in this blog
post
, or
using postrunner, a more
complete application which also uses Ruby. However, this code can be
compiled into a standalone binary, for different platforms, and then run
without any dependencies.

Don’t want to run at all?

This repository hosts a daily
download of EPO.BIN.

Usage

Download

If you don’t want to build from source, Linux and Windows
binaries
are built
from tagged versions via GitHub Actions.

Build

With Go installed:

  • go build or go install

Or, use the Dockerfile via make:

  • make build-linux (for a Linux build)
  • make build-windows (for a Windows build)

Run

Just run the compiled binary. EPO.BIN should be generated
in the same directory.

Credits

Code uses the POST data and idea from the blog post
here
and
is also based on the GPL v2 licensed code in
postrunner, specifically
EPO_Downloader.rb. Go code is my contribution.