From 79ee7139c288af80cbdf187fbfdcf47e8e4f6858 Mon Sep 17 00:00:00 2001 From: bert hubert Date: Wed, 17 Jun 2020 20:48:57 +0200 Subject: [PATCH] add sp3feed tool to stream sp3 data into influxdb --- Makefile | 6 +++++- sp3feed.cc | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 sp3feed.cc diff --git a/Makefile b/Makefile index d2c53ea..5e45bc8 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ endif CHEAT_ARG := $(shell ./update-git-hash-if-necessary) -PROGRAMS = navparse ubxtool navnexus navcat navrecv navdump testrunner navdisplay tlecatch reporter \ +PROGRAMS = navparse ubxtool navnexus navcat navrecv navdump testrunner navdisplay tlecatch reporter sp3feed \ galmonmon rinreport rtcmtool all: navmon.pb.cc $(PROGRAMS) @@ -82,6 +82,10 @@ navparse: navparse.o ext/fmt-6.1.2/src/format.o $(H2OPP) $(SIMPLESOCKETS) minicu reporter: reporter.o ext/fmt-6.1.2/src/format.o $(SIMPLESOCKETS) minicurl.o ubx.o bits.o navmon.pb.o gps.o ephemeris.o beidou.o glonass.o $(patsubst %.cc,%.o,$(wildcard ext/sgp4/libsgp4/*.cc)) tle.o navmon.o coverage.o osen.o githash.o $(CXX) -std=gnu++17 $^ -o $@ -pthread -L/usr/local/lib -lprotobuf -lcurl +sp3feed: sp3feed.o ext/fmt-6.1.2/src/format.o $(SIMPLESOCKETS) minicurl.o ubx.o bits.o navmon.pb.o gps.o ephemeris.o beidou.o glonass.o $(patsubst %.cc,%.o,$(wildcard ext/sgp4/libsgp4/*.cc)) tle.o navmon.o coverage.o osen.o influxpush.o githash.o sp3.o + $(CXX) -std=gnu++17 $^ -o $@ -pthread -L/usr/local/lib -lprotobuf -lcurl + + tracker: tracker.o ext/fmt-6.1.2/src/format.o $(SIMPLESOCKETS) minicurl.o ubx.o bits.o navmon.pb.o gps.o ephemeris.o beidou.o glonass.o $(patsubst %.cc,%.o,$(wildcard ext/sgp4/libsgp4/*.cc)) tle.o navmon.o coverage.o osen.o githash.o $(CXX) -std=gnu++17 $^ -o $@ -pthread -L/usr/local/lib -lprotobuf -lcurl diff --git a/sp3feed.cc b/sp3feed.cc new file mode 100644 index 0000000..245ce27 --- /dev/null +++ b/sp3feed.cc @@ -0,0 +1,55 @@ +#include "sp3.hh" +#include "influxpush.hh" +#include +#include "navmon.hh" +#include "fmt/format.h" +#include "fmt/printf.h" + +#include "CLI/CLI.hpp" +#include "version.hh" + +static char program[]="sp3feed"; + +using namespace std; + +extern const char* g_gitHash; + +int main(int argc, char **argv) +{ + string influxDBName("galileo2"); + bool doVERSION=false; + int sigid=1; + CLI::App app(program); + vector fnames; + app.add_flag("--version", doVERSION, "show program version and copyright"); + app.add_option("--sigid,-s", sigid, "Signal identifier. 1 or 5 for Galileo."); + app.add_option("--influxdb", influxDBName, "Name of influxdb database"); + app.add_option("files", fnames, "filenames to parse"); + try { + app.parse(argc, argv); + } catch(const CLI::Error &e) { + return app.exit(e); + } + + if(doVERSION) { + showVersion(program, g_gitHash); + exit(0); + } + + InfluxPusher idb(influxDBName); + for(const auto& fn : fnames) { + SP3Reader sp3(fn); + SP3Entry e; + SatID sid; + cout<