chrono::ChRealtimeStepTimer Class Reference

Description

Class for a timer which attempts to enforce soft real-time.

#include <ChRealtimeStep.h>

Inheritance diagram for chrono::ChRealtimeStepTimer:
Collaboration diagram for chrono::ChRealtimeStepTimer:

Public Member Functions

 ChRealtimeStepTimer ()
 Create the timer (outside the simulation loop, preferably just before beginning the loop)
 
void Spin (double step)
 Call this function INSIDE the simulation loop, just ONCE per loop (preferably as the last call in the loop), passing it the integration step size used at this step. More...
 
- Public Member Functions inherited from chrono::ChTimer< double >
void start ()
 Start the timer.
 
void stop ()
 Stops the timer.
 
void reset ()
 Reset the total accumulated time (when repeating multiple start() stop() start() stop() )
 
unsigned long long GetTimeMilliseconds () const
 Returns the time in [ms]. More...
 
unsigned long long GetTimeMillisecondsIntermediate () const
 Returns the time in [ms] since start(). It does not require stop().
 
unsigned long long GetTimeMicroseconds () const
 Returns the time in [us]. More...
 
unsigned long long GetTimeMicrosecondsIntermediate () const
 Returns the time in [us] since start(). It does not require stop().
 
double GetTimeSeconds () const
 Returns the time in [s], with real_type precision Use start()..stop() before calling this.
 
double GetTimeSecondsIntermediate () const
 Returns the time in [s] since start(). It does not require stop().
 
double operator() () const
 Get the last timer value, in seconds, with the () operator.
 

Member Function Documentation

◆ Spin()

void chrono::ChRealtimeStepTimer::Spin ( double  step)
inline

Call this function INSIDE the simulation loop, just ONCE per loop (preferably as the last call in the loop), passing it the integration step size used at this step.

If the time elapsed over the last step (i.e., from the last call to Spin) is small than the integration step size, this function will spin in place until real time catches up with the simulation time, thus providing soft real-time capabilities.


The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono/core/ChRealtimeStep.h