Skip to content

Commit f86d7be

Browse files
committed
fix imu power save and disable gyro sync when power save is enabled
1 parent 921f974 commit f86d7be

2 files changed

Lines changed: 4 additions & 7 deletions

File tree

src/hhd/controller/physical/imu.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,6 @@ def prepare_dev(
241241
def set_powersave(dev: DeviceInfo, state: bool, update_trigger: bool):
242242
freqs = dev.min_freqs if state else dev.freqs
243243

244-
write_sysfs(dev.sysfs, "buffer/enable", 0)
245244
for a, f in freqs.items():
246245
if (
247246
a
@@ -271,8 +270,6 @@ def set_powersave(dev: DeviceInfo, state: bool, update_trigger: bool):
271270
trig = fn
272271
break
273272

274-
write_sysfs(dev.sysfs, "buffer/enable", 1)
275-
276273
if not trig:
277274
return
278275

src/hhd/controller/virtual/sd/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ def __init__(
6666
self.report = bytearray(64)
6767
self.i = 0
6868
self.last_rep = None
69-
self.gyro_enabled = True
69+
self.gyro_enabled = False
7070
self.gyro_detection = gyro_detection
71-
self.send_powersave = False
71+
self.send_powersave = True
7272

7373
def open(self) -> Sequence[int]:
7474
self.available = False
@@ -317,7 +317,7 @@ def consume(self, events: Sequence[Event]):
317317

318318
# To fix gyro to mouse in latest steam
319319
# only send updates when gyro sends a timestamp
320-
send = not self.sync_gyro
320+
send = not self.sync_gyro or not self.gyro_enabled
321321
curr = time.perf_counter()
322322

323323
new_rep = bytearray(self.report)
@@ -384,7 +384,7 @@ def consume(self, events: Sequence[Event]):
384384

385385
# If the IMU breaks, smoothly re-enable the controller
386386
failover = self.last_imu + MAX_IMU_SYNC_DELAY < curr
387-
if self.sync_gyro and failover and not self.imu_failed:
387+
if self.gyro_enabled and self.sync_gyro and failover and not self.imu_failed:
388388
self.imu_failed = True
389389
logger.error(
390390
f"IMU Did not send information for {MAX_IMU_SYNC_DELAY}s. Disabling Gyro Sync."

0 commit comments

Comments
 (0)