aboutsummaryrefslogtreecommitdiff
path: root/src/poser_sba.c
diff options
context:
space:
mode:
authorJustin Berger <jdavidberger@gmail.com>2018-03-23 14:07:23 +0000
committerJustin Berger <jdavidberger@gmail.com>2018-03-23 14:07:23 +0000
commit2b63278497130d01b1fbc7e6a94b6ad8e32ab4dd (patch)
tree018c50a97bdebaaa3f933d3a366883769d5b5a3b /src/poser_sba.c
parent50b026760144e76a2e69babe34e6dee0a6a3c9c0 (diff)
downloadlibsurvive-2b63278497130d01b1fbc7e6a94b6ad8e32ab4dd.tar.gz
libsurvive-2b63278497130d01b1fbc7e6a94b6ad8e32ab4dd.tar.bz2
Made IMU use optional
Diffstat (limited to 'src/poser_sba.c')
-rw-r--r--src/poser_sba.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/poser_sba.c b/src/poser_sba.c
index 72359da..efdeeef 100644
--- a/src/poser_sba.c
+++ b/src/poser_sba.c
@@ -32,11 +32,12 @@ typedef struct {
} sba_context_single_sweep;
typedef struct SBAData {
- int last_acode;
- int last_lh;
+ int last_acode;
+ int last_lh;
int failures_to_reset;
- int failures_to_reset_cntr;
- SurviveIMUTracker tracker;
+ int failures_to_reset_cntr;
+ SurviveIMUTracker tracker;
+ bool useIMU;
} SBAData;
void metric_function(int j, int i, double *aj, double *xij, void *adata) {
@@ -297,7 +298,7 @@ static double run_sba_find_3d_structure(SBAData *d, survive_calibration_config o
if(d->failures_to_reset_cntr == 0 || currentPositionValid == 0)
{
SurviveContext *ctx = so->ctx;
- SV_INFO("Must rerun seed poser");
+ SV_INFO("Running seed poser");
const char *subposer = config_read_str(so->ctx->global_config_values, "SBASeedPoser", "PoserEPNP");
PoserCB driver = (PoserCB)GetDriver(subposer);
@@ -484,7 +485,7 @@ int PoserSBA(SurviveObject *so, PoserData *pd) {
if (error < 0) {
if(d->failures_to_reset_cntr > 0)
d->failures_to_reset_cntr--;
- } else {
+ } else if(d->useIMU) {
survive_imu_tracker_set_pose(&d->tracker, lightData->timecode, &so->OutPose);
}
@@ -502,10 +503,9 @@ int PoserSBA(SurviveObject *so, PoserData *pd) {
case POSERDATA_IMU: {
PoserDataIMU * imu = (PoserDataIMU*)pd;
- survive_imu_tracker_integrate(so, &d->tracker, imu);
-
if (ctx->calptr && ctx->calptr->stage < 5) {
- } else {
+ } else if(d->useIMU){
+ survive_imu_tracker_integrate(so, &d->tracker, imu);
PoserData_poser_raw_pose_func(pd, so, 1, &d->tracker.pose);
}
} // INTENTIONAL FALLTHROUGH