Skip to content
Snippets Groups Projects
Commit 6e8e228b authored by Pep Martí Saumell's avatar Pep Martí Saumell
Browse files

Add option to computePos

parent 7874a467
No related branches found
No related tags found
2 merge requests!20new tag,!19new tag
......@@ -19,7 +19,7 @@ extern "C"
namespace GNSSUtils
{
struct getPosOutput{
struct fixPosOutput{
time_t time;
double sec;
Eigen::Vector3d pos; // position (m)
......@@ -37,8 +37,9 @@ namespace GNSSUtils
Eigen::Vector3d lat_lon; // latitude_longitude_altitude
};
GNSSUtils::getPosOutput getPos(const std::shared_ptr<Observations> & _observations,
const std::shared_ptr<Navigation> & _navigation);
GNSSUtils::fixPosOutput computePos(const std::shared_ptr<Observations> & _observations,
const std::shared_ptr<Navigation> & _navigation,
const std::shared_ptr<prcopt_t> & _prcopt);
Eigen::Vector3d ecefToLatLon(const Eigen::Vector3d & _ecef);
}
......
......@@ -2,36 +2,37 @@
namespace GNSSUtils
{
GNSSUtils::getPosOutput getPos(const std::shared_ptr<GNSSUtils::Observations> & _observations,
const std::shared_ptr<GNSSUtils::Navigation> & _navigation)
GNSSUtils::fixPosOutput computePos(const std::shared_ptr<GNSSUtils::Observations> & _observations,
const std::shared_ptr<GNSSUtils::Navigation> & _navigation,
const std::shared_ptr<prcopt_t> & _prcopt)
{
// Remove duplicated satellites
uniqnav(&(_navigation->getNavigation()));
// Define processing options
prcopt_t prcopt = prcopt_default;
prcopt.mode = PMODE_SINGLE;
prcopt.soltype = 0;
prcopt.nf = 1;
prcopt.navsys = SYS_GPS;
//prcopt.elmin = 1.05; // 60 degrees = 1.05 rad
prcopt.sateph = EPHOPT_BRDC;
prcopt.ionoopt = IONOOPT_OFF;
prcopt.tropopt = TROPOPT_OFF;
prcopt.dynamics = 0;
prcopt.tidecorr = 0;
prcopt.sbascorr = SBSOPT_FCORR;
// prcopt_t prcopt = prcopt_default;
// prcopt.mode = PMODE_SINGLE;
// prcopt.soltype = 0;
// prcopt.nf = 1;
// prcopt.navsys = SYS_GPS;
// //prcopt.elmin = 1.05; // 60 degrees = 1.05 rad
// prcopt.sateph = EPHOPT_BRDC;
// prcopt.ionoopt = IONOOPT_OFF;
// prcopt.tropopt = TROPOPT_OFF;
// prcopt.dynamics = 0;
// prcopt.tidecorr = 0;
// prcopt.sbascorr = SBSOPT_FCORR;
// Define error msg
char msg[128] = "";
GNSSUtils::getPosOutput output;
GNSSUtils::fixPosOutput output;
sol_t sol;
sol = {{0}};
output.pos_stat = pntpos(&(_observations->getObservations()[0]), _observations->getObservations().size(),
&(_navigation->getNavigation()),
&prcopt, &sol, NULL, NULL, msg);
_prcopt.get(), &sol, NULL, NULL, msg);
output.time = sol.time.time;
output.time = sol.time.sec;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment