diff --git a/os/rt/include/chvt.h b/os/rt/include/chvt.h index 70c3182e6..f1bb4d9f2 100644 --- a/os/rt/include/chvt.h +++ b/os/rt/include/chvt.h @@ -450,7 +450,7 @@ static inline void chVTDoTickI(void) { ch.vtlist.next->delta -= nowdelta; /* Recalculating the next alarm time.*/ - delta = chTimeDiffX(now, chTimeAddX(ch.vtlist.lasttime, vtp->delta)); + delta = vtp->delta - chTimeDiffX(ch.vtlist.lasttime, now); if (delta < (sysinterval_t)CH_CFG_ST_TIMEDELTA) { delta = (sysinterval_t)CH_CFG_ST_TIMEDELTA; } diff --git a/readme.txt b/readme.txt index f8e6a84a1..385ba7e8a 100644 --- a/readme.txt +++ b/readme.txt @@ -96,6 +96,8 @@ - HAL: Added a new interface for range-finder devices (used by EX). - HAL: Added mcuconf.h updater tool for STM32F407 (backported to 19.1.1). - NIL: Integrated NIL 4.0. +- FIX: Fixed long intervals fail when interval type is larger than time type + (bug #1031)(backported to 19.1.3)(backported to 18.2.3). - FIX: Fixed Round Robin check missing when in tick-less mode (bug #1030) (backported to 19.1.3)(backported to 18.2.3). - FIX: Fixed RCC_AHB1ENR_BKPSRAMEN not present in all STMF4xx devices