2017-05-04 1 views
0

Ich versuche den Referenzrahmen des CMMotionManagers zu finden, mit dem ich Gyro-Daten verfolgen kann. Wenn ich die folgenden ZeilenWas bedeutet rawValue 1 von attitudeReferenceFrame?

let referenceFrame = self.motionManager.attitudeReferenceFrame 
print("Reference frame = \(referenceFrame)") 

ausführen bekomme ich folgende Ausgabe

Reference frame = CMAttitudeReferenceFrame(rawValue: 1) 

Es gibt 4 Konstante für CMAttitudeReferenceFrame

Konstanten

statische xArbitraryZVertical var: CMAttitudeReferenceFrame eine Beschreibt Referenzrahmen, in dem die Z-Achse vertikal ist l und die X-Achse zeigt in einer beliebigen Richtung in der horizontalen Ebene.

static var xArbitraryCorrectedZVertical: CMAttitudeReferenceFrame Beschreibt den gleichen Referenzrahmen als xArbitraryZVertical außer daß des Magnetometers, wenn verfügbar und kalibriert, verwendet wird Langzeitgiergenauigkeit zu verbessern. Die Verwendung dieser Konstante anstelle von xArbitraryZVertical führt zu einer erhöhten CPU-Auslastung.

static var xMagneticNorthZVertical: CMAttitudeReferenceFrame Beschreibt ein Referenzrahmen, in dem die Z-Achse senkrecht steht und die X-Achse zeigt in Richtung magnetischen Norden. Beachten Sie, dass bei Verwendung dieses Referenzrahmens eine Gerätebewegung erforderlich ist, um das Magnetometer zu kalibrieren.

static var xTrueNorthZVertical: CMAttitudeReferenceFrame Beschreibt ein Referenzrahmen, in dem die Z-Achse vertikal und die x-Achse zeigt in Richtung wahren Norden. Beachten Sie, dass die Verwendung dieses Referenzrahmens möglicherweise eine Gerätebewegung erfordert, um das Magnetometer zu kalibrieren. Außerdem muss die Position verfügbar sein, um den Unterschied zwischen magnetisch und Nord wahr zu berechnen.

Spricht es über die zweite Konstante von rawValue von 1?

+0

Sie haben Recht. Es ist 'xArbitraryCorrectedZVertical'. – ozgur

+0

Rohwert 1 ist 'xArbitraryZVertical' – dan

Antwort

-1

Die docs sagen, dass die zweite von denen hat Wert 1 << 1 (das heißt, 1), also ja.

+0

' 1 << 1' ist 2, '1 << 0' ist 1 – dan

+0

Oh, habe ich eine Dummheit gemacht? Hoppla. – Ssswift