aboutsummaryrefslogtreecommitdiff
path: root/src/survive_default_devices.c
diff options
context:
space:
mode:
authorJustin Berger <j.david.berger@gmail.com>2018-03-08 15:08:14 -0700
committerJustin Berger <j.david.berger@gmail.com>2018-03-08 15:10:09 -0700
commit5aa1b9214745a625ab644846ada3034e7c38f493 (patch)
tree0e8e499e474254dc6261beb2060d050d8c1f8d82 /src/survive_default_devices.c
parent1a686a660c750499d3e1c4b46e3c506748147a08 (diff)
downloadlibsurvive-5aa1b9214745a625ab644846ada3034e7c38f493.tar.gz
libsurvive-5aa1b9214745a625ab644846ada3034e7c38f493.tar.bz2
Added playback device driver
Diffstat (limited to 'src/survive_default_devices.c')
-rw-r--r--src/survive_default_devices.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/survive_default_devices.c b/src/survive_default_devices.c
new file mode 100644
index 0000000..5d2cda7
--- /dev/null
+++ b/src/survive_default_devices.c
@@ -0,0 +1,46 @@
+#include <stdlib.h>
+#include <string.h>
+#include "survive_default_devices.h"
+
+static SurviveObject* survive_create_device(SurviveContext * ctx,
+ const char* driver_name,
+ void* driver,
+ const char* device_name,
+ haptic_func fn) {
+ SurviveObject * device = calloc( 1, sizeof( SurviveObject ) );
+
+ device->ctx = ctx;
+ device->driver = driver;
+ memcpy( device->codename, device_name, strlen(device_name) );
+ memcpy( device->drivername, driver_name, strlen(driver_name) );
+
+ device->timebase_hz = 48000000;
+ device->pulsedist_max_ticks = 500000;
+ device->pulselength_min_sync = 2200;
+ device->pulse_in_clear_time = 35000;
+ device->pulse_max_for_sweep = 1800;
+ device->pulse_synctime_offset = 20000;
+ device->pulse_synctime_slack = 5000;
+ device->timecenter_ticks = device->timebase_hz / 240;
+
+ device->haptic = fn;
+
+ return device;
+}
+
+SurviveObject* survive_create_hmd(SurviveContext * ctx, const char* driver_name, void* driver) {
+ return survive_create_device(ctx, driver_name, driver, "HMD", 0);
+}
+
+SurviveObject* survive_create_wm0(SurviveContext * ctx, const char* driver_name, void* driver, haptic_func fn) {
+ return survive_create_device(ctx, driver_name, driver, "WM0", fn);
+}
+SurviveObject* survive_create_wm1(SurviveContext * ctx, const char* driver_name, void* driver, haptic_func fn) {
+ return survive_create_device(ctx, driver_name, driver, "WM1", fn);
+}
+SurviveObject* survive_create_tr0(SurviveContext * ctx, const char* driver_name, void* driver) {
+ return survive_create_device(ctx, driver_name, driver, "TR0", 0);
+}
+SurviveObject* survive_create_ww0(SurviveContext * ctx, const char* driver_name, void* driver) {
+ return survive_create_device(ctx, driver_name, driver, "WW0", 0);
+}