From 88d6773a29a69010c90d2e99d79bc76c29e59cf9 Mon Sep 17 00:00:00 2001 From: bert hubert Date: Tue, 16 Feb 2021 21:53:15 +0100 Subject: [PATCH] add --osnma fname.csv --- navdump.cc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/navdump.cc b/navdump.cc index e3dec51..64045a6 100644 --- a/navdump.cc +++ b/navdump.cc @@ -259,12 +259,14 @@ try bool doObserverPosition{false}; bool doVERSION{false}; string rinexfname; + string osnmafname; app.add_option("--svs", svpairs, "Listen to specified svs. '0' = gps, '2' = Galileo, '2,1' is E01"); app.add_option("--stations", stations, "Listen to specified stations."); app.add_option("--positions,-p", doObserverPosition, "Print out observer positions (or not)"); app.add_option("--rfdata,-r", doRFData, "Print out RF data (or not)"); app.add_option("--recdata", doReceptionData, "Print out reception data (or not)"); app.add_option("--rinex", rinexfname, "If set, emit ephemerides to this filename"); + app.add_option("--osnma", osnmafname, "If set, emit OSNMA CSV to this filename"); app.add_flag("--version", doVERSION, "show program version and copyright"); try { @@ -305,6 +307,13 @@ try if(!rinexfname.empty()) rnw = RINEXNavWriter(rinexfname); + + std::optional osnmacsv; + if(!osnmafname.empty()) { + osnmacsv = ofstream(osnmafname); + (*osnmacsv)<<"wn,tow,wtype,sv,osnma\n"; + + } for(;;) { char bert[4]; @@ -394,13 +403,17 @@ try int wtype = gm.parse(inav); gm.tow = nmm.gi().gnsstow(); + bool isnew = gmwtypes[{nmm.gi().gnsssv(), wtype}].tow != gm.tow; gmwtypes[{nmm.gi().gnsssv(), wtype}] = gm; static map oldEph; cout << "gal inav wtype "<=1 && wtype <= 5) { - if(nmm.gi().has_reserved1()) + if(nmm.gi().has_reserved1()) { cout<<" res1 "<