aboutsummaryrefslogtreecommitdiff
path: root/src/survive_vive.c
diff options
context:
space:
mode:
authorcnlohr <lohr85@gmail.com>2018-06-25 00:56:58 -0400
committercnlohr <lohr85@gmail.com>2018-06-25 00:56:58 -0400
commitfc9bdfa45e8ad1e4eeefc272db077a25af542a82 (patch)
tree5af3b74db503e028a9f7f5ae759008c369a58c0f /src/survive_vive.c
parent07196617669b844cbc4b15fbdaa5d0d1de6c7508 (diff)
downloadlibsurvive-fc9bdfa45e8ad1e4eeefc272db077a25af542a82.tar.gz
libsurvive-fc9bdfa45e8ad1e4eeefc272db077a25af542a82.tar.bz2
Add blacklisting of devices, as well as improve feedback algorithm for charlesrefine.
Diffstat (limited to 'src/survive_vive.c')
-rwxr-xr-xsrc/survive_vive.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/survive_vive.c b/src/survive_vive.c
index 0c8f583..07bda58 100755
--- a/src/survive_vive.c
+++ b/src/survive_vive.c
@@ -501,12 +501,14 @@ int survive_usb_init( SurviveViveData * sv, SurviveObject * hmd, SurviveObject *
libusb_free_device_list( devs, 1 );
#endif
+ const char * blacklist = survive_configs(ctx, "blacklist-devs", SC_GET, "-");
+
//Add the drivers - this must happen BEFORE we actually attach interfaces.
- if( sv->udev[USB_DEV_HMD_IMU_LH] ) { survive_add_object( ctx, hmd ); }
- if( sv->udev[USB_DEV_WATCHMAN1] ) { survive_add_object( ctx, wm0 ); }
- if( sv->udev[USB_DEV_WATCHMAN2] ) { survive_add_object( ctx, wm1 ); }
- if( sv->udev[USB_DEV_TRACKER0] ) { survive_add_object( ctx, tr0 ); }
- if( sv->udev[USB_DEV_W_WATCHMAN1] ) { survive_add_object( ctx, ww0 ); }
+ if( !strstr( blacklist, "HMD" ) && sv->udev[USB_DEV_HMD_IMU_LH] ) { survive_add_object( ctx, hmd ); }
+ if( !strstr( blacklist, "WM0" ) && sv->udev[USB_DEV_WATCHMAN1] ) { survive_add_object( ctx, wm0 ); }
+ if( !strstr( blacklist, "WM1" ) && sv->udev[USB_DEV_WATCHMAN2] ) { survive_add_object( ctx, wm1 ); }
+ if( !strstr( blacklist, "TR0" ) && sv->udev[USB_DEV_TRACKER0] ) { survive_add_object( ctx, tr0 ); }
+ if( !strstr( blacklist, "WW0" ) && sv->udev[USB_DEV_W_WATCHMAN1] ) { survive_add_object( ctx, ww0 ); }
if( sv->udev[USB_DEV_HMD] && AttachInterface( sv, hmd, USB_IF_HMD, sv->udev[USB_DEV_HMD], 0x81, survive_data_cb, "Mainboard" ) ) { return -6; }
if( sv->udev[USB_DEV_HMD_IMU_LH] && AttachInterface( sv, hmd, USB_IF_HMD_IMU_LH, sv->udev[USB_DEV_HMD_IMU_LH], 0x81, survive_data_cb, "Lighthouse" ) ) { return -7; }