AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Inclinometer3D Tilt-Werte auslesen

Ein Thema von derseitzer · begonnen am 17. Aug 2017 · letzter Beitrag vom 18. Aug 2017
Antwort Antwort
derseitzer

Registriert seit: 12. Okt 2016
235 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Inclinometer3D Tilt-Werte auslesen

  Alt 17. Aug 2017, 16:55
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
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
2.851 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Inclinometer3D Tilt-Werte auslesen

  Alt 18. Aug 2017, 09:35
Ohne deine vorigen Bemühungen im Detail nach verfolgt zu haben, die üblichen Clinometer bzw. Inclinometer-Apps aus dem Appstore zeigen dir was an?
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.345 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Inclinometer3D Tilt-Werte auslesen

  Alt 18. Aug 2017, 09:56
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
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
245 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Inclinometer3D Tilt-Werte auslesen

  Alt 18. Aug 2017, 11:32
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 hier abgelegt. Das könnte dann wenigsten zeigen, ob es an Seattle liegt oder dein Handy generell Probleme mit Delphi hat.
  Mit Zitat antworten Zitat
derseitzer

Registriert seit: 12. Okt 2016
235 Beiträge
 
Delphi 10 Seattle Professional
 
#5

AW: Inclinometer3D Tilt-Werte auslesen

  Alt 18. Aug 2017, 17:27
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!
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
245 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Inclinometer3D Tilt-Werte auslesen

  Alt 18. Aug 2017, 19:44
Ä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;
  Mit Zitat antworten Zitat
derseitzer

Registriert seit: 12. Okt 2016
235 Beiträge
 
Delphi 10 Seattle Professional
 
#7

AW: Inclinometer3D Tilt-Werte auslesen

  Alt 18. Aug 2017, 20:00
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.
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
245 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Inclinometer3D Tilt-Werte auslesen

  Alt 18. Aug 2017, 20:14
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.
  Mit Zitat antworten Zitat
derseitzer

Registriert seit: 12. Okt 2016
235 Beiträge
 
Delphi 10 Seattle Professional
 
#9

AW: Inclinometer3D Tilt-Werte auslesen

  Alt 18. Aug 2017, 20:19
Ja der Timer war aktiviert, jetzt funktioniert deine zweite App Aber das sind doch keine Inklinometer-Werte richtig?
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
245 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Inclinometer3D Tilt-Werte auslesen

  Alt 18. Aug 2017, 20:32
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.
https://developer.android.com/refere...20float[])

Oder schau dir nochmal den Link von Rollo62 im anderen Thread an.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf