From ecf9e4ea65cb1ee053ac307cc4290d0bc8a4b7a0 Mon Sep 17 00:00:00 2001 From: stefanbode Date: Fri, 18 Sep 2020 08:31:05 +0200 Subject: [PATCH] Fix int16 overflow on large open times --- tasmota/xdrv_27_shutter.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasmota/xdrv_27_shutter.ino b/tasmota/xdrv_27_shutter.ino index 19e89f113..a1625c786 100644 --- a/tasmota/xdrv_27_shutter.ino +++ b/tasmota/xdrv_27_shutter.ino @@ -560,7 +560,7 @@ int32_t ShutterCalculatePosition(uint32_t i) if (Shutter[i].direction != 0) { switch (ShutterGlobal.position_mode) { case SHT_COUNTER: - return ((int32_t)RtcSettings.pulse_counter[i]*Shutter[i].direction*STEPS_PER_SECOND*RESOLUTION / ShutterGlobal.open_velocity_max)+Shutter[i].start_position; + return ((int32_t)RtcSettings.pulse_counter[i]*Shutter[i].direction*STEPS_PER_SECOND / ShutterGlobal.open_velocity_max * RESOLUTION)+Shutter[i].start_position; break; case SHT_TIME: case SHT_TIME_UP_DOWN: