![]() |
Inclinometer3D Tilt-Werte auslesen
Hey Leute,
Ich versuche nun zum dritten und letzten mal mein Glück. ich bekomme von meinem Smartphone vom Inclinometer nur Nullen zurück und ich bin mir nun fast sicher, dass es ein Problem mit Delphi gibt.. Hat schon jemand ein programm mit diesem Inclinometer geschrieben bzw. hat jemand mal etwas anderes außer 0 zurückbekommen? MFG |
AW: Inclinometer3D Tilt-Werte auslesen
Ohne deine vorigen Bemühungen im Detail nach verfolgt zu haben, die üblichen Clinometer bzw. Inclinometer-Apps aus dem Appstore zeigen dir was an?
|
AW: Inclinometer3D Tilt-Werte auslesen
Bin gerade am generellen Testen Rx1021, habe mal schnell nachgeschaut,
mit der Demo: SensorInfo.app iOS: iPhone 6S - MotionDetection: OK - Acceleration3D: OK - Inclinometer§D: OK - Compass3D: OK Android: Samsung S7 Edge (Android 6.x.x) - MotionDetection: nicht OK (0,0,0) - Acceleration3D: nicht OK (0,0,0) - GravityAccelerometer3D: nicht OK (0,0,0) - Gyrometer3D: OK - LinearAccelerometer3D: nicht OK (0,0,0) - Compass3D: OK Das geht aber auch nicht mit anderen Tools aus dem PlayStore, scheint also ein Android-Problem zu sein. Rollo |
AW: Inclinometer3D Tilt-Werte auslesen
Wie bereits in dem anderen Thread geschrieben, dein Quelltext funktioniert bei mir mit Tokyo und meinen LG-Handys ohne Probleme.
Trotz Releaseversion und Zippen übersteigt die Größe die hier für Anhänge mögliche (wow Emba), ich habe es daher zeitweilig ![]() |
AW: Inclinometer3D Tilt-Werte auslesen
Ydobon und diese Applikation, die du verlinkt hast, funktioniert bei dir auf deinem Nicht-Android-Handy? Dann vielen vielen Dank! Weil dann ist es nun sicher, dass es nicht an mir liegt, sondern an Android bzw. Delphi. Dankeschön! :)
|
AW: Inclinometer3D Tilt-Werte auslesen
Ähm? Es funktioniert auf meinem Android-Handys, nicht auf meinen Nicht-Android-Handys. Ich dachte, du versuchst es mit einem S7 Edge.
Um Delphi mal halbwegs auszuschalten, wie wäre es etwas Low Löffeliger also direkt mit dem NDK?
Delphi-Quellcode:
uses ..., Androidapi.Looper, Androidapi.Sensor;
var SensorManager: PASensorManager; ASensor, MSensor: PASensor; queue: PASensorEventQueue; procedure TForm1.Switch1Click(Sender: TObject); var Looper: PALooper; begin if Timer2.Enabled then begin Timer2.Enabled:=false; ASensorEventQueue_disableSensor(queue, ASensor); ASensorEventQueue_disableSensor(queue, MSensor); ASensorManager_destroyEventQueue(SensorManager, queue); end else begin sensormanager:=ASensorManager_getInstance; MSensor:=ASensorManager_getDefaultSensor(SensorManager, ASENSOR_TYPE_MAGNETIC_FIELD); ASensor:=ASensorManager_getDefaultSensor(SensorManager, ASENSOR_TYPE_ACCELEROMETER); Looper:=ALooper_forThread; if not Assigned(Looper) then Looper:=ALooper_prepare(ALOOPER_PREPARE_ALLOW_NON_CALLBACKS); queue:=ASensorManager_createEventQueue(SensorManager, Looper, 1, Nil, Nil); ASensorEventQueue_enableSensor(queue, MSensor); ASensorEventQueue_setEventRate(queue, MSensor, 5000); ASensorEventQueue_enableSensor(queue, ASensor); ASensorEventQueue_setEventRate(queue, ASensor, 5000); Timer2.Enabled:=true; end; end; procedure TForm1.Timer2Timer(Sender: TObject); var event: ASensorEvent; begin Memo1.Lines.Clear; while ASensorEventQueue_getEvents(queue, @event, 1)>0 do begin if event.__type=ASENSOR_TYPE_MAGNETIC_FIELD then begin Memo1.Lines.Add('Mag '+FloatToStr(event.magnetic.x)); Memo1.Lines.Add('Mag '+FloatToStr(event.magnetic.y)); Memo1.Lines.Add('Mag '+FloatToStr(event.magnetic.z)); end; if event.__type=ASENSOR_TYPE_ACCELEROMETER then begin Memo1.Lines.Add('Acc '+FloatToStr(event.acceleration.x)); Memo1.Lines.Add('Acc '+FloatToStr(event.acceleration.y)); Memo1.Lines.Add('Acc '+FloatToStr(event.acceleration.z)); end; end; end; |
AW: Inclinometer3D Tilt-Werte auslesen
Eventuell wurde das Inklinometer dann mit Tokyo gepatcht? Weil mit meinem S7 und Berlin funktioniert dein Programm nicht.
Und der Code lässt die App bei mir sofort wieder schließen. |
AW: Inclinometer3D Tilt-Werte auslesen
Ich hatte doch die APK mit eingepackt, wenn die bei dir funktionieren sollte, dann liegt es an Berlin. Aber im Moment sieht es irgendwie nach Problemen zwischen Samsung und Delphi aus.
Hattest du im Objektinspektor den Timer deaktiviert? Wenn gleich am Anfang etwas nicht existierendes gelöscht wird, könnte es zum Absturz kommen. |
AW: Inclinometer3D Tilt-Werte auslesen
Ja der Timer war aktiviert, jetzt funktioniert deine zweite App :) Aber das sind doch keine Inklinometer-Werte richtig?
|
AW: Inclinometer3D Tilt-Werte auslesen
Das ist das Problem bei der Sache, daraus wird die Inklination berechnet. Leider sind die Hilfsfunktionen wohl nur im SDK enthalten, so dass man es selbst ausrechnen müsste.
![]() Oder schau dir nochmal den Link von Rollo62 im anderen Thread an. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz