From f60bed509a7e416c155bcd35d5151bca65eaa190 Mon Sep 17 00:00:00 2001 From: Justin Berger Date: Wed, 21 Mar 2018 11:20:34 -0600 Subject: IMU research --- src/poser_imu.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/poser_imu.c (limited to 'src/poser_imu.c') diff --git a/src/poser_imu.c b/src/poser_imu.c new file mode 100644 index 0000000..8ca716b --- /dev/null +++ b/src/poser_imu.c @@ -0,0 +1,31 @@ +#include +#include + +#include +#include + +int PoserIMU(SurviveObject *so, PoserData *pd) { + PoserType pt = pd->pt; + SurviveContext *ctx = so->ctx; + SurviveIMUTracker *dd = so->PoserData; + + if (!dd) { + so->PoserData = dd = malloc(sizeof(SurviveIMUTracker)); + *dd = (SurviveIMUTracker){}; + } + + switch (pt) { + case POSERDATA_IMU: { + PoserDataIMU *imu = (PoserDataIMU *)pd; + + survive_imu_tracker_integrate(so, dd, imu); + + PoserData_poser_raw_pose_func(pd, so, -1, &dd->pose); + + return 0; + } + } + return -1; +} + +REGISTER_LINKTIME(PoserIMU); -- cgit v1.2.3