a846e5e6ae63ef5654fc1ba5a2e9bda9e48e4058
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / Soft / Lib / ardrone_tool / UI / ardrone_input.h
1 #ifndef _ARDRONE_INPUT_H_
2 #define _ARDRONE_INPUT_H_
3
4 #include <VP_Os/vp_os_types.h>
5 #include <ardrone_tool/ardrone_tool.h>
6
7 typedef struct _input_device_t {
8   char name[MAX_NAME_LENGTH];
9
10   C_RESULT (*init)(void);
11   C_RESULT (*update)(void);
12   C_RESULT (*shutdown)(void);
13 } input_device_t;
14
15 typedef struct _input_state_t
16 {
17   int32_t ag;
18   int32_t ab;
19   int32_t ad;
20   int32_t ah;
21   int32_t l1;
22   int32_t r1;
23   int32_t l2;
24   int32_t r2;
25   int32_t select;
26   int32_t start;
27
28   int32_t x;
29   int32_t y;
30 } input_state_t;
31
32 // Input change handling
33 input_state_t* ardrone_tool_get_input_state( void ); 
34 C_RESULT ardrone_tool_set_ui_pad_ag(int32_t value);
35 C_RESULT ardrone_tool_set_ui_pad_ab(int32_t value);
36 C_RESULT ardrone_tool_set_ui_pad_ad(int32_t value);
37 C_RESULT ardrone_tool_set_ui_pad_ah(int32_t value);
38 C_RESULT ardrone_tool_set_ui_pad_l1(int32_t value);
39 C_RESULT ardrone_tool_set_ui_pad_r1(int32_t value);
40 C_RESULT ardrone_tool_set_ui_pad_l2(int32_t value);
41 C_RESULT ardrone_tool_set_ui_pad_r2(int32_t value);
42 C_RESULT ardrone_tool_set_ui_pad_select(int32_t value);
43 C_RESULT ardrone_tool_set_ui_pad_start(int32_t value);
44 C_RESULT ardrone_tool_set_ui_pad_xy(int32_t x, int32_t y);
45
46 // Callbacks for user input event handling
47 extern C_RESULT custom_reset_user_input(input_state_t* input_state, uint32_t user_input ) WEAK;
48 extern C_RESULT custom_update_user_input(input_state_t* input_state, uint32_t user_input ) WEAK;
49
50 // Input API
51 C_RESULT ardrone_tool_input_add( input_device_t* device );
52 C_RESULT ardrone_tool_input_remove( input_device_t* device );
53
54 C_RESULT ardrone_tool_input_init(void);
55 C_RESULT ardrone_tool_input_reset(void);
56 C_RESULT ardrone_tool_input_update(void);
57 C_RESULT ardrone_tool_input_shutdown(void);
58 C_RESULT ardrone_tool_start_reset(void);
59
60 #endif // _ARDRONE_INPUT_H_