From 65283138e7870751111130fa136a2ec996d2547b Mon Sep 17 00:00:00 2001 From: Arthur Benemann Date: Mon, 13 Jan 2014 18:53:17 -0200 Subject: [PATCH 01/22] TDD: Starting to add unit testing, tested the Length class. --- .../droidplanner/helpers/units/Length.java | 8 +-- DroidPlannerTests/.classpath | 8 +++ DroidPlannerTests/.gitignore | 60 +++++++++++++++++++ DroidPlannerTests/.project | 17 ++++++ .../helpers/units/LenghtTest.java | 52 ++++++++++++++++ 5 files changed, 141 insertions(+), 4 deletions(-) create mode 100644 DroidPlannerTests/.classpath create mode 100644 DroidPlannerTests/.gitignore create mode 100644 DroidPlannerTests/.project create mode 100644 DroidPlannerTests/src/org/droidplanner/helpers/units/LenghtTest.java diff --git a/DroidPlanner/src/org/droidplanner/helpers/units/Length.java b/DroidPlanner/src/org/droidplanner/helpers/units/Length.java index 76223610c0..7c5e8841b4 100644 --- a/DroidPlanner/src/org/droidplanner/helpers/units/Length.java +++ b/DroidPlanner/src/org/droidplanner/helpers/units/Length.java @@ -19,12 +19,12 @@ public void set(double lengthInMeters) { @Override public String toString() { - if (lengthInMeters > 1000) { + if (lengthInMeters >= 1000) { return String.format(Locale.US,"%2.1f km",lengthInMeters/1000); - }else if (lengthInMeters>1) { + }else if (lengthInMeters>=1) { return String.format(Locale.US,"%2.1f m",lengthInMeters); - }else if (lengthInMeters>0.001) { - return String.format(Locale.US,"%2.1f m",lengthInMeters*1000); + }else if (lengthInMeters>=0.001) { + return String.format(Locale.US,"%2.1f mm",lengthInMeters*1000); }else{ return lengthInMeters + " m"; } diff --git a/DroidPlannerTests/.classpath b/DroidPlannerTests/.classpath new file mode 100644 index 0000000000..4dbc630742 --- /dev/null +++ b/DroidPlannerTests/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/DroidPlannerTests/.gitignore b/DroidPlannerTests/.gitignore new file mode 100644 index 0000000000..77a59d4bdc --- /dev/null +++ b/DroidPlannerTests/.gitignore @@ -0,0 +1,60 @@ +# built application files +*.apk +*.ap_ + +# files for the dex VM +*.dex + +# Java class files +*.class + +# generated files +bin/ +gen/ + +# Local configuration file (sdk path, etc) +local.properties + +# Eclipse project files +#.classpath +#.project +tmp.txt + +# Proguard folder generated by Eclipse +proguard/ + +# Intellij project files +*.iml +*.ipr +*.iws +.idea/ + +*.pydevproject +#.project +.metadata +bin/** +tmp/** +tmp/**/* +*.tmp +*.bak +*.swp +*~.nib +local.properties +#.classpath +.settings/ +.loadpath + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + + +#Do not ignore the versioning script +!.externalToolBuilders/Verisoning.launch + +# PDT-specific +.buildpath + +doc/* diff --git a/DroidPlannerTests/.project b/DroidPlannerTests/.project new file mode 100644 index 0000000000..a0e8bf4d1f --- /dev/null +++ b/DroidPlannerTests/.project @@ -0,0 +1,17 @@ + + + DroidPlannerTests + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/DroidPlannerTests/src/org/droidplanner/helpers/units/LenghtTest.java b/DroidPlannerTests/src/org/droidplanner/helpers/units/LenghtTest.java new file mode 100644 index 0000000000..a6ca64ef8b --- /dev/null +++ b/DroidPlannerTests/src/org/droidplanner/helpers/units/LenghtTest.java @@ -0,0 +1,52 @@ +package org.droidplanner.helpers.units; + +import junit.framework.*; + +public class LenghtTest extends TestCase { + private static final double TOLERANCE = 1e-8; + + private Length lenght; + + protected void setUp() throws Exception { + super.setUp(); + lenght = new Length(1.0); + } + + public void testValueInMeters() { + assertEquals(lenght.valueInMeters(), 1, TOLERANCE); + } + + public void testSet() { + lenght.set(2); + assertEquals(lenght.valueInMeters(), 2, TOLERANCE); + } + + public void testToString() { + lenght.set(1.0); + assertEquals(lenght.toString(), "1.0 m"); + lenght.set(1.234); + assertEquals(lenght.toString(), "1.2 m"); + lenght.set(10); + assertEquals(lenght.toString(), "10.0 m"); + + lenght.set(1000); + assertEquals(lenght.toString(), "1.0 km"); + lenght.set(1234); + assertEquals(lenght.toString(), "1.2 km"); + + lenght.set(0.001); + assertEquals(lenght.toString(), "1.0 mm"); + lenght.set(0.01234); + assertEquals(lenght.toString(), "12.3 mm"); + + lenght.set(1e-6); + assertEquals(lenght.toString(), "1.0E-6 m"); + } + + public void testEquals(){ + assertTrue(lenght.equals(new Length(1.0))); + assertFalse(lenght.equals(new Length(2.0))); + assertFalse(lenght.equals(new Object())); + } + +} From 1b6cabda8a7cf62b9cb68fe3c2fdb938c0a579ed Mon Sep 17 00:00:00 2001 From: Arthur Benemann Date: Mon, 13 Jan 2014 19:54:03 -0200 Subject: [PATCH 02/22] TDD: changing the assert parameters order to match the jUnit convention --- .../helpers/units/LenghtTest.java | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/DroidPlannerTests/src/org/droidplanner/helpers/units/LenghtTest.java b/DroidPlannerTests/src/org/droidplanner/helpers/units/LenghtTest.java index a6ca64ef8b..c4bc2c710d 100644 --- a/DroidPlannerTests/src/org/droidplanner/helpers/units/LenghtTest.java +++ b/DroidPlannerTests/src/org/droidplanner/helpers/units/LenghtTest.java @@ -1,52 +1,52 @@ package org.droidplanner.helpers.units; -import junit.framework.*; +import junit.framework.TestCase; public class LenghtTest extends TestCase { private static final double TOLERANCE = 1e-8; - private Length lenght; + private Length length; protected void setUp() throws Exception { super.setUp(); - lenght = new Length(1.0); + length = new Length(1.0); } public void testValueInMeters() { - assertEquals(lenght.valueInMeters(), 1, TOLERANCE); + assertEquals(1, length.valueInMeters(), TOLERANCE); } public void testSet() { - lenght.set(2); - assertEquals(lenght.valueInMeters(), 2, TOLERANCE); + length.set(2); + assertEquals(2, length.valueInMeters(), TOLERANCE); } public void testToString() { - lenght.set(1.0); - assertEquals(lenght.toString(), "1.0 m"); - lenght.set(1.234); - assertEquals(lenght.toString(), "1.2 m"); - lenght.set(10); - assertEquals(lenght.toString(), "10.0 m"); - - lenght.set(1000); - assertEquals(lenght.toString(), "1.0 km"); - lenght.set(1234); - assertEquals(lenght.toString(), "1.2 km"); - - lenght.set(0.001); - assertEquals(lenght.toString(), "1.0 mm"); - lenght.set(0.01234); - assertEquals(lenght.toString(), "12.3 mm"); - - lenght.set(1e-6); - assertEquals(lenght.toString(), "1.0E-6 m"); + length.set(1.0); + assertEquals("1.0 m", length.toString()); + length.set(1.234); + assertEquals("1.2 m", length.toString()); + length.set(10); + assertEquals("10.0 m", length.toString()); + + length.set(1000); + assertEquals("1.0 km", length.toString()); + length.set(1234); + assertEquals("1.2 km", length.toString()); + + length.set(0.001); + assertEquals("1.0 mm", length.toString()); + length.set(0.01234); + assertEquals("12.3 mm", length.toString()); + + length.set(1e-6); + assertEquals("1.0E-6 m", length.toString()); } - - public void testEquals(){ - assertTrue(lenght.equals(new Length(1.0))); - assertFalse(lenght.equals(new Length(2.0))); - assertFalse(lenght.equals(new Object())); + + public void testEquals() { + assertTrue(length.equals(new Length(1.0))); + assertFalse(length.equals(new Length(2.0))); + assertFalse(length.equals(new Object())); } } From f3ea60000987f7c06b203fb967631d940a45af6c Mon Sep 17 00:00:00 2001 From: Arthur Benemann Date: Mon, 13 Jan 2014 20:04:17 -0200 Subject: [PATCH 03/22] TDD: Added tests for the Area class --- .../org/droidplanner/helpers/units/Area.java | 16 ++++----- .../droidplanner/helpers/units/AreaTest.java | 36 +++++++++++++++++++ 2 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 DroidPlannerTests/src/org/droidplanner/helpers/units/AreaTest.java diff --git a/DroidPlanner/src/org/droidplanner/helpers/units/Area.java b/DroidPlanner/src/org/droidplanner/helpers/units/Area.java index ea8341c4be..06d3353caf 100644 --- a/DroidPlanner/src/org/droidplanner/helpers/units/Area.java +++ b/DroidPlanner/src/org/droidplanner/helpers/units/Area.java @@ -3,7 +3,7 @@ import java.util.Locale; public class Area { - private final String SQUARE = "\u00B2"; + public final static String SQUARE_SYMBOL = "\u00B2"; private double areaInSqMeters; public Area(double areaInSqMeters) { @@ -20,14 +20,14 @@ public void set(double areaInSqMeters) { @Override public String toString() { - if (areaInSqMeters > 100000) { - return String.format(Locale.US,"%2.1f km"+SQUARE,areaInSqMeters/1000000); - }else if (areaInSqMeters>1) { - return String.format(Locale.US,"%2.1f m"+SQUARE,areaInSqMeters); - }else if (areaInSqMeters>0.00001) { - return String.format(Locale.US,"%2.2f cm"+SQUARE,areaInSqMeters*10000); + if (areaInSqMeters >= 100000) { + return String.format(Locale.US,"%2.1f km"+SQUARE_SYMBOL,areaInSqMeters/1000000); + }else if (areaInSqMeters>=1) { + return String.format(Locale.US,"%2.1f m"+SQUARE_SYMBOL,areaInSqMeters); + }else if (areaInSqMeters>=0.00001) { + return String.format(Locale.US,"%2.2f cm"+SQUARE_SYMBOL,areaInSqMeters*10000); }else{ - return areaInSqMeters + " m"+SQUARE; + return areaInSqMeters + " m"+SQUARE_SYMBOL; } } diff --git a/DroidPlannerTests/src/org/droidplanner/helpers/units/AreaTest.java b/DroidPlannerTests/src/org/droidplanner/helpers/units/AreaTest.java new file mode 100644 index 0000000000..6a54a90153 --- /dev/null +++ b/DroidPlannerTests/src/org/droidplanner/helpers/units/AreaTest.java @@ -0,0 +1,36 @@ +package org.droidplanner.helpers.units; + +import junit.framework.TestCase; + +public class AreaTest extends TestCase { + + private Area oneSqMeter; + + protected void setUp() throws Exception { + super.setUp(); + oneSqMeter = new Area(1.0); + } + + public void testValueInSqMeters() { + assertEquals(1.0, oneSqMeter.valueInSqMeters()); + } + + public void testSet() { + oneSqMeter.set(2.3); + assertEquals(2.3, oneSqMeter.valueInSqMeters()); + } + + public void testToString() { + assertEquals("1.0 m²",oneSqMeter.toString()); + + oneSqMeter.set(1e6); + assertEquals("1.0 km²",oneSqMeter.toString()); + + oneSqMeter.set(1e-4); + assertEquals("1.00 cm²",oneSqMeter.toString()); + + oneSqMeter.set(1e-10); + assertEquals("1.0E-10 m²",oneSqMeter.toString()); + } + +} From 18f03140b27bf59e92d1cfe81a1ff85011d42739 Mon Sep 17 00:00:00 2001 From: Arthur Benemann Date: Tue, 14 Jan 2014 16:41:03 -0200 Subject: [PATCH 04/22] Tests: Added test's for MathUtil and Altitude classes. --- .../droidplanner/helpers/math/MathUtil.java | 9 +++---- .../helpers/math/MathUtilTest.java | 22 ++++++++++++++++ .../helpers/units/AltitudeTest.java | 25 +++++++++++++++++++ 3 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 DroidPlannerTests/src/org/droidplanner/helpers/math/MathUtilTest.java create mode 100644 DroidPlannerTests/src/org/droidplanner/helpers/units/AltitudeTest.java diff --git a/DroidPlanner/src/org/droidplanner/helpers/math/MathUtil.java b/DroidPlanner/src/org/droidplanner/helpers/math/MathUtil.java index 456e0f9af4..f4c6c257fd 100644 --- a/DroidPlanner/src/org/droidplanner/helpers/math/MathUtil.java +++ b/DroidPlanner/src/org/droidplanner/helpers/math/MathUtil.java @@ -7,12 +7,11 @@ private static double Constrain(double value, double min, double max) { value = Math.min(value, max); return value; } - + public static double Normalize(double value, double min, double max) { - value = Constrain(value,min,max); - return (value -min)/(max-min); - - } + value = Constrain(value, min, max); + return (value - min) / (max - min); + } } diff --git a/DroidPlannerTests/src/org/droidplanner/helpers/math/MathUtilTest.java b/DroidPlannerTests/src/org/droidplanner/helpers/math/MathUtilTest.java new file mode 100644 index 0000000000..5d6ab5bb63 --- /dev/null +++ b/DroidPlannerTests/src/org/droidplanner/helpers/math/MathUtilTest.java @@ -0,0 +1,22 @@ +package org.droidplanner.helpers.math; + +import junit.framework.TestCase; + +public class MathUtilTest extends TestCase { + + public void testNormalize() { + double max = 10; + double min = 0; + assertEquals(0.0, MathUtil.Normalize(0, min, max)); + assertEquals(0.5, MathUtil.Normalize(5, min, max)); + assertEquals(1.0, MathUtil.Normalize(10, min, max)); + + assertEquals(0.0, MathUtil.Normalize(-1, min, max)); + assertEquals(1.0, MathUtil.Normalize(100, min, max)); + } + + public void testIfCanCreateObject(){ + assertNotNull(new MathUtil()); + } + +} diff --git a/DroidPlannerTests/src/org/droidplanner/helpers/units/AltitudeTest.java b/DroidPlannerTests/src/org/droidplanner/helpers/units/AltitudeTest.java new file mode 100644 index 0000000000..a0904c6126 --- /dev/null +++ b/DroidPlannerTests/src/org/droidplanner/helpers/units/AltitudeTest.java @@ -0,0 +1,25 @@ +package org.droidplanner.helpers.units; + +import junit.framework.TestCase; + +public class AltitudeTest extends TestCase { + + private Altitude altitude; + + protected void setUp() throws Exception { + super.setUp(); + altitude = new Altitude(1.0); + } + + public void testSuperMethods(){ + assertEquals(1.0, altitude.valueInMeters()); + assertEquals("1.0 m", altitude.toString()); + } + + public void testSubtraction(){ + Length difference = altitude.subtract(new Altitude(0.2)); + assertEquals(1.0, altitude.valueInMeters()); + assertEquals(new Length(1.0-0.2),difference); + } + +} From 212b6951ff86945e9ee10e468f7b7c32794b8642 Mon Sep 17 00:00:00 2001 From: Arthur Benemann Date: Thu, 20 Feb 2014 18:07:14 -0300 Subject: [PATCH 05/22] ChangeLog: Adding a description to ChangeLog.md --- ChangeLog.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index c94a6bda41..b586db2fde 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,13 @@ +# DroidPlanner ChangeLog +Our convesion for release control is the following (for a release like DPvA.B.C_RCx): +* A - Main version, changes just with big changes in the app structure or/and layout +* B - Minor version, add's some significant feature to the app +* C - Minor changes with bugfixes, or small refactorings, from previous "A" or "B" changes. +* x - Releases Candidates (RC) are build from the main releases, but may have some feature's disabled. The "x" is used if multiple RC are needed for a new version of the app. + +All the changes are logged below (preferable with the pull request numbers in parenteses): + +# Releases ## Droidplanner v2.2.0 * Added support for phones (#618) * Fixing typos and whitespaces on strings.xml (#640) From 27514e2b66b7444ff8f50c661baa47f7794a1e68 Mon Sep 17 00:00:00 2001 From: Arthur Benemann Date: Thu, 20 Feb 2014 18:17:32 -0300 Subject: [PATCH 06/22] Update ChangeLog.md --- ChangeLog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index b586db2fde..452970736e 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,5 @@ # DroidPlanner ChangeLog -Our convesion for release control is the following (for a release like DPvA.B.C_RCx): +Our convention for release control is the following (for a release like DPvA.B.C_RCx): * A - Main version, changes just with big changes in the app structure or/and layout * B - Minor version, add's some significant feature to the app * C - Minor changes with bugfixes, or small refactorings, from previous "A" or "B" changes. From 6c42d607ef789570efe9163dc8f9b5f87ebf7f39 Mon Sep 17 00:00:00 2001 From: David Zumbrunnen Date: Thu, 20 Feb 2014 23:12:57 +0100 Subject: [PATCH 07/22] German translation and minor fixes in base language --- DroidPlanner/res/values-de/strings.xml | 249 +++++++++++++++++++++++++ DroidPlanner/res/values/strings.xml | 68 +++---- 2 files changed, 283 insertions(+), 34 deletions(-) create mode 100644 DroidPlanner/res/values-de/strings.xml diff --git a/DroidPlanner/res/values-de/strings.xml b/DroidPlanner/res/values-de/strings.xml new file mode 100644 index 0000000000..6fb310a025 --- /dev/null +++ b/DroidPlanner/res/values-de/strings.xml @@ -0,0 +1,249 @@ + + + + + DroidPlanner + + + Über + Version + Speicherordner + Einstellungen + Hilfe + Drohnen-Setup + Editor + Mission senden + Mission laden + + + Tuning + Kalibrierung + Checkliste + RC + Parameter + + + Verbinden + Trennen + Verbunden + Getrennt + + + Warnung! RC-Failsafe - Rückkehr zum Start + + + Kalibrieren + Abbrechen + Senden + Weiter + Fertig + Pause + OK + + + Wählen Sie eine Datei zum Öffnen aus: + Keine Dateien + Fehler beim Öffnen der Datei + Speichern + Öffnen + Schreiben + Aktualisieren + + + Lateral + Fussabdruck + Bodenprobenabstand + Längs + Fläche + Kamera: + Innere Wegpunkte + Lukenwinkel: + Flughöhe: + Überlappung: + Seitliche Überlappung: + Raster-Länge + Bilder + Anzahl Streifen + Polygon/Wegpunkte zeichnen + Zeichnen Sie mindestens 2 weitere Polygonpunkte + Zeichnen Sie mindestens einen weiteren Polygonpunkt + Mission ist zu lang + + + Acro erlaubt einem Piloten die direkte Kontrolle der Drehrate. + Alt Halt regelt den Schub automatisch und hält so die Höhe. GPS-Position ist nicht erforderlich. + Auto führt die in der Drohne gespeicherte Mission durch. + Circle fliegt die Drohne um einen Punkt von Interesse. Die Drohne zeigt dabei immer in Richtung Mitte. GPS-Position ist erforderlich. + Drift kombiniert Rollen und Gieren um einen natürlichen und intuitiven Flug zu ermöglichen. GPS-Position ist erforderlich. + Guided ermöglicht Positionskontrolle von einer Bodenstation aus. GPS-Position ist erforderlich. + An der aktuellen Position landen. GPS-Position ist erforderlich. + Loiter erlaubt dem Piloten komplett nach GPS zu fliegen.  + Optical Flow enabled Loiter hält Position und Höhe, assistiert durch die vorausgesetzten optischen Sensoren.  + Position erlaubt dem Piloten komplett nach GPS zu fliegen, aber mit manueller Schubkontrolle. + RTL steigt auf die minimale Höhe, kehrt zum Start zurück und landet. GPS-Position ist erforderlich. + Sport erlaubt dem Piloten die direkte Kontrolle der Drehrate mit dem Zusatz der Selbstnivellierung. + Stabilize hält die Drohne stabil im Flug. + + + Drohne an aktueller Position landen. Sie müssen den Auto-Modus manuell verlassen, um die Motoren zu sichern. + Generischer Wegpunkt + nicht verwendet. + Umkreisen der aktuellen Position für die gewünschte Anzahl von Runden. + Halten der aktuellen Position für die gewünschte Anzahl von Sekunden, oder auf unbestimmte Zeit, um die Mission zu beenden. + Drohne zum Start, wo sie entsichert wurde, zurückfliegen. Eine Höhe von 0 fliegt zurück zum Start unter Verwendung des RTL-Höhe-Parameters. + Vom Boden abheben und bis zur angegebenen Höhe steigen, bevor zum nächsten Wegpunkt weitergeflogen wird. + Reise zu einer Position im 3D-Raum. Optionale Verzögerung (in Sekunden) um Position zu halten. + Steigen/Sinken mit angegebener Rate. Verzögerung des Missionsstatus bis gewünschte Höhe erreicht. + Bedingung zur Erreichung eines Zielwinkels setzen. + Missionsstatus pausieren bis innerhalb der gewünschten Entfernung zum nächsten NAV-Punkt + Ändert die Startposition auf die aktuelle Position oder auf eine angegebene Position. + Geschwindigkeits- und/oder Schub-Sollwerte ändern. Sowohl die Geschwindigkeit als auch die Schub auf -1 setzen, wenn keine Änderungen erforderlich sind + Legt Position und Höhe, in welche die Drohne zeigen soll, sowie eine optionale Kamera fest. + Wegpunkt wiederholen + + + Loiter Zeit + Verzögerung vor dem nächsten Wegpunkt + Loiter Radius + GUZS + Höhe + Gierwinkel + Ziel-Höhe + Sink-/Steigrate + Gierrate + Gierrichtung auf GUZS setzen + Relativen Versatz verwenden + Distanz + Start auf aktuelle Position setzen + Längengrad: + Breitengrad: + Zielgeschwindigkeit + Schub + Geschwindigkeitstyp + Luftgeschwindigkeit + Geschwindigkeit über Grund + Positionsquelle wählen + Quelldaten: + Springe zu Wegpunkt: + Wegpunkt wiederholen + Umlaufbahnen + + + Kartentyp + Satellit + Hybrid + Normal + Gelände + + + Klicken, um die Parameter von der Drohne zu aktualisieren + Aktualisiere Parameter… + Parameter gespeichert + Parameter wurden auf die Drohne geschrieben + Wert: + ** Benutzerdefinierter Wert ** + Werte: + Einheiten: + Reichweite: + Um weitere Zeilen hinzuzufügen, drücken Sie die Eingabetaste + (auf Null setzen, um zu deaktivieren). + + + Lade Kalibrierungsdaten hoch + DroidPlanner lädt Kalibrierungsdaten auf die Drohne hoch + Lade Kalibrierungsdaten herunter + DroidPlanner lädt Kalibrierungsdaten von der Drohne. Falls das System nicht verbunden ist, wählen Sie Abbrechen + + + RC Kanal Kalibrierung + Kalibrierung starten + Drücken Sie Kalibrieren um die Radio-Kalibrierung zu starten. Stellen Sie sicher, dass der Sender eingeschaltet ist und sendet + Min & Max Werte setzen + Mittepositionen wählen + Kalibrierung abgeschlossen + Die Steuerknüppel mehrmals voll ausschlagen und sämtliche Schalter und Schieber durch alle möglichen Positionen bewegen + Schub auf die niedrigste Position setzen und alle anderen Steuerknüppel, Schalter und Schieber auf die Mittelposition bringen + RC Kalibrierung abgeschlossen. Drücken Sie \"Speichern\" zum Hochladen der Daten auf die Drohne + + + Kompass-Kalibrierung + + + Beschleunigungsmesser-Kalibrierung + Drücken Sie Kalibrieren, um ein IMU Kalibrierung zu starten. Stellen Sie sicher, dass die Drohne vor dem Start auf einer flachen Oberfläche steht + Stellen Sie die Drohne auf ihre Normalposition, um möglichst kein Bewegungen zu haben, und klicken Sie auf Weiter + Stellen Sie die Drohne möglichst still nach LINKS und klicken Sie auf Weiter + Stellen Sie die Drohne möglichst still nach RECHTS und klicken Sie auf Weiter + Stellen Sie die Drohne möglichst still nach VORNE (Nase tief) und klicken Sie auf Weiter + Stellen Sie die Drohne möglichst still nach HINTEN (Nase hoch) und klicken Sie auf Weiter + Stellen Sie die Drohne möglichst still auf den Rücken und klicken Sie auf Weiter + Kalibrierung des Beschleunigungsmessers abgeschlossen. Wenn nicht erfolgreich, bitte nochmals durchführen + Um die Kalibrierung zu starten, drücken Sie kalibrieren + Zeit bis zur nächsten Orientierung: + + + Flugmodus-Konfiguration + Flugmodus aktualisieren + Drücken Sie \"Senden\", um die Flugmodi auf der Drohne zu aktualisieren. + Flugmodus 1: + Flugmodus 2: + Flugmodus 3: + Flugmodus 4: + Flugmodus 5: + Flugmodus 6: + Simple Modus + Super Simple Modus + + + Konfiguration der Kanal-Optionen + Kanal-Optionen aktualisieren + Drücken Sie \"Senden\", um die Servo-Funktionen auf der Drohne zu aktualisieren. + Kanal 6 - Tuning-Funktion + Kanaloptionen - CH7 & CH8 + Kanal 7-Optionen: + Kanal 6 Tuning: + Kanal 8 Tuning: + Einstellung Tiefstwert: + Einstellung Höchstwert: + + + Servo-Funktionskonfiguration + Servo-Funktion aktualisieren + Drücken Sie \"Senden\", um die Servo-Funktionen auf der Drohne zu aktualisieren. + Servo-Konfigurationsdaten werden hochgeladen + Servo-Konfigurationsdaten werden herunterladen + Servo-Funktionskonfiguration + Servo 5: + Servo 6: + Servo 7: + Servo 8: + Servo 10: + Servo 11: + 0.0 + Steigrate + Höhe + m + m/s + Geschwindigkeit über Grund + Luftgeschwindigkeit + --° + + + Wählen Sie das zu verbindende Gerät + Keine Geräte wurden gekoppelt + Keine Geräte gefunden + Gekoppelte Geräte + Andere verfügbare Geräte + Suche nach Geräten + Scannen nach Geräten... + + + Manuelles Tuning der Roll- und Nickeinstellung. Rate_P ist der primär einzustellende Wert. + Höhe + Ordnen Sie RC Kanal 5 für die Flugmodi einem Schalter auf der Fernsteuerung zu. Bewegen Sie den Schalter in jede Position und wählen Sie den gewünschten Flugmodus weiter unten. + MAVLink Fehler: + Bitte zuerst verbinden + Mode1: Schub auf rechtem Steuerknüppel + Mode2: Schub auf linkem Steuerknüppel + + diff --git a/DroidPlanner/res/values/strings.xml b/DroidPlanner/res/values/strings.xml index e6da0d4f36..a68b3df714 100644 --- a/DroidPlanner/res/values/strings.xml +++ b/DroidPlanner/res/values/strings.xml @@ -93,7 +93,7 @@ Send the vehicle to the home location set when armed. An altitude of 0 will return to home at the RTL altitude parameter. Lift off from the ground to the specified altitude before proceeding to the next waypoint. Travel to a position in 3D space. Optional delay (in seconds) to hold position. - Ascend/descend at specified rate. Delay mission state machine until desired altitude reached. + Climb/descend at specified rate. Delay mission state machine until desired altitude reached. Set condition to reach a certain target angle. Delay mission state machine until within desired distance of next NAV point Changes the home location either to the current location or a specified location. @@ -109,7 +109,7 @@ Altitude Yaw Angle Target Altitude - Descent/Ascend rate + Climb/descend Rate Yaw Rate Set yaw direction to CCW Use relative offset @@ -139,7 +139,7 @@ Click to refresh parameters from drone Refreshing Parameters… Parameters saved - "parameters written to drone" + parameters written to drone Value: ** Custom value ** Values: @@ -179,46 +179,46 @@ Place the vehicle on its BACK ensuring very minimal movement and press Next. Accelerometer calibration completed. If it was not successful, please recalibrate. To start calibration, press Calibrate. - "Time left before next orientation: " + Time left before next orientation: - "Flight Mode Configuration" - "Update Flight Mode" - "Press \'Send\' to update the new flight modes to vehicle." - "Flight Mode 1:" - "Flight Mode 2:" - "Flight Mode 3:" - "Flight Mode 4:" - "Flight Mode 5:" - "Flight Mode 6:" - "Simple Mode" - "Super Simple Mode" + Flight Mode Configuration + Update Flight Mode + Press \'Send\' to update the new flight modes to vehicle. + Flight Mode 1: + Flight Mode 2: + Flight Mode 3: + Flight Mode 4: + Flight Mode 5: + Flight Mode 6: + Simple Mode + Super Simple Mode - "Channel Options Configuration" - "Update Channel Options" - "Press \'Send\' to update the new servo function to vehicle." - "Channel 6 - Tuning Function" - "Channel Options - CH7 & CH8" - "Channel 7 Options:" - "Channel 6 Tuning:" - "Channel 8 Tuning:" - "Tune Value - Low:" - "Tune Value - High:" + Channel Options Configuration + Update Channel Options + Press \'Send\' to update the new servo function to vehicle. + Channel 6 - Tuning Function + Channel Options - CH7 & CH8 + Channel 7 Options: + Channel 6 Tuning: + Channel 8 Tuning: + Tune Value - Low: + Tune Value - High: - "Servo Function Configuration" - "Update Servo Function" - "Press \'Send\' to update the new servo function to vehicle." + Servo Function Configuration + Update Servo Function + Press \'Send\' to update the new servo function to vehicle. Uploading Servo configuration data Downloading Servo configuration data Servo Functions Configuration - "Servo 5:" - "Servo 6:" - "Servo 7:" - "Servo 8:" - "Servo 10:" - "Servo 11:" + Servo 5: + Servo 6: + Servo 7: + Servo 8: + Servo 10: + Servo 11: 0.0 Climb Rate Altitude From bc50cda3a261d70de94a076c5f62c4802520a6ef Mon Sep 17 00:00:00 2001 From: David Zumbrunnen Date: Thu, 20 Feb 2014 23:24:41 +0100 Subject: [PATCH 08/22] Updates according to master --- DroidPlanner/res/values-de/strings.xml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/DroidPlanner/res/values-de/strings.xml b/DroidPlanner/res/values-de/strings.xml index 6fb310a025..47b0e1c0dc 100644 --- a/DroidPlanner/res/values-de/strings.xml +++ b/DroidPlanner/res/values-de/strings.xml @@ -185,12 +185,14 @@ Flugmodus-Konfiguration Flugmodus aktualisieren Drücken Sie \"Senden\", um die Flugmodi auf der Drohne zu aktualisieren. - Flugmodus 1: - Flugmodus 2: - Flugmodus 3: - Flugmodus 4: - Flugmodus 5: - Flugmodus 6: + Flugmodus-Konfigurationsdaten werden hochgeladen + Flugmodus-Konfigurationsdaten werden geladen + 1. + 2. + 3. + 4. + 5. + 6. Simple Modus Super Simple Modus @@ -213,12 +215,11 @@ Servo-Konfigurationsdaten werden hochgeladen Servo-Konfigurationsdaten werden herunterladen Servo-Funktionskonfiguration - Servo 5: - Servo 6: - Servo 7: - Servo 8: + Servo 5: + Servo 6: + Servo 7: + Servo 8: Servo 10: - Servo 11: 0.0 Steigrate Höhe From 0c161252a50e001355307549aed070a971e49637 Mon Sep 17 00:00:00 2001 From: David Zumbrunnen Date: Thu, 20 Feb 2014 23:39:55 +0100 Subject: [PATCH 09/22] Minor fixes for en+de strings --- DroidPlanner/res/values-de/strings.xml | 12 ++++++++---- DroidPlanner/res/values/strings.xml | 12 ++++++------ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/DroidPlanner/res/values-de/strings.xml b/DroidPlanner/res/values-de/strings.xml index 47b0e1c0dc..8d525e2fbd 100644 --- a/DroidPlanner/res/values-de/strings.xml +++ b/DroidPlanner/res/values-de/strings.xml @@ -215,10 +215,11 @@ Servo-Konfigurationsdaten werden hochgeladen Servo-Konfigurationsdaten werden herunterladen Servo-Funktionskonfiguration - Servo 5: - Servo 6: - Servo 7: - Servo 8: + Servo 5: + Servo 6: + Servo 7: + Servo 8: + Servo 9: Servo 10: 0.0 Steigrate @@ -247,4 +248,7 @@ Mode1: Schub auf rechtem Steuerknüppel Mode2: Schub auf linkem Steuerknüppel + Telemetrie + Flugmodi + Infoleiste diff --git a/DroidPlanner/res/values/strings.xml b/DroidPlanner/res/values/strings.xml index e9f6dd5949..6e5d237c5a 100644 --- a/DroidPlanner/res/values/strings.xml +++ b/DroidPlanner/res/values/strings.xml @@ -193,8 +193,8 @@ 4. 5. 6. - Simple Mode - Super Simple Mode + Simple Mode + Super Simple Mode Channel Options Configuration @@ -215,10 +215,10 @@ Uploading Servo configuration data Downloading Servo configuration data Servo Functions Configuration - Servo 5: - Servo 6: - Servo 7: - Servo 8: + Servo 5: + Servo 6: + Servo 7: + Servo 8: Servo 9: Servo 10: 0.0 From 47291d34880d8440bb5e7c08273ab4997bdb7b09 Mon Sep 17 00:00:00 2001 From: Arthur Benemann Date: Fri, 21 Feb 2014 00:14:23 -0300 Subject: [PATCH 10/22] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e31045cd22..2d351e373e 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ DroidPlanner - Ground Control Station for Android devices If you just want to download the app goto [Google Play](https://play.google.com/store/apps/details?id=com.droidplanner). For more info goto [the wiki pages](https://github.com/arthurbenemann/droidplanner/wiki). +This project is licensed by [GPLv3](http://www.gnu.org/licenses/gpl-3.0.html) + Development ----------- To compile the code follow these instructions: From 3e627b7d6afac829b7cb2ba885227c1cdf6c018a Mon Sep 17 00:00:00 2001 From: fhuya Date: Fri, 21 Feb 2014 15:33:19 -0500 Subject: [PATCH 11/22] Removing local path to debug.keystore from the gradle build file. --- DroidPlanner/build.gradle | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/DroidPlanner/build.gradle b/DroidPlanner/build.gradle index 7065c810a8..4420a8848a 100644 --- a/DroidPlanner/build.gradle +++ b/DroidPlanner/build.gradle @@ -34,9 +34,5 @@ android { debug.setRoot('build-types/debug') release.setRoot('build-types/release') } - signingConfigs { - debug { - storeFile file('/home/fhuya/.android/debug.keystore') - } - } + } From a593542a4b3dfea0a9822e44850853b6769ceccf Mon Sep 17 00:00:00 2001 From: David Zumbrunnen Date: Fri, 21 Feb 2014 23:45:31 +0100 Subject: [PATCH 12/22] Moved hard-coded strings to resources --- .../layout-land/fragment_mission_control.xml | 14 ++++----- .../layout-port/fragment_mission_control.xml | 14 ++++----- ...agment_tunning.xml => fragment_tuning.xml} | 0 .../res/layout-sw540dp/activity_editor.xml | 2 +- .../fragment_mission_control.xml | 14 ++++----- DroidPlanner/res/layout/activity_editor.xml | 2 +- .../layout/fragment_editor_detail_land.xml | 6 ++-- .../layout/fragment_editor_detail_loitern.xml | 6 ++-- .../layout/fragment_editor_detail_loitert.xml | 6 ++-- .../res/layout/fragment_editor_detail_rtl.xml | 6 ++-- .../fragment_editor_detail_waypoint.xml | 6 ++-- ...agment_tunning.xml => fragment_tuning.xml} | 0 DroidPlanner/res/values-de/strings.xml | 29 ++++++++++++++++--- DroidPlanner/res/values/strings.xml | 25 ++++++++++++++-- .../fragments/TuningFragment.java | 2 +- 15 files changed, 92 insertions(+), 40 deletions(-) rename DroidPlanner/res/layout-port/{fragment_tunning.xml => fragment_tuning.xml} (100%) rename DroidPlanner/res/layout/{fragment_tunning.xml => fragment_tuning.xml} (100%) diff --git a/DroidPlanner/res/layout-land/fragment_mission_control.xml b/DroidPlanner/res/layout-land/fragment_mission_control.xml index 32c63cd09e..2df4ab5b53 100644 --- a/DroidPlanner/res/layout-land/fragment_mission_control.xml +++ b/DroidPlanner/res/layout-land/fragment_mission_control.xml @@ -16,7 +16,7 @@ android:drawableTop="@drawable/ic_control" android:visibility="gone" android:layout_weight="1" - android:text="Control" /> + android:text="@string/mission_control_control" />