FancySafeBot 0.0.1
A safe robotics library
Loading...
Searching...
No Matches
Timer management

Timed Loop Management. More...

Classes

struct  fsb::TimeData
 
class  fsb::PeriodicTimer
 Periodic timer. More...
 

Enumerations

enum class  fsb::TimingError : uint8_t {
  TimingError::SUCCESS = 0 , TimingError::MONOTONIC_CLOCK_FAILED = 1 , TimingError::REALTIME_CLOCK_FAILED = 2 , TimingError::SLEEP_FAILED = 3 ,
  TimingError::STEP_SIZE_BELOW_CLOCK_RESOLUTION = 4 , TimingError::STEP_SIZE_LESS_THAN_MINIMUM = 5
}
 Timing error codes. More...
 

Functions

Real fsb::timespec_to_seconds (const timespec &ts)
 Convert timespec to seconds as a Real value.
 

Variables

constexpr long fsb::kMinimumStepSizeNs = 10000
 Minimum step size in nanoseconds.
 

Detailed Description

Timed Loop Management.

Enumeration Type Documentation

◆ TimingError

enum class fsb::TimingError : uint8_t
strong

Timing error codes.

Enumerator
SUCCESS 

No error.

MONOTONIC_CLOCK_FAILED 

Failed to get monotonic clock time.

REALTIME_CLOCK_FAILED 

Failed to get realtime clock time.

SLEEP_FAILED 

Failed nanosleep.

STEP_SIZE_BELOW_CLOCK_RESOLUTION 

Step size must be specified above clock resolution.

STEP_SIZE_LESS_THAN_MINIMUM 

Step size must be specified greater than minimum.

Function Documentation

◆ timespec_to_seconds()

Real fsb::timespec_to_seconds ( const timespec &  ts)
inline

Convert timespec to seconds as a Real value.

Parameters
tsThe timespec structure to convert
Returns
Real The time in seconds