Line 326:
Line 326:
If properly calibrated, angleX and angleZ should hover around 0.0 when the GamePad is held level, but as the gyroscopes have limited range and resolution the alignment will drift with use.
If properly calibrated, angleX and angleZ should hover around 0.0 when the GamePad is held level, but as the gyroscopes have limited range and resolution the alignment will drift with use.
−
==== Direction Tracking ====
+
==== Orientation ====
−
There are nine variables that tie into the GamePad's direction tracking, organized into three triplets:
+
There are nine variables that tie into the GamePad's orientation tracking, organized into three three-dimensional vectors:
−
* <tt>wiiu.gamepad.dirXx</tt>, <tt>wiiu.gamepad.dirXy</tt>, <tt>wiiu.gamepad.dirXz</tt>
−
* <tt>wiiu.gamepad.dirYx</tt>, <tt>wiiu.gamepad.dirYy</tt>, <tt>wiiu.gamepad.dirYz</tt>
−
* <tt>wiiu.gamepad.dirZx</tt>, <tt>wiiu.gamepad.dirZy</tt>, <tt>wiiu.gamepad.dirZz</tt>
−
<b>TODO:</b> <i>Determine range and geometric interpretation of these variables. They appear to be rotation-related. Are these triplets transposed? (i.e. are they associated as (dirXx, dirYx, dirZx) instead of (dirXx, dirXy, dirXz)?)</i>
+
{| class='wikitable'
+
! Axis
+
! X
+
! Y
+
! Z
+
|-
+
| X (horizontal) axis
+
| <tt>wiiu.gamepad.dirXx</tt>
+
| <tt>wiiu.gamepad.dirXy</tt>
+
| <tt>wiiu.gamepad.dirXz</tt>
+
|-
+
| Y (depth) axis
+
| <tt>wiiu.gamepad.dirYx</tt>
+
| <tt>wiiu.gamepad.dirYy</tt>
+
| <tt>wiiu.gamepad.dirYz</tt>
+
|-
+
| Z (vertical) axis
+
| <tt>wiiu.gamepad.dirZx</tt>
+
| <tt>wiiu.gamepad.dirZy</tt>
+
| <tt>wiiu.gamepad.dirZz</tt>
+
|}
+
+
This is a basis of three perpendicular unit vectors; that is, each vector has length 1.0 and points along the relevant axis of the GamePad relative to an arbitrary starting orientation in three-dimensional space.
=== wiiu.remote ===
=== wiiu.remote ===