messaging: fix bug with relaxed checks under simulation

pull/35145/head
Jason Young 2 months ago
parent 7c16e65347
commit d3ebe092d1
  1. 8
      cereal/messaging/__init__.py

@ -216,13 +216,13 @@ class SubMaster:
self.valid[s] = msg.valid
for s in self.services:
if SERVICE_LIST[s].frequency > 1e-5 and not self.simulation:
if SERVICE_LIST[s].frequency > 1e-5:
# alive if delay is within 10x the expected frequency
self.alive[s] = (cur_time - self.recv_time[s]) < (10. / SERVICE_LIST[s].frequency)
self.freq_ok[s] = self.freq_tracker[s].valid
self.alive[s] = (cur_time - self.recv_time[s]) < (10. / SERVICE_LIST[s].frequency) or (self.seen[s] and self.simulation)
self.freq_ok[s] = self.freq_tracker[s].valid or self.simulation
else:
self.freq_ok[s] = True
self.alive[s] = self.seen[s] if self.simulation else True
self.alive[s] = True
def all_alive(self, service_list: Optional[List[str]] = None) -> bool:
return all(self.alive[s] for s in (service_list or self.services) if s not in self.ignore_alive)

Loading…
Cancel
Save