ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / Soft / Lib / ardrone_tool / UI / ardrone_input.h
diff --git a/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/Soft/Lib/ardrone_tool/UI/ardrone_input.h b/mardrone/ARDrone_SDK_Version_1_8_20110726/ARDroneLib/Soft/Lib/ardrone_tool/UI/ardrone_input.h
new file mode 100644 (file)
index 0000000..a846e5e
--- /dev/null
@@ -0,0 +1,60 @@
+#ifndef _ARDRONE_INPUT_H_
+#define _ARDRONE_INPUT_H_
+
+#include <VP_Os/vp_os_types.h>
+#include <ardrone_tool/ardrone_tool.h>
+
+typedef struct _input_device_t {
+  char name[MAX_NAME_LENGTH];
+
+  C_RESULT (*init)(void);
+  C_RESULT (*update)(void);
+  C_RESULT (*shutdown)(void);
+} input_device_t;
+
+typedef struct _input_state_t
+{
+  int32_t ag;
+  int32_t ab;
+  int32_t ad;
+  int32_t ah;
+  int32_t l1;
+  int32_t r1;
+  int32_t l2;
+  int32_t r2;
+  int32_t select;
+  int32_t start;
+
+  int32_t x;
+  int32_t y;
+} input_state_t;
+
+// Input change handling
+input_state_t* ardrone_tool_get_input_state( void ); 
+C_RESULT ardrone_tool_set_ui_pad_ag(int32_t value);
+C_RESULT ardrone_tool_set_ui_pad_ab(int32_t value);
+C_RESULT ardrone_tool_set_ui_pad_ad(int32_t value);
+C_RESULT ardrone_tool_set_ui_pad_ah(int32_t value);
+C_RESULT ardrone_tool_set_ui_pad_l1(int32_t value);
+C_RESULT ardrone_tool_set_ui_pad_r1(int32_t value);
+C_RESULT ardrone_tool_set_ui_pad_l2(int32_t value);
+C_RESULT ardrone_tool_set_ui_pad_r2(int32_t value);
+C_RESULT ardrone_tool_set_ui_pad_select(int32_t value);
+C_RESULT ardrone_tool_set_ui_pad_start(int32_t value);
+C_RESULT ardrone_tool_set_ui_pad_xy(int32_t x, int32_t y);
+
+// Callbacks for user input event handling
+extern C_RESULT custom_reset_user_input(input_state_t* input_state, uint32_t user_input ) WEAK;
+extern C_RESULT custom_update_user_input(input_state_t* input_state, uint32_t user_input ) WEAK;
+
+// Input API
+C_RESULT ardrone_tool_input_add( input_device_t* device );
+C_RESULT ardrone_tool_input_remove( input_device_t* device );
+
+C_RESULT ardrone_tool_input_init(void);
+C_RESULT ardrone_tool_input_reset(void);
+C_RESULT ardrone_tool_input_update(void);
+C_RESULT ardrone_tool_input_shutdown(void);
+C_RESULT ardrone_tool_start_reset(void);
+
+#endif // _ARDRONE_INPUT_H_