MyNixOS website logo
Description

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.

Metadata

Version

5.0.7

License

Executables (6)

Show all
  • bin/sbp2yaml
  • bin/json2json
  • bin/json2sbp
  • bin/sbp2json
  • bin/sbp2prettyjson
  • bin/sbp2nmea

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows