Skip to content

Verify in-game: DualSense BT fused orientation no longer swings side-to-side on macOS (#83 / PR #84 sign-off) #86

@petegordon

Description

@petegordon

Type: Verification / acceptance sign-off · Parent: #83 · Verifies PR: #84 · Playtest target: petegordon/Tandemonium

Why

#83 was filed from an in-game observation: DualSense over Bluetooth on macOS → fused orientation swings/jerks hard side to side during petegordon/Tandemonium play. PR #84 hardens the IMU offset selection (accel-as-gyro guard). But hardware testing on branch claude/issue-83-macos-bt-imu-offset shows this machine does not reproduce the offset misread — the probe cleanly picks the correct offset every time:

IMU offset=16 (default=16, probe-best=16, accelMag≈8089, gyroAbs≈14) → family='sony-ds5'
Gyro calibrated, bias: … stddev: 1.1

So the lab/console evidence says parsing is correct (gyro ≈ 0, accel ≈ 1g). That means #84 may be confirming a no-regression rather than repairing the live symptom — and the only decisive test left is playing the game and watching the model.

What to do

  1. Run petegordon/Tandemonium with the PlayStation BT IMU: guard against accel-as-gyro offset shift (macOS side-to-side) (#83) #84 build, DualSense connected over Bluetooth on macOS.
  2. Steer / move the controller and watch fused orientation. Compare against the same controller over USB (the known-good baseline from macOS WebHID: DualSense Bluetooth gyro fusion produces wrong orientation (USB-vs-BT report layout) #83).
  3. Try to provoke the original failure mode specifically: move/handle the pad during the ~600ms connect-time probe, hot-plug/re-pair a few times. The original bug required the probe tie-breaker to flip to a wrong neighbour (15/17); PlayStation BT IMU: guard against accel-as-gyro offset shift (macOS side-to-side) (#83) #84's gyro gate should now prevent that. Confirm offset stays 16 across repeated reconnects (watch the PlayStation IMU offset=… log line).

Two possible outcomes (record which)

Acceptance

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions