From 7388235046b02cff0921fbbfd2b9843a935476fb Mon Sep 17 00:00:00 2001 From: MmAaXx500 Date: Thu, 24 Jul 2025 18:39:38 +0200 Subject: fix periodic effect length on update Avoid subtracting twice from the length of the effect first time in t300rs_calculate_periodic_values second time in t300rs_update_periodic --- src/tmt300rs/hid-tmt300rs.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/tmt300rs/hid-tmt300rs.c b/src/tmt300rs/hid-tmt300rs.c index f83e3af..8c9fb6b 100644 --- a/src/tmt300rs/hid-tmt300rs.c +++ b/src/tmt300rs/hid-tmt300rs.c @@ -350,8 +350,6 @@ static void t300rs_calculate_periodic_values(struct ff_effect *effect) struct ff_periodic_effect *periodic = &effect->u.periodic; int16_t headroom; - effect->replay.length -= 1; - periodic->magnitude = (periodic->magnitude * fixp_sin16(effect->direction * 360 / 0x10000)) / 0x7fff; if (periodic->magnitude < 0){ @@ -980,7 +978,7 @@ static int t300rs_upload_periodic(struct t300rs_device_entry *t300rs, t300rs_calculate_periodic_values(&effect); periodic = effect.u.periodic; - duration = effect.replay.length; + duration = effect.replay.length - 1; offset = effect.replay.delay; magnitude = periodic.magnitude; period = periodic.period; -- cgit v1.3