From 9dc7a7ed589db16cc040c7eeeae0343977f3f885 Mon Sep 17 00:00:00 2001 From: Justin Berger Date: Sat, 7 Apr 2018 07:35:41 -0600 Subject: Added proper initialization to imu tracker --- include/libsurvive/survive_imu.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/libsurvive/survive_imu.h b/include/libsurvive/survive_imu.h index 8a86425..11635aa 100644 --- a/include/libsurvive/survive_imu.h +++ b/include/libsurvive/survive_imu.h @@ -4,6 +4,7 @@ #include "poser.h" #include "survive_types.h" #include +#include #ifdef __cplusplus extern "C" { @@ -12,6 +13,8 @@ extern "C" { struct SurviveIMUTracker_p; typedef struct { + bool is_initialized; + FLT updir[3]; FLT accel_scale_bias; -- cgit v1.2.3 From b792a65dbfbb304927400ca6c754195d92089b61 Mon Sep 17 00:00:00 2001 From: Justin Berger Date: Sat, 7 Apr 2018 08:46:50 -0600 Subject: Fixed 32 bit linker issue --- include/libsurvive/survive.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'include') diff --git a/include/libsurvive/survive.h b/include/libsurvive/survive.h index 65343b7..c1bb52c 100644 --- a/include/libsurvive/survive.h +++ b/include/libsurvive/survive.h @@ -323,8 +323,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); } -- cgit v1.2.3 From d46271513e6f789af0e82d4ed6628abe21e96a92 Mon Sep 17 00:00:00 2001 From: Justin Berger Date: Sun, 8 Apr 2018 15:54:07 -0600 Subject: Added jacobian to sba, ~2x speed improvement --- include/libsurvive/survive_reproject.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include') diff --git a/include/libsurvive/survive_reproject.h b/include/libsurvive/survive_reproject.h index e4f21d0..e7c1745 100644 --- a/include/libsurvive/survive_reproject.h +++ b/include/libsurvive/survive_reproject.h @@ -16,6 +16,15 @@ 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. -- cgit v1.2.3 From d7c88592a5450a65f5359e23d87122a04d019503 Mon Sep 17 00:00:00 2001 From: Justin Berger Date: Tue, 10 Apr 2018 21:58:25 -0600 Subject: New impl of mahoney imu filter --- include/libsurvive/survive_imu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/libsurvive/survive_imu.h b/include/libsurvive/survive_imu.h index 11635aa..508710a 100644 --- a/include/libsurvive/survive_imu.h +++ b/include/libsurvive/survive_imu.h @@ -27,7 +27,7 @@ typedef struct { FLT P[7]; // estimate variance - float integralFBx, integralFBy, integralFBz; // integral error terms scaled by Ki + LinmathVec3d integralFB; } SurviveIMUTracker; -- cgit v1.2.3