34 const auto& cyber_config = GlobalData::Instance()->Config();
35 const auto& clock_mode = cyber_config.run_mode_conf().clock_mode();
41 auto clock = Instance();
44 switch (clock->mode_) {
45 case ClockMode::MODE_CYBER:
47 case ClockMode::MODE_MOCK:
48 return clock->mock_now_;
50 AFATAL <<
"Unsupported clock mode: "
59 auto clock = Instance();
62 case ClockMode::MODE_MOCK: {
66 case ClockMode::MODE_CYBER: {
73 clock->mock_now_ =
Time(0);
77 auto clock = Instance();
83 auto clock = Instance();
85 if (clock->mode_ != ClockMode::MODE_MOCK) {
86 AERROR <<
"SetSimNow only works for ClockMode::MOCK";
89 clock->mock_now_ = now;
static ClockMode mode()
Gets the current clock mode.
static void SetMode(ClockMode mode)
static double NowInSeconds()
gets the current time in second.
static void SetNow(const Time &now)
This is for mock clock mode only.
static Time Now()
PRECISION >= 1000000 means the precision is at least 1us.
Cyber has builtin time type Time.
static Time Now()
get the current time.
double ToSecond() const
convert time to second.
auto ToInt(Enum const value) -> typename std::underlying_type< Enum >::type