Commit Graph

9 Commits

Author SHA1 Message Date
cddda71cfb Early duplicate state detection in channels
These checks allows the emulator to abort at the moment in which two
consecutive states are going to be emitted by the channel, showing the
culpirit in the backtrace. Waiting for the check in chan_emit() hides
the source of the problem.
2021-11-19 16:22:37 +01:00
557371e836 Only allow and emit state transitions
Fixes the ghost events shown in the PRV trace. Only transitions to a
different state are allowed now.
2021-11-17 12:08:25 +01:00
4fcef1c5b6 Fix some warnings for clang and intel compilers 2021-11-16 19:20:50 +01:00
73d9e323b9 Remove const array initialization
The implementation is not mandatory and clang doesn't support it.
2021-11-16 19:20:45 +01:00
d3e87c2272 Add GPLv3 and MIT licenses 2021-11-03 11:32:17 +01:00
3c913dd26b Implement extended init for CPU channels 2021-10-21 16:53:01 +02:00
5a940540d3 Use priority queue for streams and fast channels
A priority queue (in heap.h) is used to keep the next event ready in the
emulator loop. Additionally, a list of dirty channels is keept to
limit the complexity of the propagation and emit phases.
2021-10-21 16:53:00 +02:00
dd1567e0ec Add support for tracking modes in channels 2021-10-21 16:52:51 +02:00
fbfbb8fc0f Introduce channels 2021-10-21 16:15:29 +02:00