[riot-commits] [RIOT-OS/RIOT] 751cfe: fix native hwtimer

Christian Mehlis christian at m3hlis.de
Fri Dec 20 18:58:51 CET 2013


  Branch: refs/heads/master
  Home:   https://github.com/RIOT-OS/RIOT
  Commit: 751cfe6475d99150e9ca24ccf3f33d9fe482f3aa
      https://github.com/RIOT-OS/RIOT/commit/751cfe6475d99150e9ca24ccf3f33d9fe482f3aa
  Author: Ludwig Ortmann <ludwig.ortmann at fu-berlin.de>
  Date:   2013-12-20 (Fri, 20 Dec 2013)

  Changed paths:
    M cpu/native/hwtimer_cpu.c

  Log Message:
  -----------
  fix native hwtimer

The hardware timer used relative offsets that were never updated
before. This leads to two problems:
a) later timers will get pushed into the future by the amount of
   previous timers
b) if a short timer is set continuously, a longer timer will never be
   called

Example:
a)
Timer a with 500 ms is set, timer b with 600 ms is set.
timer a expires after 500 ms, timer b will be set to expire in 600 ms
which totals to 1100 ms.
b)
Timer a is set to 500 ms, timer b is set to 600 ms.
Timer a expires and is set again. Now timer a will expire in 500 ms
and timer b will be pushed further into the future. Repeating this
will lead to b never expiring.


  Commit: f683771f11b0ff445b64347a22f54fe3961ef6fc
      https://github.com/RIOT-OS/RIOT/commit/f683771f11b0ff445b64347a22f54fe3961ef6fc
  Author: Christian Mehlis <christian at m3hlis.de>
  Date:   2013-12-20 (Fri, 20 Dec 2013)

  Changed paths:
    M cpu/native/hwtimer_cpu.c

  Log Message:
  -----------
  Merge pull request #463 from LudwigOrtmann/native_hwtimer_fixup

fix native hwtimer


Compare: https://github.com/RIOT-OS/RIOT/compare/b0d51d326aef...f683771f11b0


More information about the commits mailing list