SwiftNav's SBP Library.
Haskell bindings for Swift Navigation Binary Protocol (SBP), a fast, simple, and minimal binary protocol for communicating with Swift devices. It is the native binary protocol used by the Piksi GPS receiver to transmit solutions, observations, status and debugging messages, as well as receive messages from the host operating system, such as differential corrections and the almanac.
SBP Bindings for Haskell
Haskell client for Swift Binary Protocol (SBP).
Requirements
haskell-stack
: Instructions here.
Install from Hackage
Available on Hackage as sbp
.
The library supports building against Stackage LTS-10. To install from Hackage using stack
:
$ stack install --resolver lts-10.10 sbp # (LTS-10)
Note that we explicitly specify the resolvers to use, as installing libsbp
may fail to build with more recent resolvers.
Next, install the latest version of sbp available in the snapshots. For example, if the latest version listed in the snapshots is v2.6.3, run:
$ stack install sbp-2.6.3
Building with cabal is possible but not supported and may fail to build.
Setup
To build:
$ stack build
To install:
$ stack install
To test and benchmark:
$ stack test && stack bench
To deploy to Hackage:
$ stack upload
Publishing
To publish to Hackage, use the publish-lower
recipe in the Shakefile.hs
with LTS-10 stack.yaml
:
$ STACK_YAML=stack-lts-10.yaml ./Shakefile.hs publish-lower
References
LICENSE
Copyright © 2015-2021 Swift Navigation Inc.