diff --git a/src/examples/gnss_utils_test.cpp b/src/examples/gnss_utils_test.cpp index 0367ac5172092db6ecd13dbb43434528b607d6c0..bad53127b0ca837df73099a072c9ec6a49c2f692 100644 --- a/src/examples/gnss_utils_test.cpp +++ b/src/examples/gnss_utils_test.cpp @@ -94,11 +94,15 @@ Navigation createNav(char * nav_path) FILE *fp = fopen(nav_path,"r"); /* Set constellation mask -SYS=sys[,sys...]: select navi systems (sys=G:GPS,R:GLO,E:GAL,J:QZS,C:BDS,S:SBS) */ - char* opt = "-SYS=S"; + char* opt = "-SYS=G"; - /* Read navigation file */ + /* Read navigation file, SYS can be SYS_ALL, SYS_GPS, SYS_SBS, SYS_GLO, SYS_GAL, ... */ if (readrnxnav(fp, opt, 3.03, SYS_ALL, &nav)){ std::cout << "Navigation file loaded" << std::endl; + std::cout << "GPS satellites: " << nav.n << std::endl; + std::cout << "GLONASS satellites: " << nav.ng << std::endl; + std::cout << "SBAS satellites: " << nav.ns << std::endl; + std::cout << "Almanac satellites: " << nav.na << std::endl; } else { @@ -108,12 +112,12 @@ Navigation createNav(char * nav_path) /* Print Constellation Satellites ids */ for (int i=0;i<nav.n;i++) { - std::cout << i << " Sat Id: " << nav.eph[i].sat << std::endl; + std::cout << i << "GPS/GAL Sat Id: " << nav.eph[i].sat << std::endl; } for (int i=0;i<nav.ng;i++) { - std::cout << i << " Sat Id: " << nav.geph[i].sat << std::endl; + std::cout << i << "GLONASS Sat Id: " << nav.geph[i].sat << std::endl; } for (int i=0;i<nav.ns;i++) @@ -149,8 +153,10 @@ int main(int argc, char *argv[]) // Create Navigation object Navigation navigation = createNav("/home/jlaplaza/gitlab/gnss_utils/src/examples/raw_201805171357.nav"); + //readrnx() + /* Set processing options */ - /* + prcopt_t prcopt = prcopt_default; prcopt.mode = PMODE_SINGLE; prcopt.soltype = 0; @@ -161,19 +167,26 @@ int main(int argc, char *argv[]) prcopt.ionoopt = IONOOPT_OFF; prcopt.tropopt = TROPOPT_OFF; prcopt.sbascorr = SBSOPT_FCORR; - */ + + std::cout << "Processing options defined." << std::endl; //Compute fix - /* + int stat; sol_t solb={{0}}; char msg[128]=""; - std::cout << "Test3" << std::endl; - */ - //stat = pntpos(&observations[0], observations.size(), navigation, &prcopt, &solb, NULL, NULL, msg); + std::vector<obsd_t> obs = observations.getObservations(); + + nav_t nav = navigation.getNavigation(); + + stat = pntpos(&obs[0], obs.size(), &nav, &prcopt, &solb, NULL, NULL, msg); + + std::cout << "Stat: " << stat << std::endl; + + std::cout << "Position: " << solb.rr[0] << ", " << solb.rr[1] << ", " << solb.rr[2] << std::endl; }