  
  
  class Controls:
    def __init__(self, sm=None, pm=None, can_sock=None, CI=None):
      config_realtime_process(4 if TICI else 3, Priority.CTRL_HIGH)
  
      # Setup sockets
      self.pm = pm
      if self.pm is None:
        self.pm = messaging.PubMaster(['sendcan', 'controlsState', 'carState',
 
</s> remove       can_timeout = None if os.environ.get('NO_CAN_TIMEOUT', False) else 100
 </s> add       can_timeout = None if os.environ.get('NO_CAN_TIMEOUT', False) else 20 </s> remove     self.events.add_from_msg(CS.events)

 </s> add  </s> remove     self.logged_comm_issue = False
 </s> add     self.logged_comm_issue = None
    config_realtime_process(4, Priority.CTRL_HIGH)
  
  
  class Controls:
    def __init__(self, sm=None, pm=None, can_sock=None, CI=None):
    config_realtime_process(4, Priority.CTRL_HIGH)
  
      # Setup sockets
      self.pm = pm
      if self.pm is None:
        self.pm = messaging.PubMaster(['sendcan', 'controlsState', 'carState',
keep keep keep keep replace keep keep keep keep keep
 controlsd: better alert precedence for system malfunctions (#24366)

* controlsd: better alert precedence for system malfunctions

* down to 20

* move that

* check can flags

* update refs

* update refs 
selfdrive/controls/controlsd.py