-
Forum: Cross-Platform-Entwicklung
by Michael II,
2. Mai 2017
Hallo derseitzer
mit dem fehlenden OnChange bist du nicht allein. Es gibt sicher Cracks hier, welche dir einen Einzeiler für dieses Problem z.V. stellen können. :-D
Wenn du in die System.Android.Sensors.pas schaust, dann siehst du, dass die SensorEvents in FNativeEventQueue gespeichert und hier abgefragt werden:
function TNativeSensor.LastValue: ASensorEvent;
var
SensorEvent:...
-
Forum: Cross-Platform-Entwicklung
by Michael II,
30. Apr 2017
Hallo derseitzer
ja eine Animation ist sicher gut und wie erwähnt eventuell wäre ein Filtern der "Ungenauigkeiten" ok.
Und noch einmal: Das Abgreifen der Werte X,Y,Z ist in den Emba Beispielen sehr schlecht "gelöst". Wenn du zuerst X abfragst, dann Y, dann Z, dann stammen diese drei Werte nicht unbedingt aus der gleichen Messung .
Ich habe rasch mit meinem Nexu10 getestet: Wenn ich die...
-
Forum: Cross-Platform-Entwicklung
by Michael II,
29. Apr 2017
Das ist komisch. Nur der "abgeleitete* Acceleration Vektor" sollte dir Nullen anzeigen, wenn du dein Gerät nicht bewegst.
Wenn du mit der Android App checkst: Hast du unter Acceleration nachgeschaut? Zeigt dir die App dort auch nur Nullen an?
-
Forum: Cross-Platform-Entwicklung
by Michael II,
29. Apr 2017
Hallo derseitzer
du musst dir bewusst sein, dass du bei den Headingwerten das "Magnetometer" abfragst.
Wie erwähnt: Du erhältst einen Vektor v auf den magnetischen Nordpol. Die Werte v=(x,y,z)t haben nichts mit Winkeln zu tun. Diese Winkel müsstest du zuerst ermitteln.
Würdest du nicht besser das Accelerometer hinzuziehen? Es ist für deinen Zweck etwas einfacher in der Handhabung, weil...
-
Forum: Cross-Platform-Entwicklung
by Michael II,
28. Apr 2017
Hallo derseitzer,
hast du dir die von mir empfohlene (oder eine andere) App geholt um zu prüfen, was alles an Sensoren in deinem Handy vorhanden ist?
Grund: Wahrscheinlich könntest du einen geeigneteren Sensor verwenden für deine App.
Der von dir verwendete "Magnetometer Sensor" gibt dir - wenn ich mich nicht irre - den Vektor auf den magentischen Pol zurück. Genauer natürlich den...
-
Forum: Cross-Platform-Entwicklung
by Michael II,
25. Apr 2017
Hallo derseitzer
du hast ja wahrscheinlich mittlerweile auch gesehen, dass die "Heading Werte" Daten zum Magnetfeld liefern - und "roh" für deine Aufgabe wohl nicht geeignet sind.
Es gibt übrigens coole Tools, mit welchen du rasch checken kannst, welche Sensoren in deinem Android Gerät eingebaut sind, zum Beispiel "Sensor Kinetics":
...
-
Forum: Cross-Platform-Entwicklung
by Michael II,
24. Apr 2017
Hast du mal gecheckt, ob dir dein Gerät den Wert z.V. stellt?
Das wird in deinem Beispiel hier geprüft:
procedure TOrientationSensorForm.OrientationSensor1SensorChoosing(
Sender: TObject; const Sensors: TSensorArray; var ChoseSensorIndex: Integer);
...
...
-
Forum: Cross-Platform-Entwicklung
by Michael II,
24. Apr 2017
Hallo derseitzer
wenn du nicht rausfindest in welchem Bereich die H Werte liegen, dann merk doch im Programm min und max ;-).
Und zur Multiplikation mit 8. Wenn die Werte effektiv zwischen -45 und 45 liegen und du mit 8 multiplizierst, dann müssen wir Werte im Bereich -360..360 (Grad) befürchten. Ich habe grad keine Zeit nachzusehen, wie die H Werte definiert sind, aber 8 ist etwas viel......
-
Forum: Cross-Platform-Entwicklung
by Michael II,
22. Apr 2017
Hallo derseitzer
ich empfehle dir den Code:
radstudiodemos-code-2024-branches-RADStudio_Berlin\Object Pascal\Mobile Snippets\OrientationSensor
von
https://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RADStudio_Berlin/Object%20Pascal/Mobile%20Snippets/OrientationSensor/
zu laden und zu testen.
-
Forum: Cross-Platform-Entwicklung
by Michael II,
21. Apr 2017
Hallo
ich empfehle dir einen Blick in die Doku über "AvailableProperties" zu werfen. Damit kannst du abfragen, welche Fähigkeiten die in deinem Gerät eingebauten Sensoren haben.
Auf
https://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RADStudio_Berlin/Object%20Pascal/Mobile%20Snippets/OrientationSensor/
gibt es ein sehr gutes Beispiel, dort unter
...