17 #ifndef CYBER_PYTHON_INTERNAL_PY_TIME_H_ 18 #define CYBER_PYTHON_INTERNAL_PY_TIME_H_ 34 explicit PyTime(uint64_t nanoseconds) { time_ =
Time(nanoseconds); }
63 duration_ = std::make_shared<Duration>(nanoseconds);
66 void sleep()
const {
return duration_->Sleep(); }
69 std::shared_ptr<Duration> duration_ =
nullptr;
74 explicit PyRate(uint64_t nanoseconds) {
75 rate_ = std::make_shared<Rate>(nanoseconds);
78 void sleep()
const {
return rate_->Sleep(); }
79 void reset()
const {
return rate_->Reset(); }
80 uint64_t
get_cycle_time()
const {
return rate_->CycleTime().ToNanosecond(); }
82 return rate_->ExpectedCycleTime().ToNanosecond();
86 std::shared_ptr<Rate> rate_ =
nullptr;
92 #endif // CYBER_PYTHON_INTERNAL_PY_TIME_H_ ::apollo::cyber::Time Time
Definition: racobit_radar_message_manager.h:41
static PyTime now()
Definition: py_time.h:36
PyRate(uint64_t nanoseconds)
Definition: py_time.h:74
void sleep() const
Definition: py_time.h:66
static PyTime mono_time()
Definition: py_time.h:42
uint64_t get_cycle_time() const
Definition: py_time.h:80
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
static void SleepUntil(const Time &time)
Sleep Until time.
uint64_t to_nsec() const
Definition: py_time.h:54
static void sleep_until(uint64_t nanoseconds)
Definition: py_time.h:48
uint64_t get_expected_cycle_time() const
Definition: py_time.h:81
double to_sec() const
Definition: py_time.h:52
PyDuration(int64_t nanoseconds)
Definition: py_time.h:62
double ToSecond() const
convert time to second.
uint64_t ToNanosecond() const
convert time to nanosecond.
PyTime(uint64_t nanoseconds)
Definition: py_time.h:34
static Time Now()
get the current time.
Cyber has builtin time type Time.
Definition: time.h:31
void reset() const
Definition: py_time.h:79
void sleep() const
Definition: py_time.h:78