Fixed timing bug

This commit is contained in:
Brikwerk 2021-09-26 13:52:27 -07:00
commit e6bcf7534a

View file

@ -117,6 +117,7 @@ class ControllerServer():
def mainloop(self, itr, ctrl): def mainloop(self, itr, ctrl):
duration_start = time.perf_counter()
while True: while True:
# Start timing command processing # Start timing command processing
timer_start = time.perf_counter() timer_start = time.perf_counter()
@ -176,13 +177,9 @@ class ControllerServer():
itr, ctrl = self.save_connection(e) itr, ctrl = self.save_connection(e)
# Figure out how long it took to process commands # Figure out how long it took to process commands
timer_end = time.perf_counter()
elapsed_time = timer_end - timer_start
duration_end = time.perf_counter() duration_end = time.perf_counter()
duration_elapsed = duration_end - duration_start duration_elapsed = duration_end - duration_start
duration_start = duration_end duration_start = duration_end
self.durations.append(duration_elapsed)
sleep_time = 1/132 - duration_elapsed sleep_time = 1/132 - duration_elapsed
if sleep_time >= 0: if sleep_time >= 0:
@ -190,7 +187,7 @@ class ControllerServer():
self.tick += 1 self.tick += 1
if self.logger_level <= logging.DEBUG: if self.logger_level <= logging.DEBUG:
self.times.append(elapsed_time) self.times.append(duration_elapsed)
if len(self.times) > 100: if len(self.times) > 100:
self.times.pop() self.times.pop()
mean_time = stat.mean(self.times) mean_time = stat.mean(self.times)