mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
Currently, StepTiming() advances the time by the given delta, then runs any Notifiers that expired within that timeframe until their expiration times are in the future. This doesn't reflect how the Notifiers would actually run on a real robot. For example, if a Notifier measures the time between calls for state-space model advancement, it would measure a large jump in time once, then zero for subsequent runs until the Notifier was caught up to the current time. With this change, the time is incremented by the full delta or until the soonest Notifier, whichever has the smaller delta, then Notifiers set to expire at that time are run. This is repeated until the time has been advanced by the full delta. For the state-space model Notifier situation mentioned before, it would measure multiple small time jumps instead of one big one.