|
|
@ -317,19 +317,18 @@ class Controls: |
|
|
|
# generic catch-all. ideally, a more specific event should be added above instead |
|
|
|
# generic catch-all. ideally, a more specific event should be added above instead |
|
|
|
has_disable_events = self.events.contains(ET.NO_ENTRY) and (self.events.contains(ET.SOFT_DISABLE) or self.events.contains(ET.IMMEDIATE_DISABLE)) |
|
|
|
has_disable_events = self.events.contains(ET.NO_ENTRY) and (self.events.contains(ET.SOFT_DISABLE) or self.events.contains(ET.IMMEDIATE_DISABLE)) |
|
|
|
no_system_errors = (not has_disable_events) or (len(self.events) == num_events) |
|
|
|
no_system_errors = (not has_disable_events) or (len(self.events) == num_events) |
|
|
|
if (not self.sm.all_checks() or CS.canRcvTimeout) and no_system_errors: |
|
|
|
if not self.sm.all_checks() and no_system_errors: |
|
|
|
if not self.sm.all_alive(): |
|
|
|
if not self.sm.all_alive(): |
|
|
|
self.events.add(EventName.commIssue) |
|
|
|
self.events.add(EventName.commIssue) |
|
|
|
elif not self.sm.all_freq_ok(): |
|
|
|
elif not self.sm.all_freq_ok(): |
|
|
|
self.events.add(EventName.commIssueAvgFreq) |
|
|
|
self.events.add(EventName.commIssueAvgFreq) |
|
|
|
else: # invalid or can_rcv_timeout. |
|
|
|
else: |
|
|
|
self.events.add(EventName.commIssue) |
|
|
|
self.events.add(EventName.commIssue) |
|
|
|
|
|
|
|
|
|
|
|
logs = { |
|
|
|
logs = { |
|
|
|
'invalid': [s for s, valid in self.sm.valid.items() if not valid], |
|
|
|
'invalid': [s for s, valid in self.sm.valid.items() if not valid], |
|
|
|
'not_alive': [s for s, alive in self.sm.alive.items() if not alive], |
|
|
|
'not_alive': [s for s, alive in self.sm.alive.items() if not alive], |
|
|
|
'not_freq_ok': [s for s, freq_ok in self.sm.freq_ok.items() if not freq_ok], |
|
|
|
'not_freq_ok': [s for s, freq_ok in self.sm.freq_ok.items() if not freq_ok], |
|
|
|
'can_rcv_timeout': CS.canRcvTimeout, |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
if logs != self.logged_comm_issue: |
|
|
|
if logs != self.logged_comm_issue: |
|
|
|
cloudlog.event("commIssue", error=True, **logs) |
|
|
|
cloudlog.event("commIssue", error=True, **logs) |
|
|
|