aboutsummaryrefslogtreecommitdiff
path: root/bindings/cs/libsurvive.net/cfunctions.cs
diff options
context:
space:
mode:
authordpeter99 <dpeter99@gmail.com>2018-03-30 20:54:08 +0200
committerJustin Berger <j.david.berger@gmail.com>2018-04-02 00:11:42 -0600
commitcf4c2c50e75e6b21d7aa65211031417619e4dacd (patch)
treea057cbc867695598c7cb827b21ef4c50ecd9f0eb /bindings/cs/libsurvive.net/cfunctions.cs
parent1724abef15a4090640bd82ba408681438316de7e (diff)
downloadlibsurvive-cf4c2c50e75e6b21d7aa65211031417619e4dacd.tar.gz
libsurvive-cf4c2c50e75e6b21d7aa65211031417619e4dacd.tar.bz2
Some tests
Diffstat (limited to 'bindings/cs/libsurvive.net/cfunctions.cs')
-rw-r--r--bindings/cs/libsurvive.net/cfunctions.cs132
1 files changed, 84 insertions, 48 deletions
diff --git a/bindings/cs/libsurvive.net/cfunctions.cs b/bindings/cs/libsurvive.net/cfunctions.cs
index 760681e..6715a36 100644
--- a/bindings/cs/libsurvive.net/cfunctions.cs
+++ b/bindings/cs/libsurvive.net/cfunctions.cs
@@ -18,74 +18,110 @@ namespace libsurvive
public double[] Rot; // Quaternion in the form wxyz
}
+ [StructLayout(LayoutKind.Sequential)]
+ public class SurviveObject
+ {
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
+ public char[] codename; //3 letters, null-terminated. Currently HMD, WM0, WM1.
+ }
+
class cfunctions
{
-#pragma warning disable IDE1006 // Naming Styles
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall) ]
- public static extern SurviveContextPtr survive_init_internal(int argc, string[] args);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern SurviveContextPtr survive_close(SurviveContextPtr ctx);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern int survive_poll(SurviveContextPtr ctx);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern int survive_startup(SurviveContextPtr ctx);
-
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_install_htc_config_fn(SurviveContextPtr ctx, htc_config_func fbp);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_install_info_fn(SurviveContextPtr ctx, text_feedback_func fbp);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_install_error_fn(SurviveContextPtr ctx, text_feedback_func fbp);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_install_imu_fn(SurviveContextPtr ctx, imu_process_func fbp);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_install_angle_fn(SurviveContextPtr ctx, angle_process_func fbp);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_install_button_fn(SurviveContextPtr ctx, button_process_func fbp);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_install_raw_pose_fn(SurviveContextPtr ctx, raw_pose_func fbp);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_install_lighthouse_pose_fn(SurviveContextPtr ctx, lighthouse_pose_func fbp);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_install_light_fn(SurviveContextPtr ctx, light_process_func fbp);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_cal_install(SurviveContextPtr ctx);
-
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_default_light_process(SurviveObjectPtr so, int sensor_id, int acode, int timeinsweep, UInt32 timecode, UInt32 length, UInt32 lh);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_default_imu_process(SurviveObjectPtr so, int mode, double[] accelgyro, UInt32 timecode, int id);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_default_angle_process(SurviveObjectPtr so, int sensor_id, int acode, UInt32 timecode, double length, double angle, UInt32 lh);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_default_button_process(SurviveObjectPtr so, byte eventType, byte buttonId, byte axis1Id, UInt16 axis1Val, byte axis2Id, UInt16 axis2Val);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_default_raw_pose_process(SurviveObjectPtr so, byte lighthouse, SurvivePose pose);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern void survive_default_lighthouse_pose_process(SurviveContextPtr ctx, byte lighthouse, SurvivePose lh_pose,
- SurvivePose obj_pose);
- [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall)]
- public static extern int survive_default_htc_config_process(SurviveObjectPtr so, string ct0conf, int len);
-
-#pragma warning restore IDE1006 // Naming Styles
+//#pragma warning disable IDE1006 // Naming Styles
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_init_internal") ]
+ public static extern SurviveContextPtr Survive_init_internal(int argc, string[] args);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_close")]
+ public static extern SurviveContextPtr Survive_close(SurviveContextPtr ctx);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_poll")]
+ public static extern int Survive_poll(SurviveContextPtr ctx);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_startup")]
+ public static extern int Survive_startup(SurviveContextPtr ctx);
+
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_install_htc_config_fn")]
+ public static extern void Survive_install_htc_config_fn(SurviveContextPtr ctx, htc_config_func fbp);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_install_info_fn")]
+ public static extern void Survive_install_info_fn(SurviveContextPtr ctx, text_feedback_func fbp);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_install_error_fn")]
+ public static extern void Survive_install_error_fn(SurviveContextPtr ctx, text_feedback_func fbp);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_install_imu_fn")]
+ public static extern void Survive_install_imu_fn(SurviveContextPtr ctx, imu_process_func fbp);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_install_angle_fn")]
+ public static extern void Survive_install_angle_fn(SurviveContextPtr ctx, angle_process_func fbp);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_install_button_fn")]
+ public static extern void Survive_install_button_fn(SurviveContextPtr ctx, button_process_func fbp);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_install_raw_pose_fn")]
+ public static extern void Survive_install_raw_pose_fn(SurviveContextPtr ctx, raw_pose_func fbp);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_install_lighthouse_pose_fn")]
+ public static extern void Survive_install_lighthouse_pose_fn(SurviveContextPtr ctx, lighthouse_pose_func fbp);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_install_light_fn")]
+ public static extern void Survive_install_light_fn(SurviveContextPtr ctx, light_process_func fbp);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_cal_install")]
+ public static extern void Survive_cal_install(SurviveContextPtr ctx);
+
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_default_light_process")]
+ public static extern void Survive_default_light_process(SurviveObjectPtr so, int sensor_id, int acode, int timeinsweep, UInt32 timecode, UInt32 length, UInt32 lh);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_default_imu_process")]
+ public static extern void Survive_default_imu_process(SurviveObjectPtr so, int mode, double[] accelgyro, UInt32 timecode, int id);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_default_angle_process")]
+ public static extern void Survive_default_angle_process(SurviveObjectPtr so, int sensor_id, int acode, UInt32 timecode, double length, double angle, UInt32 lh);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_default_button_process")]
+ public static extern void Survive_default_button_process(SurviveObjectPtr so, byte eventType, byte buttonId, byte axis1Id, UInt16 axis1Val, byte axis2Id, UInt16 axis2Val);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_default_raw_pose_process")]
+ public static extern void Survive_default_raw_pose_process(SurviveObjectPtr so, byte lighthouse, SurvivePose pose);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_default_lighthouse_pose_process")]
+ public static extern void Survive_default_lighthouse_pose_process(SurviveContextPtr ctx, byte lighthouse, SurvivePose lh_pose, SurvivePose obj_pose);
+
+ [DllImport("libsurvive", CallingConvention = CallingConvention.StdCall, EntryPoint = "survive_default_htc_config_process")]
+ public static extern int Survive_default_htc_config_process(SurviveObjectPtr so, string ct0conf, int len);
+
+
+//#pragma warning restore IDE1006 // Naming Styles
}
+
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate int htc_config_func(SurviveObjectPtr so, string ct0conf, int len);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void text_feedback_func(SurviveContextPtr ctx, string fault);
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void light_process_func(SurviveObjectPtr so, int sensor_id, int acode, int timeinsweep, UInt32 timecode, UInt32 length, UInt32 lighthouse);
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void imu_process_func(SurviveObjectPtr so, int mask, double[] accelgyro, UInt32 timecode, int id);
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void angle_process_func(SurviveObjectPtr so, int sensor_id, int acode, UInt32 timecode, double length, double angle, UInt32 lh);
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void button_process_func(SurviveObjectPtr so, byte eventType, byte buttonId, byte axis1Id, UInt16 axis1Val, byte axis2Id, UInt16 axis2Val);
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void raw_pose_func(SurviveObjectPtr so, byte lighthouse, SurvivePose pose);
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
public delegate void lighthouse_pose_func(SurviveContextPtr ctx, byte lighthouse, SurvivePose lighthouse_pose, SurvivePose object_pose);
+
}