[C2]Compass unstable and reports wrong heading

REPRODUCIBILITY: 100% (always)
OSVERSION: 5.0.0.21
HARDWARE: Reeder S19 Max Pro S - s19mps - s19mps - 1.0.0.15 - aarch64
UI LANGUAGE: English (UK) (user: en_GB, os: en_GB.utf8)
REGRESSION: yes (since: 4.6.0.13 - arm)

DESCRIPTION:

Compass in C2 gives useless headings, despite calibration being 100% and CSD reporting PASS for the test.

It seems to me that calibration doesn’t work and that filtering of sensor data is insufficient.

PRECONDITIONS:

  1. Go outside to minimize local sources of errors
  2. Start GPSInfo app
  3. Move phone in figure-8 pattern until calibration is 100%

STEPS TO REPRODUCE:

  1. Watch the reported direction with phone in a steady position
  2. Turn around 180 degrees, check new direction
  3. Compare reported directions with phone horizontal, vertical/portrait, vertical/landscape

EXPECTED RESULTS:

Numbering as in Steps to reproduce.

  1. Direction should be stable and correct
  2. New direction should be 180 degrees from old direction
  3. Directions should agree independent of phone orientation

ACTUAL RESULTS:

Numbering as in Steps to reproduce.

  1. a) Direction is very noisy, varies rapidly by ~5 degrees.
    b) Direction is wrong and inconsistent
  2. Direction changes inconsistently. Not by 180 degrees, often by much less (like 45 or so)
  3. Direction varies wildly by phone orientation

MODIFICATIONS:

  • Patchmanager: no
  • OpenRepos: yes
  • Chum: yes
  • Other: none specified

ADDITIONAL INFORMATION:

My Xperia XA2, while perhaps not perfect, mostly performs according to expectation.
Device Owner User: defaultuser
Home Encryption: enabled

the initial version of this bug report was created using Bugger 0.9.10+git6