ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / Examples / Linux / Navigation / Sources / UI / ardrone_ini.h
diff --git a/mardrone/ARDrone_SDK_Version_1_8_20110726/Examples/Linux/Navigation/Sources/UI/ardrone_ini.h b/mardrone/ARDrone_SDK_Version_1_8_20110726/Examples/Linux/Navigation/Sources/UI/ardrone_ini.h
new file mode 100644 (file)
index 0000000..b4ae523
--- /dev/null
@@ -0,0 +1,79 @@
+#ifndef _ARDRONE_INI_H_
+#define _ARDRONE_INI_H_
+
+#include <glib.h>
+#include <libudev.h>
+#include <linux/joystick.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <string.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <glib.h>
+#include <sys/types.h>
+#include <dirent.h>
+#include <sys/ioctl.h>
+
+#include <libxml/encoding.h>
+#include <libxml/xmlwriter.h>
+#include <libxml/xmlreader.h>
+#include <libxml/tree.h>
+#include <libxml/parser.h>
+#include <libxml/xpath.h>
+
+#include "UI/ui.h"
+
+#define FILENAME "ardrone.xml"
+
+enum { NONE = 0, AXIS, HAT, BUTTON };
+
+enum {
+  START = 0,
+  EMERGENCY,
+  PITCH_FRONT,
+  PITCH_BACK,
+  ROLL_LEFT,
+  ROLL_RIGHT,
+  YAW_LEFT,
+  YAW_RIGHT,
+  SPEED_UP,
+  SPEED_DOWN,
+  NUM_COMMAND
+};
+
+typedef struct {
+  int value;
+  int type;
+} Control_Type;
+
+extern input_device_t control_device;
+
+C_RESULT open_control_device(void);
+C_RESULT update_control_device(void);
+C_RESULT close_control_device(void);
+
+typedef struct {
+  int num_axis;
+  int num_buttons;
+  gchar *name;
+  gchar *filename;
+  int32_t serial;
+  gboolean def;
+  gboolean config;
+  Control_Type commands[NUM_COMMAND];
+} Controller_info;
+
+extern Controller_info *control;
+extern Controller_info *default_control;
+extern GList *devices;
+
+gboolean search_devices(GList **list_controllers);
+void create_ini();
+void load_ini();
+void save_init(Controller_info *def);
+
+#endif // _ARDRONE_INI_H_
+