diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d0ffa32
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,102 @@
+reated by http://www.gitignore.io
+*/target/*
+### Eclipse ###
+*.pydevproject
+.metadata
+.gradle
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.project
+.classpath
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# CDT-specific
+.cproject
+
+# PDT-specific
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# TeXlipse plugin
+.texlipse
+
+
+### NetBeans ###
+nbproject/private/
+build/
+nbbuild/
+dist/
+nbdist/
+nbactions.xml
+nb-configuration.xml
+
+
+### Intellij ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
+
+## Directory-based project format
+.idea/
+# if you remove the above rule, at least ignore user-specific stuff:
+# .idea/workspace.xml
+# .idea/tasks.xml
+# and these sensitive or high-churn files:
+# .idea/dataSources.ids
+# .idea/dataSources.xml
+# .idea/sqlDataSources.xml
+# .idea/dynamic.xml
+
+## File-based project format
+*.ipr
+*.iml
+*.iws
+
+## Additional for IntelliJ
+out/
+
+# generated by mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# generated by JIRA plugin
+atlassian-ide-plugin.xml
+
+# generated by Crashlytics plugin (for Android Studio and Intellij)
+com_crashlytics_export_strings.xml
+
+
+### OSX ###
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear on external disk
+.Spotlight-V100
+.Trashes
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
diff --git a/YADrone/.classpath b/YADrone/.classpath
deleted file mode 100644
index 2f72799..0000000
--- a/YADrone/.classpath
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/YADrone/.gitignore b/YADrone/.gitignore
deleted file mode 100644
index 6e4c6bd..0000000
--- a/YADrone/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-dist
-.metadata
-/controlcenter.properties
diff --git a/YADrone/.project b/YADrone/.project
deleted file mode 100644
index 89c68b5..0000000
--- a/YADrone/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- YADrone
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
diff --git a/YADrone/.settings/org.eclipse.jdt.core.prefs b/YADrone/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 54e493c..0000000
--- a/YADrone/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/YADrone/android/.classpath b/YADrone/android/.classpath
deleted file mode 100644
index 61fcdd4..0000000
--- a/YADrone/android/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/YADrone/android/.project b/YADrone/android/.project
deleted file mode 100644
index 3af3d7f..0000000
--- a/YADrone/android/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- YADroneAndroid
-
-
-
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
-
-
-
-
- com.android.ide.eclipse.adt.PreCompilerBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.android.ide.eclipse.adt.ApkBuilder
-
-
-
-
-
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/YADrone/build.xml b/YADrone/build.xml
deleted file mode 100644
index cc0c475..0000000
--- a/YADrone/build.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/YADrone/lib/commons-net-3.2.jar b/YADrone/lib/commons-net-3.2.jar
deleted file mode 100644
index ad10675..0000000
Binary files a/YADrone/lib/commons-net-3.2.jar and /dev/null differ
diff --git a/YADrone/lib/core.jar b/YADrone/lib/core.jar
deleted file mode 100644
index abdf79c..0000000
Binary files a/YADrone/lib/core.jar and /dev/null differ
diff --git a/YADrone/lib/jcommon-1.0.16.jar b/YADrone/lib/jcommon-1.0.16.jar
deleted file mode 100644
index 4cd6807..0000000
Binary files a/YADrone/lib/jcommon-1.0.16.jar and /dev/null differ
diff --git a/YADrone/lib/jfreechart-1.0.13.jar b/YADrone/lib/jfreechart-1.0.13.jar
deleted file mode 100644
index 83c6993..0000000
Binary files a/YADrone/lib/jfreechart-1.0.13.jar and /dev/null differ
diff --git a/YADrone/lib/reflections/guava-11.0.2.jar b/YADrone/lib/reflections/guava-11.0.2.jar
deleted file mode 100644
index c8c8d5d..0000000
Binary files a/YADrone/lib/reflections/guava-11.0.2.jar and /dev/null differ
diff --git a/YADrone/lib/reflections/javassist-3.16.1-GA.jar b/YADrone/lib/reflections/javassist-3.16.1-GA.jar
deleted file mode 100644
index c29da0f..0000000
Binary files a/YADrone/lib/reflections/javassist-3.16.1-GA.jar and /dev/null differ
diff --git a/YADrone/lib/reflections/reflections-0.9.9-RC1.jar b/YADrone/lib/reflections/reflections-0.9.9-RC1.jar
deleted file mode 100644
index 8524129..0000000
Binary files a/YADrone/lib/reflections/reflections-0.9.9-RC1.jar and /dev/null differ
diff --git a/YADrone/lib/slf4j-api-1.7.2.jar b/YADrone/lib/slf4j-api-1.7.2.jar
deleted file mode 100644
index 73f38db..0000000
Binary files a/YADrone/lib/slf4j-api-1.7.2.jar and /dev/null differ
diff --git a/YADrone/lib/slf4j-jdk14-1.7.2.jar b/YADrone/lib/slf4j-jdk14-1.7.2.jar
deleted file mode 100644
index 194d2f0..0000000
Binary files a/YADrone/lib/slf4j-jdk14-1.7.2.jar and /dev/null differ
diff --git a/YADrone/lib/xuggle-xuggler-5.4.jar b/YADrone/lib/xuggle-xuggler-5.4.jar
deleted file mode 100644
index 4ea5de4..0000000
Binary files a/YADrone/lib/xuggle-xuggler-5.4.jar and /dev/null differ
diff --git a/YADrone/lib/zxing/core-2.2.jar b/YADrone/lib/zxing/core-2.2.jar
deleted file mode 100644
index 9e95ab2..0000000
Binary files a/YADrone/lib/zxing/core-2.2.jar and /dev/null differ
diff --git a/YADrone/lib/zxing/javase-2.2.jar b/YADrone/lib/zxing/javase-2.2.jar
deleted file mode 100644
index 4a35b96..0000000
Binary files a/YADrone/lib/zxing/javase-2.2.jar and /dev/null differ
diff --git a/YADrone/doc/.gitignore b/doc/.gitignore
similarity index 100%
rename from YADrone/doc/.gitignore
rename to doc/.gitignore
diff --git a/YADrone/doc/cc_screenshot.jpg b/doc/cc_screenshot.jpg
similarity index 100%
rename from YADrone/doc/cc_screenshot.jpg
rename to doc/cc_screenshot.jpg
diff --git a/YADrone/doc/keyboard_control.svg b/doc/keyboard_control.svg
similarity index 100%
rename from YADrone/doc/keyboard_control.svg
rename to doc/keyboard_control.svg
diff --git a/YADrone/doc/keyboard_control_alternative.svg b/doc/keyboard_control_alternative.svg
similarity index 100%
rename from YADrone/doc/keyboard_control_alternative.svg
rename to doc/keyboard_control_alternative.svg
diff --git a/YADrone/doc/logo.png b/doc/logo.png
similarity index 100%
rename from YADrone/doc/logo.png
rename to doc/logo.png
diff --git a/YADrone/doc/logo.svg b/doc/logo.svg
similarity index 100%
rename from YADrone/doc/logo.svg
rename to doc/logo.svg
diff --git a/YADrone/doc/paperchase_screenshot.jpg b/doc/paperchase_screenshot.jpg
similarity index 100%
rename from YADrone/doc/paperchase_screenshot.jpg
rename to doc/paperchase_screenshot.jpg
diff --git a/YADrone/doc/shreds.pdf b/doc/shreds.pdf
similarity index 100%
rename from YADrone/doc/shreds.pdf
rename to doc/shreds.pdf
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..7c11e18
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,128 @@
+
+
+ 4.0.0
+
+
+ nl.salvesdevelopment
+ salves-parent
+ 1.0.1
+
+
+ de.uni-hamburg
+ yadrone
+ pom
+ 0.3.4-SNAPSHOT
+ YADrone
+ http://vsis-www.informatik.uni-hamburg.de/oldServer/teaching//projects/yadrone
+
+
+ UTF-8
+
+ 3.0
+ 2.6
+ 2.5
+ 2.14
+ 2.14
+ 2.14
+ 2.9
+ 2.7
+
+
+
+ yadrone-core
+ yadrone-controlcenter
+ yadrone-paperchase
+ yadrone-tutorial
+
+
+
+ android
+
+ yadrone-android
+
+
+
+
+
+
+ salves-all
+ http://nexus.salvesdevelopment.nl:8080/nexus/content/groups/all-group
+
+ true
+
+
+ true
+
+
+
+ xuggle repo
+ http://xuggle.googlecode.com/svn/trunk/repo/share/java/
+
+
+
+
+
+
+ commons-net
+ commons-net
+ 3.2
+
+
+ xuggle
+ xuggle-xuggler
+ 5.2
+
+
+ org.jfree
+ jfreechart
+ 1.0.17
+
+
+ com.google.zxing
+ core
+ 2.2
+
+
+ com.google.zxing
+ javase
+ 2.2
+
+
+ org.reflections
+ reflections
+ 0.9.9-RC1
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven.compiler.plugin.version}
+
+ 1.7
+ 1.7
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-report-plugin
+ ${maven.surefire.report.plugin.version}
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ ${maven.javadoc.plugin.version}
+
+ true
+
+
+
+
+
diff --git a/YADrone/readme.txt b/readme.txt
similarity index 100%
rename from YADrone/readme.txt
rename to readme.txt
diff --git a/YADrone/android/AndroidManifest.xml b/yadrone-android/AndroidManifest.xml
similarity index 100%
rename from YADrone/android/AndroidManifest.xml
rename to yadrone-android/AndroidManifest.xml
diff --git a/YADrone/android/libs/yadrone_03.jar b/yadrone-android/libs/yadrone_03.jar
similarity index 100%
rename from YADrone/android/libs/yadrone_03.jar
rename to yadrone-android/libs/yadrone_03.jar
diff --git a/yadrone-android/pom.xml b/yadrone-android/pom.xml
new file mode 100644
index 0000000..1fe87fa
--- /dev/null
+++ b/yadrone-android/pom.xml
@@ -0,0 +1,48 @@
+
+
+ 4.0.0
+
+ de.uni-hamburg.yadrone
+ yadrone-android
+ apk
+
+
+ de.uni-hamburg
+ yadrone
+ 0.3.4-SNAPSHOT
+ ../
+
+
+
+
+ ${project.groupId}
+ yadrone-core
+ ${project.version}
+
+
+ com.google.android
+ android
+ 2.3.3
+ provided
+
+
+
+
+ src
+
+
+ com.jayway.maven.plugins.android.generation2
+ android-maven-plugin
+
+
+ ${env.ANDROID_HOME}
+ 15
+
+
+ true
+
+
+
+
+
diff --git a/YADrone/android/proguard-project.txt b/yadrone-android/proguard-project.txt
similarity index 100%
rename from YADrone/android/proguard-project.txt
rename to yadrone-android/proguard-project.txt
diff --git a/YADrone/android/project.properties b/yadrone-android/project.properties
similarity index 100%
rename from YADrone/android/project.properties
rename to yadrone-android/project.properties
diff --git a/YADrone/android/res/drawable-hdpi/ic_action_search.png b/yadrone-android/res/drawable-hdpi/ic_action_search.png
similarity index 100%
rename from YADrone/android/res/drawable-hdpi/ic_action_search.png
rename to yadrone-android/res/drawable-hdpi/ic_action_search.png
diff --git a/YADrone/android/res/drawable-hdpi/ic_launcher.png b/yadrone-android/res/drawable-hdpi/ic_launcher.png
similarity index 100%
rename from YADrone/android/res/drawable-hdpi/ic_launcher.png
rename to yadrone-android/res/drawable-hdpi/ic_launcher.png
diff --git a/YADrone/android/res/drawable-mdpi/ic_action_search.png b/yadrone-android/res/drawable-mdpi/ic_action_search.png
similarity index 100%
rename from YADrone/android/res/drawable-mdpi/ic_action_search.png
rename to yadrone-android/res/drawable-mdpi/ic_action_search.png
diff --git a/YADrone/android/res/drawable-mdpi/ic_launcher.png b/yadrone-android/res/drawable-mdpi/ic_launcher.png
similarity index 100%
rename from YADrone/android/res/drawable-mdpi/ic_launcher.png
rename to yadrone-android/res/drawable-mdpi/ic_launcher.png
diff --git a/YADrone/android/res/drawable-xhdpi/ic_action_search.png b/yadrone-android/res/drawable-xhdpi/ic_action_search.png
similarity index 100%
rename from YADrone/android/res/drawable-xhdpi/ic_action_search.png
rename to yadrone-android/res/drawable-xhdpi/ic_action_search.png
diff --git a/YADrone/android/res/drawable-xhdpi/ic_launcher.png b/yadrone-android/res/drawable-xhdpi/ic_launcher.png
similarity index 100%
rename from YADrone/android/res/drawable-xhdpi/ic_launcher.png
rename to yadrone-android/res/drawable-xhdpi/ic_launcher.png
diff --git a/YADrone/android/res/layout-land/activity_control.xml b/yadrone-android/res/layout-land/activity_control.xml
similarity index 100%
rename from YADrone/android/res/layout-land/activity_control.xml
rename to yadrone-android/res/layout-land/activity_control.xml
diff --git a/YADrone/android/res/layout/activity_control.xml b/yadrone-android/res/layout/activity_control.xml
similarity index 100%
rename from YADrone/android/res/layout/activity_control.xml
rename to yadrone-android/res/layout/activity_control.xml
diff --git a/YADrone/android/res/layout/activity_main.xml b/yadrone-android/res/layout/activity_main.xml
similarity index 100%
rename from YADrone/android/res/layout/activity_main.xml
rename to yadrone-android/res/layout/activity_main.xml
diff --git a/YADrone/android/res/layout/activity_navdata.xml b/yadrone-android/res/layout/activity_navdata.xml
similarity index 100%
rename from YADrone/android/res/layout/activity_navdata.xml
rename to yadrone-android/res/layout/activity_navdata.xml
diff --git a/YADrone/android/res/layout/activity_video.xml b/yadrone-android/res/layout/activity_video.xml
similarity index 100%
rename from YADrone/android/res/layout/activity_video.xml
rename to yadrone-android/res/layout/activity_video.xml
diff --git a/YADrone/android/res/menu/menu_control.xml b/yadrone-android/res/menu/menu_control.xml
similarity index 100%
rename from YADrone/android/res/menu/menu_control.xml
rename to yadrone-android/res/menu/menu_control.xml
diff --git a/YADrone/android/res/menu/menu_main.xml b/yadrone-android/res/menu/menu_main.xml
similarity index 100%
rename from YADrone/android/res/menu/menu_main.xml
rename to yadrone-android/res/menu/menu_main.xml
diff --git a/YADrone/android/res/menu/menu_navdata.xml b/yadrone-android/res/menu/menu_navdata.xml
similarity index 100%
rename from YADrone/android/res/menu/menu_navdata.xml
rename to yadrone-android/res/menu/menu_navdata.xml
diff --git a/YADrone/android/res/menu/menu_video.xml b/yadrone-android/res/menu/menu_video.xml
similarity index 100%
rename from YADrone/android/res/menu/menu_video.xml
rename to yadrone-android/res/menu/menu_video.xml
diff --git a/YADrone/android/res/values-large/dimens.xml b/yadrone-android/res/values-large/dimens.xml
similarity index 100%
rename from YADrone/android/res/values-large/dimens.xml
rename to yadrone-android/res/values-large/dimens.xml
diff --git a/YADrone/android/res/values/dimens.xml b/yadrone-android/res/values/dimens.xml
similarity index 100%
rename from YADrone/android/res/values/dimens.xml
rename to yadrone-android/res/values/dimens.xml
diff --git a/YADrone/android/res/values/strings.xml b/yadrone-android/res/values/strings.xml
similarity index 100%
rename from YADrone/android/res/values/strings.xml
rename to yadrone-android/res/values/strings.xml
diff --git a/YADrone/android/res/values/styles.xml b/yadrone-android/res/values/styles.xml
similarity index 100%
rename from YADrone/android/res/values/styles.xml
rename to yadrone-android/res/values/styles.xml
diff --git a/YADrone/android/src/de/yadrone/android/ControlActivity.java b/yadrone-android/src/de/yadrone/android/ControlActivity.java
similarity index 100%
rename from YADrone/android/src/de/yadrone/android/ControlActivity.java
rename to yadrone-android/src/de/yadrone/android/ControlActivity.java
diff --git a/YADrone/android/src/de/yadrone/android/MainActivity.java b/yadrone-android/src/de/yadrone/android/MainActivity.java
similarity index 100%
rename from YADrone/android/src/de/yadrone/android/MainActivity.java
rename to yadrone-android/src/de/yadrone/android/MainActivity.java
diff --git a/YADrone/android/src/de/yadrone/android/NavDataActivity.java b/yadrone-android/src/de/yadrone/android/NavDataActivity.java
similarity index 100%
rename from YADrone/android/src/de/yadrone/android/NavDataActivity.java
rename to yadrone-android/src/de/yadrone/android/NavDataActivity.java
diff --git a/YADrone/android/src/de/yadrone/android/YADroneApplication.java b/yadrone-android/src/de/yadrone/android/YADroneApplication.java
similarity index 100%
rename from YADrone/android/src/de/yadrone/android/YADroneApplication.java
rename to yadrone-android/src/de/yadrone/android/YADroneApplication.java
diff --git a/YADrone/android/src/de/yadrone/android/videodeprecated/StreamProxy.java b/yadrone-android/src/de/yadrone/android/videodeprecated/StreamProxy.java
similarity index 100%
rename from YADrone/android/src/de/yadrone/android/videodeprecated/StreamProxy.java
rename to yadrone-android/src/de/yadrone/android/videodeprecated/StreamProxy.java
diff --git a/YADrone/android/src/de/yadrone/android/videodeprecated/VideoActivity.java b/yadrone-android/src/de/yadrone/android/videodeprecated/VideoActivity.java
similarity index 100%
rename from YADrone/android/src/de/yadrone/android/videodeprecated/VideoActivity.java
rename to yadrone-android/src/de/yadrone/android/videodeprecated/VideoActivity.java
diff --git a/yadrone-controlcenter/.gitignore b/yadrone-controlcenter/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/yadrone-controlcenter/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/yadrone-controlcenter/pom.xml b/yadrone-controlcenter/pom.xml
new file mode 100644
index 0000000..b1163d3
--- /dev/null
+++ b/yadrone-controlcenter/pom.xml
@@ -0,0 +1,80 @@
+
+
+ 4.0.0
+
+ de.uni-hamburg.yadrone
+ yadrone-controlcenter
+ jar
+
+
+ de.uni-hamburg
+ yadrone
+ 0.3.4-SNAPSHOT
+ ../
+
+
+
+
+ ${project.groupId}
+ yadrone-core
+ ${project.version}
+
+
+ org.jfree
+ jfreechart
+
+
+ com.google.zxing
+ core
+
+
+ com.google.zxing
+ javase
+
+
+ org.reflections
+ reflections
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.4
+
+
+
+ de.yadrone.apps.controlcenter.YADroneControlCenter
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 2.4
+
+
+ jar-with-dependencies
+
+
+
+ de.yadrone.apps.controlcenter.YADroneControlCenter
+
+
+
+
+
+ assemble-all
+ package
+
+ single
+
+
+
+
+
+
+
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/CCFrame.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/CCFrame.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/CCFrame.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/CCFrame.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/CCPropertyManager.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/CCPropertyManager.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/CCPropertyManager.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/CCPropertyManager.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/ICCPlugin.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/ICCPlugin.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/ICCPlugin.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/ICCPlugin.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/YADroneControlCenter.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/YADroneControlCenter.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/YADroneControlCenter.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/YADroneControlCenter.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/img/desktop.jpg b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/img/desktop.jpg
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/img/desktop.jpg
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/img/desktop.jpg
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/altitude/AltitudeChart.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/altitude/AltitudeChart.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/altitude/AltitudeChart.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/altitude/AltitudeChart.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/altitude/AltitudeChartPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/altitude/AltitudeChartPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/altitude/AltitudeChartPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/altitude/AltitudeChartPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/attitudechart/AttitudeChart.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/attitudechart/AttitudeChart.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/attitudechart/AttitudeChart.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/attitudechart/AttitudeChart.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/attitudechart/AttitudeChartPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/attitudechart/AttitudeChartPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/attitudechart/AttitudeChartPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/attitudechart/AttitudeChartPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/battery/BatteryPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/battery/BatteryPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/battery/BatteryPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/battery/BatteryPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/configuration/ConfigurationPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/configuration/ConfigurationPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/configuration/ConfigurationPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/configuration/ConfigurationPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/connection/ConnectionState.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/connection/ConnectionState.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/connection/ConnectionState.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/connection/ConnectionState.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/connection/dot_green.png b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/connection/dot_green.png
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/connection/dot_green.png
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/connection/dot_green.png
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/connection/dot_red.png b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/connection/dot_red.png
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/connection/dot_red.png
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/connection/dot_red.png
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/console/ConsolePanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/console/ConsolePanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/console/ConsolePanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/console/ConsolePanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardCommandManager.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardCommandManager.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardCommandManager.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardCommandManager.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardCommandManagerAlternative.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardCommandManagerAlternative.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardCommandManagerAlternative.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardCommandManagerAlternative.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardLayoutPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardLayoutPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardLayoutPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/keyboard/KeyboardLayoutPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control.png b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control.png
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control.png
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control.png
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control_alternative.png b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control_alternative.png
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control_alternative.png
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control_alternative.png
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/pluginmanager/PluginManager.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/pluginmanager/PluginManager.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/pluginmanager/PluginManager.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/pluginmanager/PluginManager.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/qrcode/QRCodeScannerPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/qrcode/QRCodeScannerPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/qrcode/QRCodeScannerPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/qrcode/QRCodeScannerPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/qrcode/generator/QRCodeGeneratorPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/qrcode/generator/QRCodeGeneratorPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/qrcode/generator/QRCodeGeneratorPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/qrcode/generator/QRCodeGeneratorPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/remotelog/RemoteLogPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/remotelog/RemoteLogPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/remotelog/RemoteLogPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/remotelog/RemoteLogPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/speed/SpeedPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/speed/SpeedPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/speed/SpeedPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/speed/SpeedPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/state/StatePanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/state/StatePanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/state/StatePanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/state/StatePanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/statistics/StatisticsPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/statistics/StatisticsPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/statistics/StatisticsPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/statistics/StatisticsPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/video/VideoCanvas.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/video/VideoCanvas.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/video/VideoCanvas.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/video/VideoCanvas.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/video/VideoPanel.java b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/video/VideoPanel.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/video/VideoPanel.java
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/video/VideoPanel.java
diff --git a/YADrone/src/de/yadrone/apps/controlcenter/plugins/video/hourglass.png b/yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/video/hourglass.png
similarity index 100%
rename from YADrone/src/de/yadrone/apps/controlcenter/plugins/video/hourglass.png
rename to yadrone-controlcenter/src/main/java/de/yadrone/apps/controlcenter/plugins/video/hourglass.png
diff --git a/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/img/desktop.jpg b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/img/desktop.jpg
new file mode 100644
index 0000000..90b0817
Binary files /dev/null and b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/img/desktop.jpg differ
diff --git a/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/connection/dot_green.png b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/connection/dot_green.png
new file mode 100644
index 0000000..0d73c4a
Binary files /dev/null and b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/connection/dot_green.png differ
diff --git a/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/connection/dot_red.png b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/connection/dot_red.png
new file mode 100644
index 0000000..28cf174
Binary files /dev/null and b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/connection/dot_red.png differ
diff --git a/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control.png b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control.png
new file mode 100644
index 0000000..82174cf
Binary files /dev/null and b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control.png differ
diff --git a/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control_alternative.png b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control_alternative.png
new file mode 100644
index 0000000..ec236de
Binary files /dev/null and b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/keyboard/keyboard_control_alternative.png differ
diff --git a/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/video/hourglass.png b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/video/hourglass.png
new file mode 100644
index 0000000..28cca09
Binary files /dev/null and b/yadrone-controlcenter/src/main/resources/de/yadrone/apps/controlcenter/plugins/video/hourglass.png differ
diff --git a/yadrone-core/.gitignore b/yadrone-core/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/yadrone-core/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/yadrone-core/pom.xml b/yadrone-core/pom.xml
new file mode 100644
index 0000000..ff35cf0
--- /dev/null
+++ b/yadrone-core/pom.xml
@@ -0,0 +1,65 @@
+
+
+ 4.0.0
+
+ de.uni-hamburg.yadrone
+ yadrone-core
+ jar
+
+
+ de.uni-hamburg
+ yadrone
+ 0.3.4-SNAPSHOT
+ ../
+
+
+
+
+ commons-net
+ commons-net
+
+
+ xuggle
+ xuggle-xuggler
+
+
+
+
diff --git a/YADrone/src/de/yadrone/base/ARDrone.java b/yadrone-core/src/main/java/de/yadrone/base/ARDrone.java
similarity index 93%
rename from YADrone/src/de/yadrone/base/ARDrone.java
rename to yadrone-core/src/main/java/de/yadrone/base/ARDrone.java
index 67f3e94..8efae13 100644
--- a/YADrone/src/de/yadrone/base/ARDrone.java
+++ b/yadrone-core/src/main/java/de/yadrone/base/ARDrone.java
@@ -123,7 +123,38 @@ public synchronized ConfigurationManager getConfigurationManager() {
}
return configurationManager;
}
+@Override
+ public void stopController() {
+ freeze();
+ landing();
+ CommandManager cm = getCommandManager();
+ cm.stop();
+ ConfigurationManager cfgm = getConfigurationManager();
+ cfgm.close();
+ NavDataManager nm = getNavDataManager();
+ nm.stop();
+ }
+ @Override
+ public void startController() {
+ // call get to init and start manager
+ getCommandManager();
+ getConfigurationManager();
+ getNavDataManager();
+ }
+
+ @Override
+ public void startVideomanager() {
+ getVideoManager();
+ }
+
+ @Override
+ public void stopVideomanager() {
+ VideoManager vm = getVideoManager();
+ if (vm != null) {
+ vm.close();
+ }
+ }
@Override
public void stop() {
freeze();
@@ -143,6 +174,7 @@ public void stop() {
public void start() {
// call get to init and start manager
getCommandManager();
+ getCommandManager().waitFor(5000);
getConfigurationManager();
getNavDataManager();
getVideoManager();
diff --git a/YADrone/src/de/yadrone/base/IARDrone.java b/yadrone-core/src/main/java/de/yadrone/base/IARDrone.java
similarity index 95%
rename from YADrone/src/de/yadrone/base/IARDrone.java
rename to yadrone-core/src/main/java/de/yadrone/base/IARDrone.java
index 607e844..956b201 100644
--- a/YADrone/src/de/yadrone/base/IARDrone.java
+++ b/yadrone-core/src/main/java/de/yadrone/base/IARDrone.java
@@ -39,7 +39,11 @@ public interface IARDrone {
public void start();
public void stop();
-
+ public void stopController();
+ public void startController();
+ public void startVideomanager();
+ public void stopVideomanager();
+
//camera
public void setHorizontalCamera();//setFrontCameraStreaming()
public void setVerticalCamera();//setBellyCameraStreaming()
diff --git a/YADrone/src/de/yadrone/base/command/ATCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/ATCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/ATCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/ATCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/CalibrationCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/CalibrationCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/CalibrationCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/CalibrationCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/CommandManager.java b/yadrone-core/src/main/java/de/yadrone/base/command/CommandManager.java
similarity index 97%
rename from YADrone/src/de/yadrone/base/command/CommandManager.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/CommandManager.java
index b485b93..95c2d60 100644
--- a/YADrone/src/de/yadrone/base/command/CommandManager.java
+++ b/yadrone-core/src/main/java/de/yadrone/base/command/CommandManager.java
@@ -36,13 +36,14 @@ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABI
public class CommandManager extends AbstractManager
{
- public final static String APPLICATION_ID = "aabbccdd";
- public final static String PROFILE_ID = "bbccddee";
- public final static String SESSION_ID = "ccddeeff";
+ public final static String APPLICATION_ID = "00000000"; //"96e3654b";
+ public final static String PROFILE_ID = "00000000";
+ public final static String SESSION_ID = "00000000";
private IExceptionListener excListener;
private CommandQueue q;
private Timer timer;
+ private long sendCommandCount;
private static int seq = 1;
@@ -51,6 +52,7 @@ public CommandManager(InetAddress inetaddr, IExceptionListener excListener) {
this.q = new CommandQueue(100);
this.timer = new Timer("YADrone CommandManager Timer");
this.excListener = excListener;
+ this.sendCommandCount = 0;
initARDrone();
}
@@ -63,6 +65,15 @@ public void setVideoChannel(VideoChannel c) {
}
/**
+ * Returns the number of commands send to the drone.
+ * @return the sendCommandCount
+ */
+ public long getSendCommandCount()
+ {
+ return sendCommandCount;
+ }
+
+ /**
* Wait (sleep) for specified amount of time (same semantics as after() and waitFor() - blocks the calling thread).
* This way commands can be executed for a certain amount of time, e.g. fly forward for 2000 ms, then turn right.
* @param millis Number of milliseconds to wait
@@ -831,6 +842,7 @@ public void run() {
} else {
c = cs;
t0 = System.currentTimeMillis();
+ Thread.sleep(10); // In case there is only a sticky command, sleep for a while otherwise we clog up the video stream.
}
} else {
if (c.isSticky()) {
@@ -869,12 +881,12 @@ public void run() {
private CommandManager initARDrone()
{
- new Thread(new Runnable() {
- public void run()
- {
+// new Thread(new Runnable() {
+// public void run()
+// {
setMulticonfiguration();
- }
- }).start();;
+// }
+// }).start();;
waitFor(5000);
@@ -907,6 +919,8 @@ private synchronized void sendCommand(ATCommand c) throws InterruptedException,
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, inetaddr, ARDroneUtils.PORT);
socket.send(packet);
+
+ sendCommandCount++;
}
private int limit(int i, int min, int max) {
@@ -933,7 +947,7 @@ public CommandManager setControlAck(boolean b) {
private void waitForControlAck(boolean b) throws InterruptedException {
if (controlAck != b) {
- int n = 1;
+ int n = 20;
synchronized (controlAckLock) {
while (n > 0 && controlAck != b) {
controlAckLock.wait(50);
diff --git a/YADrone/src/de/yadrone/base/command/CommandQueue.java b/yadrone-core/src/main/java/de/yadrone/base/command/CommandQueue.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/CommandQueue.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/CommandQueue.java
diff --git a/YADrone/src/de/yadrone/base/command/ConfigureCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/ConfigureCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/ConfigureCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/ConfigureCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/ConfigureIdsCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/ConfigureIdsCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/ConfigureIdsCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/ConfigureIdsCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/ControlCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/ControlCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/ControlCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/ControlCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/ControlMode.java b/yadrone-core/src/main/java/de/yadrone/base/command/ControlMode.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/ControlMode.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/ControlMode.java
diff --git a/YADrone/src/de/yadrone/base/command/DetectionType.java b/yadrone-core/src/main/java/de/yadrone/base/command/DetectionType.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/DetectionType.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/DetectionType.java
diff --git a/YADrone/src/de/yadrone/base/command/Device.java b/yadrone-core/src/main/java/de/yadrone/base/command/Device.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/Device.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/Device.java
diff --git a/YADrone/src/de/yadrone/base/command/DroneCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/DroneCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/DroneCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/DroneCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/EmergencyCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/EmergencyCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/EmergencyCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/EmergencyCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/EnemyColor.java b/yadrone-core/src/main/java/de/yadrone/base/command/EnemyColor.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/EnemyColor.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/EnemyColor.java
diff --git a/YADrone/src/de/yadrone/base/command/FileFilter.java b/yadrone-core/src/main/java/de/yadrone/base/command/FileFilter.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/FileFilter.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/FileFilter.java
diff --git a/YADrone/src/de/yadrone/base/command/FlatTrimCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/FlatTrimCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/FlatTrimCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/FlatTrimCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/FlightAnimation.java b/yadrone-core/src/main/java/de/yadrone/base/command/FlightAnimation.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/FlightAnimation.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/FlightAnimation.java
diff --git a/YADrone/src/de/yadrone/base/command/FlightAnimationCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/FlightAnimationCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/FlightAnimationCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/FlightAnimationCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/FlyingMode.java b/yadrone-core/src/main/java/de/yadrone/base/command/FlyingMode.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/FlyingMode.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/FlyingMode.java
diff --git a/YADrone/src/de/yadrone/base/command/FreezeCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/FreezeCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/FreezeCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/FreezeCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/GainsCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/GainsCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/GainsCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/GainsCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/GroundStripeColor.java b/yadrone-core/src/main/java/de/yadrone/base/command/GroundStripeColor.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/GroundStripeColor.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/GroundStripeColor.java
diff --git a/YADrone/src/de/yadrone/base/command/H264.java b/yadrone-core/src/main/java/de/yadrone/base/command/H264.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/H264.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/H264.java
diff --git a/YADrone/src/de/yadrone/base/command/HoverCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/HoverCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/HoverCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/HoverCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/JPEGFileFilter.java b/yadrone-core/src/main/java/de/yadrone/base/command/JPEGFileFilter.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/JPEGFileFilter.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/JPEGFileFilter.java
diff --git a/YADrone/src/de/yadrone/base/command/KeepAliveCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/KeepAliveCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/KeepAliveCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/KeepAliveCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/LEDAnimation.java b/yadrone-core/src/main/java/de/yadrone/base/command/LEDAnimation.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/LEDAnimation.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/LEDAnimation.java
diff --git a/YADrone/src/de/yadrone/base/command/LEDAnimationCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/LEDAnimationCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/LEDAnimationCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/LEDAnimationCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/LandCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/LandCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/LandCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/LandCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/Location.java b/yadrone-core/src/main/java/de/yadrone/base/command/Location.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/Location.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/Location.java
diff --git a/YADrone/src/de/yadrone/base/command/ManualTrimCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/ManualTrimCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/ManualTrimCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/ManualTrimCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/MiscCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/MiscCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/MiscCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/MiscCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/MoveCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/MoveCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/MoveCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/MoveCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/NavDataFileFilter.java b/yadrone-core/src/main/java/de/yadrone/base/command/NavDataFileFilter.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/NavDataFileFilter.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/NavDataFileFilter.java
diff --git a/YADrone/src/de/yadrone/base/command/PCMDCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/PCMDCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/PCMDCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/PCMDCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/PCMDMagCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/PCMDMagCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/PCMDMagCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/PCMDMagCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/PMODECommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/PMODECommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/PMODECommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/PMODECommand.java
diff --git a/YADrone/src/de/yadrone/base/command/PlayAnimationCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/PlayAnimationCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/PlayAnimationCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/PlayAnimationCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/Priority.java b/yadrone-core/src/main/java/de/yadrone/base/command/Priority.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/Priority.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/Priority.java
diff --git a/YADrone/src/de/yadrone/base/command/QuitCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/QuitCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/QuitCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/QuitCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/RawCaptureCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/RawCaptureCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/RawCaptureCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/RawCaptureCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/RefCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/RefCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/RefCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/RefCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/ResetControlAckCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/ResetControlAckCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/ResetControlAckCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/ResetControlAckCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/TakeOffCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/TakeOffCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/TakeOffCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/TakeOffCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/UltrasoundFrequency.java b/yadrone-core/src/main/java/de/yadrone/base/command/UltrasoundFrequency.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/UltrasoundFrequency.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/UltrasoundFrequency.java
diff --git a/YADrone/src/de/yadrone/base/command/UserBox.java b/yadrone-core/src/main/java/de/yadrone/base/command/UserBox.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/UserBox.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/UserBox.java
diff --git a/YADrone/src/de/yadrone/base/command/UserboxFileFilter.java b/yadrone-core/src/main/java/de/yadrone/base/command/UserboxFileFilter.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/UserboxFileFilter.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/UserboxFileFilter.java
diff --git a/YADrone/src/de/yadrone/base/command/VideoBitRateMode.java b/yadrone-core/src/main/java/de/yadrone/base/command/VideoBitRateMode.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/VideoBitRateMode.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/VideoBitRateMode.java
diff --git a/YADrone/src/de/yadrone/base/command/VideoChannel.java b/yadrone-core/src/main/java/de/yadrone/base/command/VideoChannel.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/VideoChannel.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/VideoChannel.java
diff --git a/YADrone/src/de/yadrone/base/command/VideoChannelCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/VideoChannelCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/VideoChannelCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/VideoChannelCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/VideoCodec.java b/yadrone-core/src/main/java/de/yadrone/base/command/VideoCodec.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/VideoCodec.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/VideoCodec.java
diff --git a/YADrone/src/de/yadrone/base/command/VisionOptionCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/VisionOptionCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/VisionOptionCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/VisionOptionCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/VisionParametersCommand.java b/yadrone-core/src/main/java/de/yadrone/base/command/VisionParametersCommand.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/VisionParametersCommand.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/VisionParametersCommand.java
diff --git a/YADrone/src/de/yadrone/base/command/VisionTagType.java b/yadrone-core/src/main/java/de/yadrone/base/command/VisionTagType.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/VisionTagType.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/VisionTagType.java
diff --git a/YADrone/src/de/yadrone/base/command/WifiMode.java b/yadrone-core/src/main/java/de/yadrone/base/command/WifiMode.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/command/WifiMode.java
rename to yadrone-core/src/main/java/de/yadrone/base/command/WifiMode.java
diff --git a/YADrone/src/de/yadrone/base/configuration/ConfigurationListener.java b/yadrone-core/src/main/java/de/yadrone/base/configuration/ConfigurationListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/configuration/ConfigurationListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/configuration/ConfigurationListener.java
diff --git a/YADrone/src/de/yadrone/base/configuration/ConfigurationManager.java b/yadrone-core/src/main/java/de/yadrone/base/configuration/ConfigurationManager.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/configuration/ConfigurationManager.java
rename to yadrone-core/src/main/java/de/yadrone/base/configuration/ConfigurationManager.java
diff --git a/YADrone/src/de/yadrone/base/exception/ARDroneException.java b/yadrone-core/src/main/java/de/yadrone/base/exception/ARDroneException.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/exception/ARDroneException.java
rename to yadrone-core/src/main/java/de/yadrone/base/exception/ARDroneException.java
diff --git a/YADrone/src/de/yadrone/base/exception/CommandException.java b/yadrone-core/src/main/java/de/yadrone/base/exception/CommandException.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/exception/CommandException.java
rename to yadrone-core/src/main/java/de/yadrone/base/exception/CommandException.java
diff --git a/YADrone/src/de/yadrone/base/exception/ConfigurationException.java b/yadrone-core/src/main/java/de/yadrone/base/exception/ConfigurationException.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/exception/ConfigurationException.java
rename to yadrone-core/src/main/java/de/yadrone/base/exception/ConfigurationException.java
diff --git a/YADrone/src/de/yadrone/base/exception/IExceptionListener.java b/yadrone-core/src/main/java/de/yadrone/base/exception/IExceptionListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/exception/IExceptionListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/exception/IExceptionListener.java
diff --git a/YADrone/src/de/yadrone/base/exception/NavDataException.java b/yadrone-core/src/main/java/de/yadrone/base/exception/NavDataException.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/exception/NavDataException.java
rename to yadrone-core/src/main/java/de/yadrone/base/exception/NavDataException.java
diff --git a/YADrone/src/de/yadrone/base/exception/VideoException.java b/yadrone-core/src/main/java/de/yadrone/base/exception/VideoException.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/exception/VideoException.java
rename to yadrone-core/src/main/java/de/yadrone/base/exception/VideoException.java
diff --git a/YADrone/src/de/yadrone/base/manager/AbstractManager.java b/yadrone-core/src/main/java/de/yadrone/base/manager/AbstractManager.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/manager/AbstractManager.java
rename to yadrone-core/src/main/java/de/yadrone/base/manager/AbstractManager.java
diff --git a/YADrone/src/de/yadrone/base/manager/AbstractTCPManager.java b/yadrone-core/src/main/java/de/yadrone/base/manager/AbstractTCPManager.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/manager/AbstractTCPManager.java
rename to yadrone-core/src/main/java/de/yadrone/base/manager/AbstractTCPManager.java
diff --git a/YADrone/src/de/yadrone/base/navdata/AcceleroListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/AcceleroListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/AcceleroListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/AcceleroListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/AcceleroPhysData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/AcceleroPhysData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/AcceleroPhysData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/AcceleroPhysData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/AcceleroRawData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/AcceleroRawData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/AcceleroRawData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/AcceleroRawData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/AdcFrame.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/AdcFrame.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/AdcFrame.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/AdcFrame.java
diff --git a/YADrone/src/de/yadrone/base/navdata/AdcListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/AdcListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/AdcListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/AdcListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/Altitude.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/Altitude.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/Altitude.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/Altitude.java
diff --git a/YADrone/src/de/yadrone/base/navdata/AltitudeListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/AltitudeListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/AltitudeListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/AltitudeListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/AttitudeListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/AttitudeListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/AttitudeListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/AttitudeListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/BatteryListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/BatteryListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/BatteryListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/BatteryListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/CadType.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/CadType.java
similarity index 92%
rename from YADrone/src/de/yadrone/base/navdata/CadType.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/CadType.java
index 09c4e07..66dcb87 100644
--- a/YADrone/src/de/yadrone/base/navdata/CadType.java
+++ b/yadrone-core/src/main/java/de/yadrone/base/navdata/CadType.java
@@ -1,9 +1,8 @@
package de.yadrone.base.navdata;
-import java.util.ArrayList;
/**
- * @brief Values for the detection type on drone cameras.
+ * Values for the detection type on drone cameras.
*/
public enum CadType {
/* Deprecated */
@@ -37,6 +36,10 @@ public enum CadType {
/* Detect a tower side with the front camera */
TOWER_SIDE;
+ /**
+ * @param v
+ * @return
+ */
public static CadType fromInt(int v) {
CadType[] values = values();
if (v < 0 || v > values.length) {
@@ -47,6 +50,10 @@ public static CadType fromInt(int v) {
// TODO: can the mask contain more than 1 value?
// if so, uncommment arraylist stuff and remove return statements
+ /**
+ * @param types
+ * @return
+ */
public static CadType fromMask(int types) {
CadType[] values = values();
//ArrayList l = new ArrayList();
diff --git a/YADrone/src/de/yadrone/base/navdata/ControlAlgorithm.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/ControlAlgorithm.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/ControlAlgorithm.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/ControlAlgorithm.java
diff --git a/YADrone/src/de/yadrone/base/navdata/ControlState.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/ControlState.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/ControlState.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/ControlState.java
diff --git a/YADrone/src/de/yadrone/base/navdata/ControlStateListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/ControlStateListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/ControlStateListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/ControlStateListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/CounterListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/CounterListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/CounterListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/CounterListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/Counters.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/Counters.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/Counters.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/Counters.java
diff --git a/YADrone/src/de/yadrone/base/navdata/DroneState.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/DroneState.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/DroneState.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/DroneState.java
diff --git a/YADrone/src/de/yadrone/base/navdata/GyroListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/GyroListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/GyroListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/GyroListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/GyroPhysData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/GyroPhysData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/GyroPhysData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/GyroPhysData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/GyroRawData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/GyroRawData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/GyroRawData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/GyroRawData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/HDVideoState.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/HDVideoState.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/HDVideoState.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/HDVideoState.java
diff --git a/YADrone/src/de/yadrone/base/navdata/HDVideoStreamData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/HDVideoStreamData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/HDVideoStreamData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/HDVideoStreamData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/KalmanPressureData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/KalmanPressureData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/KalmanPressureData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/KalmanPressureData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/MagnetoData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/MagnetoData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/MagnetoData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/MagnetoData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/MagnetoListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/MagnetoListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/MagnetoListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/MagnetoListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/NavData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/NavData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/NavData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/NavData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/NavDataException.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/NavDataException.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/NavDataException.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/NavDataException.java
diff --git a/YADrone/src/de/yadrone/base/navdata/NavDataManager.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/NavDataManager.java
similarity index 90%
rename from YADrone/src/de/yadrone/base/navdata/NavDataManager.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/NavDataManager.java
index 53afd34..a24590e 100644
--- a/YADrone/src/de/yadrone/base/navdata/NavDataManager.java
+++ b/yadrone-core/src/main/java/de/yadrone/base/navdata/NavDataManager.java
@@ -109,224 +109,312 @@ private void setMask(boolean reset, int[] tags) {
public void addAttitudeListener(AttitudeListener attitudeListener) {
this.attitudeListener.add(attitudeListener);
- setMask(this.attitudeListener.size() == 1, new int[] { DEMO_TAG, EULER_ANGLES_TAG, WIND_TAG });
+ if (this.attitudeListener.size() == 1) {
+ setMask(false, new int[] { DEMO_TAG, EULER_ANGLES_TAG, WIND_TAG });
+ }
}
public void removeAttitudeListener(AttitudeListener attitudeListener) {
this.attitudeListener.remove(attitudeListener);
- setMask(this.attitudeListener.size() == 0, new int[] { DEMO_TAG, EULER_ANGLES_TAG, WIND_TAG });
+ if (this.attitudeListener.size() == 0) {
+ setMask(true, new int[] { DEMO_TAG, EULER_ANGLES_TAG, WIND_TAG });
+ }
}
public void addAltitudeListener(AltitudeListener altitudeListener) {
this.altitudeListener.add(altitudeListener);
- setMask(this.altitudeListener.size() == 1, new int[] { DEMO_TAG, ALTITUDE_TAG });
+ if (this.altitudeListener.size() == 1) {
+ setMask(false, new int[] { DEMO_TAG, ALTITUDE_TAG });
+ }
}
public void removeAltitudeListener(AltitudeListener altitudeListener) {
this.altitudeListener.remove(altitudeListener);
- setMask(this.altitudeListener.size() == 0, new int[] { DEMO_TAG, ALTITUDE_TAG });
+ if (this.altitudeListener.size() == 0) {
+ setMask(true, new int[] { DEMO_TAG, ALTITUDE_TAG });
+ }
}
public void addBatteryListener(BatteryListener batteryListener) {
this.batteryListener.add(batteryListener);
- setMask(this.batteryListener.size() == 1, new int[] { DEMO_TAG, RAW_MEASURES_TAG });
+ if (this.batteryListener.size() == 1) {
+ setMask(false, new int[] { DEMO_TAG, RAW_MEASURES_TAG });
+ }
}
public void removeBatteryListener(BatteryListener batteryListener) {
this.batteryListener.remove(batteryListener);
- setMask(this.batteryListener.size() == 0, new int[] { DEMO_TAG, RAW_MEASURES_TAG });
+ if (this.batteryListener.size() == 0) {
+ setMask(true, new int[] { DEMO_TAG, RAW_MEASURES_TAG });
+ }
}
public void addTimeListener(TimeListener timeListener) {
this.timeListener.add(timeListener);
- setMask(this.timeListener.size() == 1, new int[] { TIME_TAG });
+ if (this.timeListener.size() == 1) {
+ setMask(false, new int[] { TIME_TAG });
+ }
}
public void removeTimeListener(TimeListener timeListener) {
this.timeListener.remove(timeListener);
- setMask(this.timeListener.size() == 0, new int[] { TIME_TAG });
+ if (this.timeListener.size() == 0) {
+ setMask(true, new int[] { TIME_TAG });
+ }
}
public void addStateListener(StateListener stateListener) {
this.stateListener.add(stateListener);
- setMask(this.stateListener.size() == 1, new int[] { DEMO_TAG });
+ if (this.stateListener.size() == 1) {
+ setMask(false, new int[] { DEMO_TAG });
+ }
}
public void removeStateListener(StateListener stateListener) {
this.stateListener.remove(stateListener);
- setMask(this.stateListener.size() == 0, new int[] { DEMO_TAG });
+ if (this.stateListener.size() == 0) {
+ setMask(true, new int[] { DEMO_TAG });
+ }
}
public void addVelocityListener(VelocityListener velocityListener) {
this.velocityListener.add(velocityListener);
- setMask(this.velocityListener.size() == 1, new int[] { DEMO_TAG });
+ if (this.velocityListener.size() == 1) {
+ setMask(false, new int[] { DEMO_TAG });
+ }
}
public void removeVelocityListener(VelocityListener velocityListener) {
this.velocityListener.remove(velocityListener);
- setMask(this.velocityListener.size() == 0, new int[] { DEMO_TAG });
+ if (this.velocityListener.size() == 0) {
+ setMask(true, new int[] { DEMO_TAG });
+ }
}
public void addVisionListener(VisionListener visionListener) {
this.visionListener.add(visionListener);
- setMask(this.visionListener.size() == 1, new int[] { DEMO_TAG, TRACKERS_SEND_TAG, VISION_DETECT_TAG, VISION_OF_TAG,
- VISION_TAG, VISION_PERF_TAG, VISION_RAW_TAG });
+ if (this.visionListener.size() == 1) {
+ setMask(false, new int[] { DEMO_TAG, TRACKERS_SEND_TAG, VISION_DETECT_TAG, VISION_OF_TAG,
+ VISION_TAG, VISION_PERF_TAG, VISION_RAW_TAG });
+ }
}
public void removeVisionListener(VisionListener visionListener) {
this.visionListener.remove(visionListener);
- setMask(this.visionListener.size() == 0, new int[] { DEMO_TAG, TRACKERS_SEND_TAG, VISION_DETECT_TAG, VISION_OF_TAG,
- VISION_TAG, VISION_PERF_TAG, VISION_RAW_TAG });
+ if (this.visionListener.size() == 0) {
+ setMask(true, new int[] { DEMO_TAG, TRACKERS_SEND_TAG, VISION_DETECT_TAG, VISION_OF_TAG,
+ VISION_TAG, VISION_PERF_TAG, VISION_RAW_TAG });
+ }
}
public void addMagnetoListener(MagnetoListener magnetoListener) {
this.magnetoListener.add(magnetoListener);
- setMask(this.magnetoListener.size() == 1, new int[] { MAGNETO_TAG });
+ if (this.magnetoListener.size() == 1) {
+ setMask(false, new int[] { MAGNETO_TAG });
+ }
}
public void removeMagnetoListener(MagnetoListener magnetoListener) {
this.magnetoListener.remove(magnetoListener);
- setMask(this.magnetoListener.size() == 0, new int[] { MAGNETO_TAG });
+ if (this.magnetoListener.size() == 0) {
+ setMask(true, new int[] { MAGNETO_TAG });
+ }
}
public void addAcceleroListener(AcceleroListener acceleroListener) {
this.acceleroListener.add(acceleroListener);
- setMask(this.acceleroListener.size() == 1, new int[] { PHYS_MEASURES_TAG, RAW_MEASURES_TAG });
+ if (this.acceleroListener.size() == 1) {
+ setMask(false, new int[] { PHYS_MEASURES_TAG, RAW_MEASURES_TAG });
+ }
}
public void removeAcceleroListener(AcceleroListener acceleroListener) {
this.acceleroListener.remove(acceleroListener);
- setMask(this.acceleroListener.size() == 0, new int[] { PHYS_MEASURES_TAG, RAW_MEASURES_TAG });
+ if (this.acceleroListener.size() == 0) {
+ setMask(true, new int[] { PHYS_MEASURES_TAG, RAW_MEASURES_TAG });
+ }
}
public void addGyroListener(GyroListener gyroListener) {
this.gyroListener.add(gyroListener);
- setMask(this.gyroListener.size() == 1, new int[] { GYROS_OFFSETS_TAG, PHYS_MEASURES_TAG, RAW_MEASURES_TAG });
+ if (this.gyroListener.size() == 1) {
+ setMask(false, new int[] { GYROS_OFFSETS_TAG, PHYS_MEASURES_TAG, RAW_MEASURES_TAG });
+ }
}
public void removeGyroListener(GyroListener gyroListener) {
this.gyroListener.remove(gyroListener);
- setMask(this.gyroListener.size() == 0, new int[] { GYROS_OFFSETS_TAG, PHYS_MEASURES_TAG, RAW_MEASURES_TAG });
+ if (this.gyroListener.size() == 0) {
+ setMask(true, new int[] { GYROS_OFFSETS_TAG, PHYS_MEASURES_TAG, RAW_MEASURES_TAG });
+ }
}
public void addUltrasoundListener(UltrasoundListener ultrasoundListener) {
this.ultrasoundListener.add(ultrasoundListener);
- setMask(this.ultrasoundListener.size() == 1, new int[] { RAW_MEASURES_TAG });
+ if (this.ultrasoundListener.size() == 1) {
+ setMask(false, new int[] { RAW_MEASURES_TAG });
+ }
}
public void removeUltrasoundListener(UltrasoundListener ultrasoundListener) {
this.ultrasoundListener.remove(ultrasoundListener);
- setMask(this.ultrasoundListener.size() == 0, new int[] { RAW_MEASURES_TAG });
+ if (this.ultrasoundListener.size() == 0) {
+ setMask(true, new int[] { RAW_MEASURES_TAG });
+ }
}
public void addAdcListener(AdcListener adcListener) {
this.adcListener.add(adcListener);
- setMask(this.adcListener.size() == 1, new int[] { ADC_DATA_FRAME_TAG });
+ if (this.adcListener.size() == 1) {
+ setMask(false, new int[] { ADC_DATA_FRAME_TAG });
+ }
}
public void removeAdcListener(AdcListener adcListener) {
this.adcListener.remove(adcListener);
- setMask(this.adcListener.size() == 0, new int[] { ADC_DATA_FRAME_TAG });
+ if (this.adcListener.size() == 0) {
+ setMask(true, new int[] { ADC_DATA_FRAME_TAG });
+ }
}
public void addCounterListener(CounterListener counterListener) {
this.counterListener.add(counterListener);
- setMask(this.counterListener.size() == 1, new int[] { GAMES_TAG });
+ if (this.counterListener.size() == 1) {
+ setMask(false, new int[] { GAMES_TAG });
+ }
}
public void removeCounterListener(CounterListener counterListener) {
this.counterListener.remove(counterListener);
- setMask(this.counterListener.size() == 0, new int[] { GAMES_TAG });
+ if (this.counterListener.size() == 0) {
+ setMask(true, new int[] { GAMES_TAG });
+ }
}
public void addPressureListener(PressureListener pressureListener) {
this.pressureListener.add(pressureListener);
- setMask(this.pressureListener.size() == 1, new int[] { KALMAN_PRESSURE_TAG, PRESSURE_RAW_TAG });
+ if (this.pressureListener.size() == 1) {
+ setMask(false, new int[] { KALMAN_PRESSURE_TAG, PRESSURE_RAW_TAG });
+ }
}
public void removePressureListener(PressureListener pressureListener) {
this.pressureListener.remove(pressureListener);
- setMask(this.pressureListener.size() == 0, new int[] { KALMAN_PRESSURE_TAG, PRESSURE_RAW_TAG });
+ if (this.pressureListener.size() == 0) {
+ setMask(true, new int[] { KALMAN_PRESSURE_TAG, PRESSURE_RAW_TAG });
+ }
}
public void addTemperatureListener(TemperatureListener temperatureListener) {
this.temperatureListener.add(temperatureListener);
- setMask(this.temperatureListener.size() == 1, new int[] { PRESSURE_RAW_TAG });
+ if (this.temperatureListener.size() == 1) {
+ setMask(false, new int[] { PRESSURE_RAW_TAG });
+ }
}
public void removeTemperatureListener(TemperatureListener temperatureListener) {
this.temperatureListener.remove(temperatureListener);
- setMask(this.temperatureListener.size() == 0, new int[] { PRESSURE_RAW_TAG });
+ if (this.temperatureListener.size() == 0) {
+ setMask(true, new int[] { PRESSURE_RAW_TAG });
+ }
}
public void addWindListener(WindListener windListener) {
this.windListener.add(windListener);
- setMask(this.windListener.size() == 1, new int[] { WIND_TAG });
+ if (this.windListener.size() == 1) {
+ setMask(false, new int[] { WIND_TAG });
+ }
}
public void removeWindListener(WindListener windListener) {
this.windListener.remove(windListener);
- setMask(this.windListener.size() == 0, new int[] { WIND_TAG });
+ if (this.windListener.size() == 0) {
+ setMask(true, new int[] { WIND_TAG });
+ }
}
public void addVideoListener(VideoListener videoListener) {
this.videoListener.add(videoListener);
- setMask(this.videoListener.size() == 1, new int[] { HDVIDEO_STREAM_TAG, VIDEO_STREAM_TAG });
+ if (this.videoListener.size() == 1) {
+ setMask(false, new int[] { HDVIDEO_STREAM_TAG, VIDEO_STREAM_TAG });
+ }
}
public void removeVideoListener(VideoListener videoListener) {
this.videoListener.remove(videoListener);
- setMask(this.videoListener.size() == 0, new int[] { HDVIDEO_STREAM_TAG, VIDEO_STREAM_TAG });
+ if (this.videoListener.size() == 0) {
+ setMask(true, new int[] { HDVIDEO_STREAM_TAG, VIDEO_STREAM_TAG });
+ }
}
public void addWifiListener(WifiListener wifiListener) {
this.wifiListener.add(wifiListener);
- setMask(this.wifiListener.size() == 1, new int[] { WIFI_TAG });
+ if (this.wifiListener.size() == 1) {
+ setMask(false , new int[] { WIFI_TAG });
+ }
}
public void removeWifiListener(WifiListener wifiListener) {
this.wifiListener.remove(wifiListener);
- setMask(this.wifiListener.size() == 0, new int[] { WIFI_TAG });
+ if (this.wifiListener.size() == 0) {
+ setMask(true, new int[] { WIFI_TAG });
+ }
}
public void addZimmu3000Listener(Zimmu3000Listener zimmu3000Listener) {
this.zimmu3000Listener.add(zimmu3000Listener);
- setMask(this.zimmu3000Listener.size() == 1, new int[] { ZIMMU_3000_TAG });
+ if (this.zimmu3000Listener.size() == 1) {
+ setMask(false, new int[] { ZIMMU_3000_TAG });
+ }
}
public void removeZimmu3000Listener(Zimmu3000Listener zimmu3000Listener) {
this.zimmu3000Listener.remove(zimmu3000Listener);
- setMask(this.zimmu3000Listener.size() == 0, new int[] { ZIMMU_3000_TAG });
+ if (this.zimmu3000Listener.size() == 0) {
+ setMask(true, new int[] { ZIMMU_3000_TAG });
+ }
}
public void addPWMlistener(PWMlistener pwmlistener) {
this.pwmlistener.add(pwmlistener);
- setMask(this.pwmlistener.size() == 1, new int[] { PWM_TAG });
+ if (this.pwmlistener.size() == 1) {
+ setMask(false, new int[] { PWM_TAG });
+ }
}
public void removePWMlistener(PWMlistener pwmlistener) {
this.pwmlistener.remove(pwmlistener);
- setMask(this.pwmlistener.size() == 0, new int[] { PWM_TAG });
+ if (this.pwmlistener.size() == 0) {
+ setMask(true, new int[] { PWM_TAG });
+ }
}
public void addReferencesListener(ReferencesListener referencesListener) {
this.referencesListener.add(referencesListener);
- setMask(this.referencesListener.size() == 1, new int[] { RC_REFERENCES_TAG, REFERENCES_TAG });
+ if (this.referencesListener.size() == 1) {
+ setMask(false, new int[] { RC_REFERENCES_TAG, REFERENCES_TAG });
+ }
}
public void removeReferencesListener(ReferencesListener referencesListener) {
this.referencesListener.remove(referencesListener);
- setMask(this.referencesListener.size() == 0, new int[] { RC_REFERENCES_TAG, REFERENCES_TAG });
+ if (this.referencesListener.size() == 0) {
+ setMask(true, new int[] { RC_REFERENCES_TAG, REFERENCES_TAG });
+ }
}
public void addTrimsListener(TrimsListener trimsListener) {
this.trimsListener.add(trimsListener);
- setMask(this.trimsListener.size() == 1, new int[] { TRIMS_TAG });
+ if (this.trimsListener.size() == 1) {
+ setMask(false, new int[] { TRIMS_TAG });
+ }
}
public void removeTrimsListener(TrimsListener trimsListener) {
this.trimsListener.remove(trimsListener);
- setMask(this.trimsListener.size() == 0, new int[] { TRIMS_TAG });
+ if (this.trimsListener.size() == 0) {
+ setMask(true, new int[] { TRIMS_TAG });
+ }
}
@Override
@@ -371,6 +459,7 @@ public void run() {
// TODO should we reset the communication watchdog always?
if (s.isCommunicationProblemOccurred()) {
+ System.err.println("NAV DATA ERRROR: Communication problem occured");
manager.resetCommunicationWatchDog();
}
@@ -385,6 +474,7 @@ public void run() {
{
System.err.println("Navdata reception timeout");
excListener.exeptionOccurred(new de.yadrone.base.exception.NavDataException(t));
+ ticklePort(ARDroneUtils.NAV_PORT);
}
catch (Throwable t)
{
diff --git a/YADrone/src/de/yadrone/base/navdata/PWMData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/PWMData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/PWMData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/PWMData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/PWMlistener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/PWMlistener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/PWMlistener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/PWMlistener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/Pressure.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/Pressure.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/Pressure.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/Pressure.java
diff --git a/YADrone/src/de/yadrone/base/navdata/PressureListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/PressureListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/PressureListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/PressureListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/ReferencesData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/ReferencesData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/ReferencesData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/ReferencesData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/ReferencesListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/ReferencesListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/ReferencesListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/ReferencesListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/StateListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/StateListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/StateListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/StateListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/Temperature.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/Temperature.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/Temperature.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/Temperature.java
diff --git a/YADrone/src/de/yadrone/base/navdata/TemperatureListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/TemperatureListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/TemperatureListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/TemperatureListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/TimeListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/TimeListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/TimeListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/TimeListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/TrackerData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/TrackerData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/TrackerData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/TrackerData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/TrimsListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/TrimsListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/TrimsListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/TrimsListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/UltrasoundData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/UltrasoundData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/UltrasoundData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/UltrasoundData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/UltrasoundListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/UltrasoundListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/UltrasoundListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/UltrasoundListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/VelocityListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/VelocityListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/VelocityListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/VelocityListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/VideoListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/VideoListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/VideoListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/VideoListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/VideoStreamData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/VideoStreamData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/VideoStreamData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/VideoStreamData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/VisionData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/VisionData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/VisionData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/VisionData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/VisionListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/VisionListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/VisionListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/VisionListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/VisionPerformance.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/VisionPerformance.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/VisionPerformance.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/VisionPerformance.java
diff --git a/YADrone/src/de/yadrone/base/navdata/VisionTag.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/VisionTag.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/VisionTag.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/VisionTag.java
diff --git a/YADrone/src/de/yadrone/base/navdata/WatchdogListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/WatchdogListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/WatchdogListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/WatchdogListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/WifiListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/WifiListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/WifiListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/WifiListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/WindEstimationData.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/WindEstimationData.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/WindEstimationData.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/WindEstimationData.java
diff --git a/YADrone/src/de/yadrone/base/navdata/WindListener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/WindListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/WindListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/WindListener.java
diff --git a/YADrone/src/de/yadrone/base/navdata/Zimmu3000Listener.java b/yadrone-core/src/main/java/de/yadrone/base/navdata/Zimmu3000Listener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/navdata/Zimmu3000Listener.java
rename to yadrone-core/src/main/java/de/yadrone/base/navdata/Zimmu3000Listener.java
diff --git a/YADrone/src/de/yadrone/base/utils/ARDroneUtils.java b/yadrone-core/src/main/java/de/yadrone/base/utils/ARDroneUtils.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/utils/ARDroneUtils.java
rename to yadrone-core/src/main/java/de/yadrone/base/utils/ARDroneUtils.java
diff --git a/YADrone/src/de/yadrone/base/video/BufferedVideoImage.java b/yadrone-core/src/main/java/de/yadrone/base/video/BufferedVideoImage.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/BufferedVideoImage.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/BufferedVideoImage.java
diff --git a/YADrone/src/de/yadrone/base/video/ImageDataException.java b/yadrone-core/src/main/java/de/yadrone/base/video/ImageDataException.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/ImageDataException.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/ImageDataException.java
diff --git a/YADrone/src/de/yadrone/base/video/ImageListener.java b/yadrone-core/src/main/java/de/yadrone/base/video/ImageListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/ImageListener.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/ImageListener.java
diff --git a/YADrone/src/de/yadrone/base/video/ImageSlice.java b/yadrone-core/src/main/java/de/yadrone/base/video/ImageSlice.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/ImageSlice.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/ImageSlice.java
diff --git a/YADrone/src/de/yadrone/base/video/MacroBlock.java b/yadrone-core/src/main/java/de/yadrone/base/video/MacroBlock.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/MacroBlock.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/MacroBlock.java
diff --git a/YADrone/src/de/yadrone/base/video/PictureFormats.java b/yadrone-core/src/main/java/de/yadrone/base/video/PictureFormats.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/PictureFormats.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/PictureFormats.java
diff --git a/YADrone/src/de/yadrone/base/video/ReadRawFileImage.java b/yadrone-core/src/main/java/de/yadrone/base/video/ReadRawFileImage.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/ReadRawFileImage.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/ReadRawFileImage.java
diff --git a/YADrone/src/de/yadrone/base/video/VideoDecoder.java b/yadrone-core/src/main/java/de/yadrone/base/video/VideoDecoder.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/VideoDecoder.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/VideoDecoder.java
diff --git a/YADrone/src/de/yadrone/base/video/VideoImage.java b/yadrone-core/src/main/java/de/yadrone/base/video/VideoImage.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/VideoImage.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/VideoImage.java
diff --git a/YADrone/src/de/yadrone/base/video/VideoManager.java b/yadrone-core/src/main/java/de/yadrone/base/video/VideoManager.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/VideoManager.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/VideoManager.java
diff --git a/YADrone/src/de/yadrone/base/video/uint.java b/yadrone-core/src/main/java/de/yadrone/base/video/uint.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/uint.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/uint.java
diff --git a/YADrone/src/de/yadrone/base/video/xuggler/XugglerDecoder.java b/yadrone-core/src/main/java/de/yadrone/base/video/xuggler/XugglerDecoder.java
similarity index 100%
rename from YADrone/src/de/yadrone/base/video/xuggler/XugglerDecoder.java
rename to yadrone-core/src/main/java/de/yadrone/base/video/xuggler/XugglerDecoder.java
diff --git a/yadrone-paperchase/.gitignore b/yadrone-paperchase/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/yadrone-paperchase/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/yadrone-paperchase/pom.xml b/yadrone-paperchase/pom.xml
new file mode 100644
index 0000000..3189eae
--- /dev/null
+++ b/yadrone-paperchase/pom.xml
@@ -0,0 +1,37 @@
+
+
+ 4.0.0
+
+ de.uni-hamburg.yadrone
+ yadrone-paperchase
+ jar
+
+
+ de.uni-hamburg
+ yadrone
+ 0.3.4-SNAPSHOT
+ ../
+
+
+
+
+ ${project.groupId}
+ yadrone-core
+ ${project.version}
+
+
+ ${project.groupId}
+ yadrone-controlcenter
+ ${project.version}
+
+
+ com.google.zxing
+ core
+
+
+ com.google.zxing
+ javase
+
+
+
+
diff --git a/YADrone/src/de/yadrone/apps/paperchase/PaperChase.java b/yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/PaperChase.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/paperchase/PaperChase.java
rename to yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/PaperChase.java
diff --git a/YADrone/src/de/yadrone/apps/paperchase/PaperChaseGUI.java b/yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/PaperChaseGUI.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/paperchase/PaperChaseGUI.java
rename to yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/PaperChaseGUI.java
diff --git a/YADrone/src/de/yadrone/apps/paperchase/QRCodeScanner.java b/yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/QRCodeScanner.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/paperchase/QRCodeScanner.java
rename to yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/QRCodeScanner.java
diff --git a/YADrone/src/de/yadrone/apps/paperchase/TagListener.java b/yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/TagListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/paperchase/TagListener.java
rename to yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/TagListener.java
diff --git a/YADrone/src/de/yadrone/apps/paperchase/controller/PaperChaseAbstractController.java b/yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/controller/PaperChaseAbstractController.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/paperchase/controller/PaperChaseAbstractController.java
rename to yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/controller/PaperChaseAbstractController.java
diff --git a/YADrone/src/de/yadrone/apps/paperchase/controller/PaperChaseAutoController.java b/yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/controller/PaperChaseAutoController.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/paperchase/controller/PaperChaseAutoController.java
rename to yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/controller/PaperChaseAutoController.java
diff --git a/YADrone/src/de/yadrone/apps/paperchase/controller/PaperChaseKeyboardController.java b/yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/controller/PaperChaseKeyboardController.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/paperchase/controller/PaperChaseKeyboardController.java
rename to yadrone-paperchase/src/main/java/de/yadrone/apps/paperchase/controller/PaperChaseKeyboardController.java
diff --git a/yadrone-tutorial/.gitignore b/yadrone-tutorial/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/yadrone-tutorial/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/yadrone-tutorial/pom.xml b/yadrone-tutorial/pom.xml
new file mode 100644
index 0000000..b2837ce
--- /dev/null
+++ b/yadrone-tutorial/pom.xml
@@ -0,0 +1,40 @@
+
+
+ 4.0.0
+
+ de.uni-hamburg.yadrone
+ yadrone-tutorial
+ jar
+
+
+ de.uni-hamburg
+ yadrone
+ 0.3.4-SNAPSHOT
+ ../
+
+
+
+
+ ${project.groupId}
+ yadrone-core
+ ${project.version}
+
+
+ org.jfree
+ jfreechart
+
+
+ com.google.zxing
+ core
+
+
+ com.google.zxing
+ javase
+
+
+ org.reflections
+ reflections
+
+
+
+
diff --git a/YADrone/src/de/yadrone/apps/tutorial/TutorialAttitudeListener.java b/yadrone-tutorial/src/main/java/de/yadrone/apps/tutorial/TutorialAttitudeListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/tutorial/TutorialAttitudeListener.java
rename to yadrone-tutorial/src/main/java/de/yadrone/apps/tutorial/TutorialAttitudeListener.java
diff --git a/YADrone/src/de/yadrone/apps/tutorial/TutorialCommander.java b/yadrone-tutorial/src/main/java/de/yadrone/apps/tutorial/TutorialCommander.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/tutorial/TutorialCommander.java
rename to yadrone-tutorial/src/main/java/de/yadrone/apps/tutorial/TutorialCommander.java
diff --git a/YADrone/src/de/yadrone/apps/tutorial/TutorialMain.java b/yadrone-tutorial/src/main/java/de/yadrone/apps/tutorial/TutorialMain.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/tutorial/TutorialMain.java
rename to yadrone-tutorial/src/main/java/de/yadrone/apps/tutorial/TutorialMain.java
diff --git a/YADrone/src/de/yadrone/apps/tutorial/TutorialVideoListener.java b/yadrone-tutorial/src/main/java/de/yadrone/apps/tutorial/TutorialVideoListener.java
similarity index 100%
rename from YADrone/src/de/yadrone/apps/tutorial/TutorialVideoListener.java
rename to yadrone-tutorial/src/main/java/de/yadrone/apps/tutorial/TutorialVideoListener.java