aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcnlohr <lohr85@gmail.com>2017-03-08 19:13:02 -0500
committercnlohr <lohr85@gmail.com>2017-03-08 19:13:02 -0500
commit5eeecb19eb884baf4781280a9c8e1c394fe9c669 (patch)
treebee50a09e3d96de8bbc9ec5344676901b0267fed
parentc65498054c77192b2a12fdb5ef44439a14110292 (diff)
downloadlibsurvive-5eeecb19eb884baf4781280a9c8e1c394fe9c669.tar.gz
libsurvive-5eeecb19eb884baf4781280a9c8e1c394fe9c669.tar.bz2
update with poser in tree
-rw-r--r--Makefile15
-rw-r--r--src/poser_dummy.c52
2 files changed, 62 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 3c8431b..1a1712d 100644
--- a/Makefile
+++ b/Makefile
@@ -3,27 +3,32 @@ all : lib data_recorder test calibrate calibrate_client
CFLAGS:=-Iinclude/libsurvive -I. -fPIC -g -O0 -Iredist -flto -DUSE_DOUBLE -std=gnu99
LDFLAGS:=-lpthread -lusb-1.0 -lz -lX11 -lm -flto -g
-
CALS:=src/survive_cal_lhfind.o src/survive_cal.o
+POSERS:=src/poser_dummy.o
+REDISTS:=redist/json_helpers.o redist/linmath.o redist/jsmn.o
+LIBSURVIVE_CORE:=src/survive.o src/survive_usb.o src/survive_data.o src/survive_process.o src/ootx_decoder.o src/survive_driverman.o src/survive_vive.o src/survive_config.o
+LIBSURVIVE_O:=$(CALS) $(POSERS) $(REDISTS) $(LIBSURVIVE_CORE)
+
+GRAPHICS_LOFI:=redist/DrawFunctions.o redist/XDriver.o
# unused: redist/crc32.c
test : test.c lib/libsurvive.so redist/os_generic.o
gcc -o $@ $^ $(LDFLAGS) $(CFLAGS)
-data_recorder : data_recorder.c lib/libsurvive.so redist/os_generic.o redist/DrawFunctions.o redist/XDriver.o
+data_recorder : data_recorder.c lib/libsurvive.so redist/os_generic.c $(GRAPHICS_LOFI)
gcc -o $@ $^ $(LDFLAGS) $(CFLAGS)
-calibrate : calibrate.c lib/libsurvive.so redist/os_generic.c redist/DrawFunctions.c redist/XDriver.c
+calibrate : calibrate.c lib/libsurvive.so redist/os_generic.c $(GRAPHICS_LOFI)
gcc -o $@ $^ $(LDFLAGS) $(CFLAGS)
-calibrate_client : calibrate_client.c lib/libsurvive.so redist/os_generic.c redist/DrawFunctions.c redist/XDriver.c
+calibrate_client : calibrate_client.c lib/libsurvive.so redist/os_generic.c $(GRAPHICS_LOFI)
gcc -o $@ $^ $(LDFLAGS) $(CFLAGS)
lib:
mkdir lib
-lib/libsurvive.so : src/survive.o src/survive_usb.o src/survive_data.o src/survive_process.o redist/jsmn.o src/ootx_decoder.o redist/linmath.o src/survive_driverman.o src/survive_vive.o src/survive_config.o redist/json_helpers.o src/PoserDummy.o $(DEBUGSTUFF) $(CALS)
+lib/libsurvive.so : $(LIBSURVIVE_O)
gcc -o $@ $^ $(LDFLAGS) -shared
clean :
diff --git a/src/poser_dummy.c b/src/poser_dummy.c
new file mode 100644
index 0000000..67f8edb
--- /dev/null
+++ b/src/poser_dummy.c
@@ -0,0 +1,52 @@
+#include <survive.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+typedef struct
+{
+ int something;
+ //Stuff
+} DummyData;
+
+int PoserDummy( SurviveObject * so, PoserData * pd )
+{
+ PoserType pt = pd->pt;
+ SurviveContext * ctx = so->ctx;
+ DummyData * dd = so->PoserData;
+
+ if( !dd ) so->PoserData = dd = malloc( sizeof( DummyData ) );
+
+ switch( pt )
+ {
+ case POSERDATA_IMU:
+ {
+ PoserDataIMU * imu = (PoserDataIMU*)pd;
+ //printf( "IMU:%s (%f %f %f) (%f %f %f)\n", so->codename, imu->accel[0], imu->accel[1], imu->accel[2], imu->gyro[0], imu->gyro[1], imu->gyro[2] );
+ break;
+ }
+ case POSERDATA_LIGHT:
+ {
+ PoserDataLight * l = (PoserDataLight*)pd;
+ //printf( "LIG:%s %d @ %f rad, %f s (AC %d) (TC %d)\n", so->codename, l->sensor_id, l->angle, l->length, l->acode, l->timecode );
+ break;
+ }
+ case POSERDATA_FULL_SCENE:
+ {
+ PoserDataFullScene * fs = (PoserDataFullScene*)pd;
+ //printf( "Full scene data.\n" );
+ break;
+ }
+ case POSERDATA_DISASSOCIATE:
+ {
+ free( dd );
+ so->PoserData = 0;
+ //printf( "Need to disassociate.\n" );
+ break;
+ }
+ }
+
+}
+
+
+REGISTER_LINKTIME( PoserDummy );
+