diff options
author | Justin Berger <j.david.berger@gmail.com> | 2018-03-08 15:08:14 -0700 |
---|---|---|
committer | Justin Berger <j.david.berger@gmail.com> | 2018-03-08 15:10:09 -0700 |
commit | 5aa1b9214745a625ab644846ada3034e7c38f493 (patch) | |
tree | 0e8e499e474254dc6261beb2060d050d8c1f8d82 /src/survive_default_devices.c | |
parent | 1a686a660c750499d3e1c4b46e3c506748147a08 (diff) | |
download | libsurvive-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.c | 46 |
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); +} |