aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
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.