コード例 #1
0
ファイル: realtime.py プロジェクト: ponzu07/openpilot
 def __init__(self, rate: float, print_delay_threshold: Optional[float] = 0.0) -> None:
   """Rate in Hz for ratekeeping. print_delay_threshold must be nonnegative."""
   self._interval = 1. / rate
   self._next_frame_time = sec_since_boot() + self._interval
   self._print_delay_threshold = print_delay_threshold
   self._frame = 0
   self._remaining = 0.0
   self._process_name = getproctitle()
   self._dts = deque([self._interval], maxlen=100)
   self._last_monitor_time = sec_since_boot()
コード例 #2
0
ファイル: realtime.py プロジェクト: ponzu07/openpilot
  def monitor_time(self) -> bool:
    prev = self._last_monitor_time
    self._last_monitor_time = sec_since_boot()
    self._dts.append(self._last_monitor_time - prev)

    lagged = False
    remaining = self._next_frame_time - sec_since_boot()
    self._next_frame_time += self._interval
    if self._print_delay_threshold is not None and remaining < -self._print_delay_threshold:
      print(f"{self._process_name} lagging by {-remaining * 1000:.2f} ms")
      lagged = True
    self._frame += 1
    self._remaining = remaining
    return lagged
コード例 #3
0
ファイル: realtime.py プロジェクト: HoraceHou/Open-Pilot
 def __init__(self, rate, print_delay_threshold=0.):
     """Rate in Hz for ratekeeping. print_delay_threshold must be nonnegative."""
     self._interval = 1. / rate
     self._next_frame_time = sec_since_boot() + self._interval
     self._print_delay_threshold = print_delay_threshold
     self._frame = 0
     self._remaining = 0
     self._process_name = multiprocessing.current_process().name
コード例 #4
0
 def monitor_time(self):
   lagged = False
   remaining = self._next_frame_time - sec_since_boot()
   self._next_frame_time += self._interval
   if self._print_delay_threshold is not None and remaining < -self._print_delay_threshold:
     print("%s lagging by %.2f ms" % (self._process_name, -remaining * 1000))
     lagged = True
   self._frame += 1
   self._remaining = remaining
   return lagged