aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data_recorder.c8
-rw-r--r--src/ootx_decoder.c7
-rwxr-xr-xsrc/survive.c2
-rwxr-xr-xsrc/survive_vive.c16
-rw-r--r--winbuild/libsurvive/libsurvive.vcxproj2
-rw-r--r--winbuild/libsurvive/libsurvive.vcxproj.filters6
6 files changed, 37 insertions, 4 deletions
diff --git a/data_recorder.c b/data_recorder.c
index 80e95be..8116946 100644
--- a/data_recorder.c
+++ b/data_recorder.c
@@ -12,9 +12,13 @@
#include <stdlib.h>
#include <string.h>
#include <survive.h>
-#include <sys/time.h>
+
#include <time.h>
+#ifndef _MSC_VER
+#include <sys/time.h>
+#endif
+
#include "redist/os_generic.h"
struct SurviveContext *ctx;
@@ -50,7 +54,7 @@ double timestamp_in_us() {
return OGGetAbsoluteTime() - start_time_us;
}
-int write_to_output(const char *format, ...) {
+void write_to_output(const char *format, ...) {
va_list args;
va_start(args, format);
fprintf(output_file, "%0.6f ", timestamp_in_us());
diff --git a/src/ootx_decoder.c b/src/ootx_decoder.c
index b7327d5..0620284 100644
--- a/src/ootx_decoder.c
+++ b/src/ootx_decoder.c
@@ -182,10 +182,15 @@ union iFloat {
float f;
};
-
+#ifndef _MSC_VER
struct __attribute__((__packed__)) unaligned_u16_t {
uint16_t v;
};
+#else
+struct unaligned_u16_t {
+ uint16_t v;
+};
+#endif
float _half_to_float(uint8_t* data) {
uint16_t x = ((struct unaligned_u16_t*)data)->v;
diff --git a/src/survive.c b/src/survive.c
index 21e1f0e..5d0d35f 100755
--- a/src/survive.c
+++ b/src/survive.c
@@ -96,7 +96,7 @@ static void *button_servicer(void * context)
void survive_verify_FLT_size(uint32_t user_size) {
if(sizeof(FLT) != user_size) {
- fprintf(stderr, "FLT type incompatible; the shared library libsurvive has FLT size %lu vs user program %u\n", sizeof(FLT), user_size);
+ fprintf(stderr, "FLT type incompatible; the shared library libsurvive has FLT size %lu vs user program %u\n", (unsigned long)sizeof(FLT), user_size);
fprintf(stderr, "Add '#define FLT %s' before including survive.h or recompile the shared library with the appropriate flag. \n",
sizeof(FLT) == sizeof(double) ? "double" : "float");
exit(-1);
diff --git a/src/survive_vive.c b/src/survive_vive.c
index 5001efd..f250c22 100755
--- a/src/survive_vive.c
+++ b/src/survive_vive.c
@@ -904,6 +904,7 @@ int survive_get_config( char ** config, SurviveViveData * sv, int devno, int ifa
#define POP1 (*(readdata++))
+#ifndef _MSC_VER
struct __attribute__((__packed__)) unaligned_16_t {
int16_t v;
};
@@ -916,6 +917,21 @@ struct __attribute__((__packed__)) unaligned_u16_t {
struct __attribute__((__packed__)) unaligned_u32_t {
uint32_t v;
};
+#else
+struct unaligned_16_t {
+ int16_t v;
+};
+struct unaligned_32_t {
+ int32_t v;
+};
+struct unaligned_u16_t {
+ uint16_t v;
+};
+struct unaligned_u32_t {
+ uint32_t v;
+};
+#endif
+
#define POP2 ((((( struct unaligned_u16_t*)((readdata+=2)-2))))->v)
#define POP4 ((((( struct unaligned_u32_t*)((readdata+=4)-4))))->v)
diff --git a/winbuild/libsurvive/libsurvive.vcxproj b/winbuild/libsurvive/libsurvive.vcxproj
index c794382..725243a 100644
--- a/winbuild/libsurvive/libsurvive.vcxproj
+++ b/winbuild/libsurvive/libsurvive.vcxproj
@@ -159,6 +159,7 @@
<ClCompile Include="..\..\src\survive_cal.c" />
<ClCompile Include="..\..\src\survive_config.c" />
<ClCompile Include="..\..\src\survive_data.c" />
+ <ClCompile Include="..\..\src\survive_default_devices.c" />
<ClCompile Include="..\..\src\survive_driverman.c" />
<ClCompile Include="..\..\src\survive_process.c" />
<ClCompile Include="..\..\src\survive_usb.c" />
@@ -178,6 +179,7 @@
<ClInclude Include="..\..\src\ootx_decoder.h" />
<ClInclude Include="..\..\src\survive_cal.h" />
<ClInclude Include="..\..\src\survive_config.h" />
+ <ClInclude Include="..\..\src\survive_default_devices.h" />
<ClInclude Include="..\..\src\survive_internal.h" />
<ClInclude Include="..\hidapi.h" />
</ItemGroup>
diff --git a/winbuild/libsurvive/libsurvive.vcxproj.filters b/winbuild/libsurvive/libsurvive.vcxproj.filters
index e7d44e2..4c8c3c5 100644
--- a/winbuild/libsurvive/libsurvive.vcxproj.filters
+++ b/winbuild/libsurvive/libsurvive.vcxproj.filters
@@ -90,6 +90,9 @@
<ClCompile Include="..\..\src\poser_octavioradii.c">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\..\src\survive_default_devices.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\ootx_decoder.h">
@@ -137,5 +140,8 @@
<ClInclude Include="..\..\redist\CNFGFunctions.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="..\..\src\survive_default_devices.h">
+ <Filter>Source Files</Filter>
+ </ClInclude>
</ItemGroup>
</Project> \ No newline at end of file