Commit 6660aba00a898ff4db6c689e35e7fd03b4f9d47d
authorDelio Brignoli <brignoli.delio@gmail.com>
Fri, 20 Oct 2017 09:22:45 +0000 (11:22 +0200)
committerMichel Pollet <github.com@pollet.net>
Fri, 27 Oct 2017 07:07:14 +0000 (08:07 +0100)
treef241865c579a5f5c6a06ecf4d01b347cacda2f8a
parent9c56faa09995909a1ebc99dbf8cbb67a60f11b7e
Message:
modify avr_callback_sleep_raw() to mitigate sim time and wall clock time divergence

To avoid simulated time and wall clock time to diverge over time
this implementation tries to keep them in sync (roughly) by sleeping
for the time required to match the expected sleep deadline
in wall clock time.

The simulation will burst as fast as the host CPU will allow
until the simulated MCU sleeps, at which point avr_callback_sleep_raw()
sleeps for the time required to sync wall clock time with simulated MCU
time.
2 files changed:
simavr/sim/sim_avr.c
simavr/sim/sim_avr.h