Triaxis
Idle

Diametrical Magnet Orientation

Travel Area: ±2.5 mm (±170 px). N (dark charcoal) / S (gold) mark the magnet poles; the north side tracks magnetic orientation.

+Y
-Y
-X
+X
-2 -1.5 -1 +1 +1.5 +2 +2 +1.5 +1 -1 -1.5 -2 -2.5 +2.5 -2.5 +2.5
N
S
Polar Radar
Azimuth: 0.0° | Range: 0.0%

Frame Health

Everything on this tab is the unmodified reply from the three transfers the loop issues each cycle: 0xFC000 and 0x03F00 for the twelve absolute pixels, 0x000FC for the six differential channels. Nothing is averaged, scaled or clamped.

Source--
Status byte--
Function--
Data ready--
Flags--
CRC--
Loop period--
Waiting for a measurement

Absolute Pixels — raw LSB

Signed 12-bit counts, full scale ±2048. The averages are the four-pixel means the thumbstick knob reads from.

ChannelCount
X0--
Y0--
Z0--
X1--
Y1--
Z1--
X2--
Y2--
Z2--
X3--
Y3--
Z3--
Average X--
Average Y--
Average Z--
Peak |count|--
Waiting for a measurement

Differential Channels — raw LSB

The chip's own inter-pixel measurements, read in a single transfer. They populate this tab only — the thumbstick knob is driven by the 4-pixel absolute average again, so there is no gradient/field source switch anymore.

ChannelCount
X02--
Y02--
Z02--
X13--
Y13--
Z13--

Knob Output

What the thumbstick tab is drawing, after the 4-pixel absolute average and the joystick scale are applied.

Position sourceAbsolute field (avg X, Y)
Knob X--
Knob Y--
Angle--