2015-01-25 4 views
5

Ich entwickle eine Android App, die die Trägheitsdaten auf einem Smartphone aufzeichnet, um sie dann weiter zu verarbeiten. Je nachdem, welche Firmware die Inertialsensoren mit Android verbindet, haben unterschiedliche Android-Geräte unterschiedliche Verhaltensweisen. Das ist kristallklar. Eine Sache, die ich selbst nicht beantworten kann, ist, wie kommt es, dass nur das Moto g 2. Gen zeigte, dass, wenn die App aufnimmt, ich deutlich unterschiedliche Anzahlen von Sensoren habe?Ungleiche Anzahl von Proben zwischen Beschleunigungsmesser, Gyro und Magnetometer auf Android

Zum Beispiel einige Sekunden der Aufnahme, und ich sehe:

  • ~ 6000 Proben für den Kreisel

  • ~ 5200 Proben für den acc

  • ~ 2000 Proben für die Magnetometer

Nehmen Sie auch an, dass die Aktivität ich bin Die Aufzeichnung betrifft alle Sensoren zu jeder Zeit und daher würde ich erwarten, dass die onSensorChange-Funktion gleichmäßig aufgerufen wird. Das passiert bei jedem anderen Smartphone, das ich probiert habe (5 oder 6 verschiedene).

Irgendwelche Vorschläge, warum die Magnetos scheinbar die Werte nicht so oft ändern wie die anderen Sensoren, damit der onSensorChange sie aufzeichnet?

Die offensichtliche Antwort ist wegen der Firmware, aber haben Sie irgendeine Idee, wie man den Effekt lindert, den ich sehe?

Danke Leute!

Antwort

2

Diese Frage ist wirklich alt, aber ich dachte, ich es im Interesse der Gemeinschaft beantworten würde:

ich als App-Entwickler bei einem Startup arbeiten, die auf Smartphones in der Sensorverarbeitung spezialisiert hat. Wir haben ein paar Moto G's der zweiten Generation und wir haben festgestellt, dass sie eine wirklich schlechte Arbeit machen, indem sie einheitliche Abtastraten sowohl für einen Sensor als auch für Sensoren geben.

Um die Probleme zu verringern, schreiben wir eine ganze Reihe von Proben gleichzeitig mit den neuesten Daten, jedes Mal wenn wir eine Probe vom Beschleunigungsmesser erhalten. Wenn seit dem letzten Beschleunigungsmesser keine neue Probe an anderen Sensoren angekommen ist, werden die gleichen Werte zweimal gedruckt.

dh.)

Accel (3-axis) | Gyro (3-axis) 
0,0,0|0,0,0 
<new accelerometer sample> 
1,1,1|0,0,0 
<5 gyro samples and 1 accelerometer> 
2,2,2|5,5,5 
... 

Anyways, hoffen, dass dies jemand hilft!

TLDR; Die 2. Generation Moto G hat inkonsistente Abtastraten sowohl für einen Sensor als auch für mehrere Sensoren.

Verwandte Themen