aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/survive_default_devices.c10
-rwxr-xr-xsrc/survive_vive.c14
2 files changed, 14 insertions, 10 deletions
diff --git a/src/survive_default_devices.c b/src/survive_default_devices.c
index ea38d55..2d63297 100644
--- a/src/survive_default_devices.c
+++ b/src/survive_default_devices.c
@@ -174,9 +174,11 @@ int survive_load_htc_config_format(SurviveObject *so, char *ct0conf, int len) {
so->acc_scale[1] *= -1;
so->acc_scale[0] *= -1;
}
- so->imu_freq = HMD_IMU_HZ;
if (so->acc_bias)
- scale3d(so->acc_bias, so->acc_bias, 2. / 1000.); // Odd but seems right.
+ scale3d(so->acc_bias, so->acc_bias, 1000.0 ); // Odd but seems right.
+
+ so->imu_freq = HMD_IMU_HZ;
+
if (so->gyro_scale) {
FLT deg_per_sec = 500;
scale3d(so->gyro_scale, so->gyro_scale, deg_per_sec / (1 << 15) * LINMATHPI / 180.);
@@ -188,7 +190,7 @@ int survive_load_htc_config_format(SurviveObject *so, char *ct0conf, int len) {
if (so->acc_scale)
scale3d(so->acc_scale, so->acc_scale, 2. / 8192.0);
if (so->acc_bias)
- scale3d(so->acc_bias, so->acc_bias, 2. / 1000.); // Need to verify.
+ scale3d(so->acc_bias, so->acc_bias, 1000.); // Need to verify.
FLT deg_per_sec = 2000;
if (so->gyro_scale)
@@ -209,7 +211,7 @@ int survive_load_htc_config_format(SurviveObject *so, char *ct0conf, int len) {
// If any other device, we know we at least need this.
// I deeply suspect bias is in milligravities -JB
if (so->acc_bias)
- scale3d(so->acc_bias, so->acc_bias, 1. / 1000.);
+ scale3d(so->acc_bias, so->acc_bias, 1000.);
// From datasheet, can be 250, 500, 1000, 2000 deg/s range over 16 bits
FLT deg_per_sec = 2000;
diff --git a/src/survive_vive.c b/src/survive_vive.c
index b20052d..a83c6a1 100755
--- a/src/survive_vive.c
+++ b/src/survive_vive.c
@@ -491,6 +491,7 @@ int survive_usb_init( SurviveViveData * sv, SurviveObject * hmd, SurviveObject *
SV_ERROR( "Could not claim interface %d of %s", j, devnames[i] );
return -9;
}
+ usleep(20000);
}
SV_INFO( "Successfully enumerated %s (%d, %d)", devnames[i], did, conf->bNumInterfaces );
@@ -894,12 +895,6 @@ int survive_get_config( char ** config, SurviveViveData * sv, int devno, int ifa
}
SV_INFO( "Got config data length %d", count );
-
- char fstname[128];
- sprintf( fstname, "calinfo/%d.json.gz", devno );
- FILE * f = fopen( fstname, "wb" );
- fwrite( compressed_data, count, 1, f );
- fclose( f );
int len = survive_simple_inflate( ctx, compressed_data, count, uncompressed_data, sizeof(uncompressed_data)-1 );
if( len <= 0 )
@@ -910,6 +905,13 @@ int survive_get_config( char ** config, SurviveViveData * sv, int devno, int ifa
*config = malloc( len + 1 );
memcpy( *config, uncompressed_data, len );
+
+ char fstname[128];
+ sprintf( fstname, "calinfo/%d.json", devno );
+ FILE * f = fopen( fstname, "wb" );
+ fwrite( uncompressed_data, len, 1, f );
+ fclose( f );
+
return len;
}