Go to file
bert hubert f9424cce6c too much to mention 2019-08-13 01:15:25 +02:00
ext yolo 2019-07-31 22:32:39 +02:00
html too much to mention 2019-08-13 01:15:25 +02:00
.gitignore too much to mention 2019-08-13 01:15:25 +02:00
.gitmodules yolo 2019-07-31 22:32:39 +02:00
LICENSE Initial commit 2019-07-21 16:09:11 +02:00
Makefile too much to mention 2019-08-13 01:15:25 +02:00
README.md move to dumb storage 2019-08-11 10:43:29 +02:00
bits.cc more bits 2019-08-06 12:57:06 +02:00
bits.hh more bits 2019-08-06 12:57:06 +02:00
ephemeris.hh too much to mention 2019-08-13 01:15:25 +02:00
galileo.cc move to protobuf 2019-08-09 15:58:52 +02:00
galileo.hh move to protobuf 2019-08-09 15:58:52 +02:00
gps.cc gps yolo 2019-08-12 15:54:16 +02:00
gps.hh too much to mention 2019-08-13 01:15:25 +02:00
minicurl.cc partial deboostification, removal of curses where it is not needed, filter non non-galileo 2019-08-09 18:09:47 +01:00
minicurl.hh more bits 2019-08-06 12:57:06 +02:00
minivec.hh minivec 2019-08-08 01:23:13 +02:00
minread.cc yolo 2019-07-24 13:24:48 +02:00
navdump.cc too much to mention 2019-08-13 01:15:25 +02:00
navmon.proto gps yolo 2019-08-12 15:54:16 +02:00
navnexus.cc too much to mention 2019-08-13 01:15:25 +02:00
navparse.cc too much to mention 2019-08-13 01:15:25 +02:00
navrecv.cc gps yolo 2019-08-12 15:54:16 +02:00
storage.cc gps yolo 2019-08-12 15:54:16 +02:00
storage.hh gps yolo 2019-08-12 15:54:16 +02:00
ubx.cc gps yolo 2019-08-12 15:54:16 +02:00
ubx.hh gps yolo 2019-08-12 15:54:16 +02:00
ubxdisplay.cc more file 2019-07-31 22:33:04 +02:00
ubxparse.cc move to protobuf 2019-08-09 15:58:52 +02:00
ubxtool.cc too much to mention 2019-08-13 01:15:25 +02:00

README.md

galmon

galileo open source monitoring

Tooling:

  • ubxtool: can configure a u-blox 8 chipset, parses its output & will convert it into a protbuf stream of GNSS NAV frames + metadata Adds 64-bit timestamps plus origin information to each message
  • xtool: if you have another chipset, build something that extracts NAV frames & metadata
  • navtrans: transmits GNSS NAV frames emitted by ubxtool to a collector. Performs some best effort buffering & will reconnect if needed. UPDATE -> will be part of ubxtool
  • navrecv: receives GNSS NAV frames and stores them on disk, split out per sender.
  • navstore: tails the file stored by navrecv, puts them in LMDB. UPDATE -> part of navnexus
  • navstream: produces a stream of NAV updates from all sources, with a few seconds delay so all data is in. Does this with queries to LMDB
  • navweb: consumes these ordered nav updates for a nice website
  • navinflux: puts "ready to graph" data in influxdb - this is the first step that breaks "store everything in native format". Also does computations on ephemerides.
  • grafana dashboard: makes pretty graphs

The transport format consists of repeats of:

  1. Four byte magic value
  2. Two-byte frame length
  3. A protobuf frame

The magic value is there to help us resync from partially written data.

The whole goal is that we can continue to rebuild the database by rerunning 'navstore' and 'navinflux'.

Big TODO

  • Dual goals: completeness, liveness, not the same For forensics, great if the packet is there For display, not that bad if we missed a message

  • Navnexus permanence lmdb? sqlite?

  • It looks like we have some ups and downs in WN/TOW

  • In general, consider refeed strategy Raw serial Protobuf Influxdb ".csv files"

  • Delivery needs to be bit more stateful (queue)

  • Semantics definition for output of Navnexus "we'll never surprise you with old data"

ubxtool

  • Will also spool raw serial data to disk (in a filename that includes the start date)
  • Can also read from disk
  • Careful to add the right timestamps