aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJustin Berger <j.david.berger@gmail.com>2018-04-10 23:47:11 -0600
committerJustin Berger <j.david.berger@gmail.com>2018-04-10 23:47:11 -0600
commite6b487cacfd57792b9cdcde30489faf19f2a4a77 (patch)
tree2435f0302849919aa5001961a95daff693a16a12 /include
parent30cfb87ec0d95e0cb8a671cf8f2327b4204927ed (diff)
parentd7c88592a5450a65f5359e23d87122a04d019503 (diff)
downloadlibsurvive-e6b487cacfd57792b9cdcde30489faf19f2a4a77.tar.gz
libsurvive-e6b487cacfd57792b9cdcde30489faf19f2a4a77.tar.bz2
Merge branch 'master' into simple_api
Diffstat (limited to 'include')
-rw-r--r--include/libsurvive/survive.h3
-rw-r--r--include/libsurvive/survive_imu.h5
-rw-r--r--include/libsurvive/survive_reproject.h8
3 files changed, 13 insertions, 3 deletions
diff --git a/include/libsurvive/survive.h b/include/libsurvive/survive.h
index 52dcc0d..93af4c0 100644
--- a/include/libsurvive/survive.h
+++ b/include/libsurvive/survive.h
@@ -317,8 +317,7 @@ void RegisterDriver(const char *name, void *data);
#ifdef _MSC_VER
#define REGISTER_LINKTIME(func) \
- __pragma(comment(linker, "/export:REGISTER" #func)); \
- void REGISTER##func() { RegisterDriver(#func, &func); }
+ SURVIVE_EXPORT void REGISTER##func() { RegisterDriver(#func, &func); }
#else
#define REGISTER_LINKTIME(func) \
void __attribute__((constructor)) REGISTER##func() { RegisterDriver(#func, &func); }
diff --git a/include/libsurvive/survive_imu.h b/include/libsurvive/survive_imu.h
index 8a86425..4d03038 100644
--- a/include/libsurvive/survive_imu.h
+++ b/include/libsurvive/survive_imu.h
@@ -3,6 +3,7 @@
#include "poser.h"
#include "survive_types.h"
+#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus
@@ -12,6 +13,8 @@ extern "C" {
struct SurviveIMUTracker_p;
typedef struct {
+ bool is_initialized;
+
FLT updir[3];
FLT accel_scale_bias;
@@ -24,7 +27,7 @@ typedef struct {
FLT P[7]; // estimate variance
- float integralFBx, integralFBy, integralFBz; // integral error terms scaled by Ki
+ LinmathVec3d integralFB;
} SurviveIMUTracker;
diff --git a/include/libsurvive/survive_reproject.h b/include/libsurvive/survive_reproject.h
index e4f21d0..05aa7d9 100644
--- a/include/libsurvive/survive_reproject.h
+++ b/include/libsurvive/survive_reproject.h
@@ -16,6 +16,14 @@ void survive_reproject_from_pose(const SurviveContext *ctx, int lighthouse, cons
void survive_reproject_from_pose_with_config(const SurviveContext *ctx, struct survive_calibration_config *config,
int lighthouse, const SurvivePose *pose, FLT *point3d, FLT *out);
+void survive_reproject_full_jac_obj_pose(FLT *out, const SurvivePose *obj_pose, const LinmathVec3d obj_pt,
+ const SurvivePose *lh2world, const BaseStationData *bsd,
+ const survive_calibration_config *config);
+
+void survive_reproject_full(FLT *out, const SurvivePose *obj_pose, const LinmathVec3d obj_pt,
+ const SurvivePose *lh2world, const BaseStationData *bsd,
+ const survive_calibration_config *config);
+
// This is given a lighthouse -- in the same system as stored in BaseStationData, and
// a 3d point and finds what the effective 'angle' value for a given lighthouse system
// would be.