The simulator clock was previously tied to the host system time. This causes inconsistency across simulation sessions, and also meant that the internal timer accuracy was low, as the timer resolution was limited by the host OS scheduling.
This changes the simulator clock to run independently from the system clock, and increases the internal clock resolution from microseconds to nanosecond.
It also introduces a new Simulator class, which manages the execution of the simulated core (previously, this functionality has been part of the RP2040 class).
The simulator clock was previously tied to the host system time. This causes inconsistency across simulation sessions, and also meant that the internal timer accuracy was low, as the timer resolution was limited by the host OS scheduling.
This changes the simulator clock to run independently from the system clock, and increases the internal clock resolution from microseconds to nanosecond.
It also introduces a new
Simulator
class, which manages the execution of the simulated core (previously, this functionality has been part of theRP2040
class).