diff options
author | cnlohr <lohr85@gmail.com> | 2016-12-16 00:41:28 -0500 |
---|---|---|
committer | cnlohr <lohr85@gmail.com> | 2016-12-16 00:41:28 -0500 |
commit | 898a9a5f242a1691e1c34062208b48cb0682b5d9 (patch) | |
tree | 1be7599d33a0e5f6bbacd892fbc9573ed943af34 /include/survive.h | |
parent | 41b2091f9be605b39ce33f3ce8bb47ab1aeabcc7 (diff) | |
download | libsurvive-898a9a5f242a1691e1c34062208b48cb0682b5d9.tar.gz libsurvive-898a9a5f242a1691e1c34062208b48cb0682b5d9.tar.bz2 |
Remove dependency on Xinerama
Improve camfinder a little
Add data_recorder.c
Closes #1 making libsurvive much more pluggable.
Diffstat (limited to 'include/survive.h')
-rw-r--r-- | include/survive.h | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/include/survive.h b/include/survive.h index 637bd09..61a6620 100644 --- a/include/survive.h +++ b/include/survive.h @@ -1,17 +1,53 @@ #ifndef _SURVIVE_H #define _SURVIVE_H +#include <stdint.h> + +#define SV_FLOAT double + struct SurviveContext; -struct SurviveContext * survive_init( void(*faultfunction)( struct SurviveContext * ctx, const char * fault ), - void(*notefunction)( struct SurviveContext * ctx, const char * note ) ); +//DANGER: This structure may be redefined + +struct SurviveObject +{ + struct SurviveContext * ctx; + char codename[4]; + int16_t buttonmask; + int16_t axis1; + int16_t axis2; + int16_t axis3; + int8_t charge; + int8_t charging:1; + int8_t ison:1; + int sensors; + + int nr_locations; + SV_FLOAT * sensor_locations; +}; + +typedef void (*text_feedback_fnptr)( struct SurviveContext * ctx, const char * fault ); +typedef void (*light_process_func)( struct SurviveObject * so, int sensor_id, int acode, int timeinsweep, uint32_t timecode, uint32_t length ); +typedef void (*imu_process_func)( struct SurviveObject * so, int16_t * accelgyro, uint32_t timecode, int id ); + +struct SurviveContext * survive_init(); + +//For any of these, you may pass in 0 for the function pointer to use default behavior. +void survive_install_info_fn( struct SurviveContext * ctx, text_feedback_fnptr fbp ); +void survive_install_error_fn( struct SurviveContext * ctx, text_feedback_fnptr fbp ); +void survive_install_light_fn( struct SurviveContext * ctx, light_process_func fbp ); +void survive_install_imu_fn( struct SurviveContext * ctx, imu_process_func fbp ); void survive_close( struct SurviveContext * ctx ); int survive_poll(); + +//Utilitiy functions. int survive_simple_inflate( struct SurviveContext * ctx, const char * input, int inlen, char * output, int outlen ); -int survive_usb_send_magic(struct SurviveContext * ctx, int on ); + +//TODO: Need to make this do haptic responses for hands. +int survive_usb_send_magic( struct SurviveContext * ctx, int on ); #endif |