improved stop procedure to avoid overrun due to rounding issues between % and the real_position
This commit is contained in:
stefanbode 2020-12-18 09:19:45 +01:00 committed by GitHub
parent e2ec826dec
commit fbe7466bc8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 9 deletions

View File

@ -984,15 +984,10 @@ void CmndShutterStop(void)
if (Shutter[i].direction != 0) {
AddLog_P(LOG_LEVEL_DEBUG, PSTR("SHT: Stop moving %d: dir: %d"), XdrvMailbox.index, Shutter[i].direction);
int32_t temp_realpos = ShutterCalculatePosition(i);
XdrvMailbox.payload = ShutterRealToPercentPosition(temp_realpos, i)-Shutter[i].direction;
TasmotaGlobal.last_source = SRC_WEBGUI;
CmndShutterPosition();
} else {
if (XdrvMailbox.command)
ResponseCmndDone();
}
Shutter[i].target_position = Shutter[i].real_position;
}
if (XdrvMailbox.command)
ResponseCmndDone();
} else {
if (XdrvMailbox.command)
ResponseCmndIdxChar("Locked");