              self.current_alert_types.append(ET.PRE_ENABLE)
  
          # OVERRIDING
          elif self.state == State.overriding:
            if not self.events.any(ET.OVERRIDE):
              self.state = State.enabled
            else:
              self.current_alert_types.append(ET.OVERRIDE)
  
      # DISABLED
 
</s> remove ENABLE_EVENT_TYPES = (ET.ENABLE, ET.PRE_ENABLE)
 </s> add ENABLE_EVENT_TYPES = (ET.ENABLE, ET.PRE_ENABLE, ET.OVERRIDE) </s> remove                    State.preEnabled: ET.PRE_ENABLE}
ALL_STATES = tuple((state for state in State.schema.enumerants.values() if
                    state != State.overriding))  # TODO: remove overriding exception
 </s> add                    State.preEnabled: ET.PRE_ENABLE, State.overriding: ET.OVERRIDE}
ALL_STATES = tuple(State.schema.enumerants.values())
          if self.events.any(ET.SOFT_DISABLE):
            self.state = State.softDisabling
            self.soft_disable_timer = int(SOFT_DISABLE_TIME / DT_CTRL)
            self.current_alert_types.append(ET.SOFT_DISABLE)
          elif not self.events.any(ET.OVERRIDE):
              self.current_alert_types.append(ET.PRE_ENABLE)
  
          # OVERRIDING
          elif self.state == State.overriding:
          if self.events.any(ET.SOFT_DISABLE):
            self.state = State.softDisabling
            self.soft_disable_timer = int(SOFT_DISABLE_TIME / DT_CTRL)
            self.current_alert_types.append(ET.SOFT_DISABLE)
          elif not self.events.any(ET.OVERRIDE):
              self.state = State.enabled
            else:
              self.current_alert_types.append(ET.OVERRIDE)
  
      # DISABLED
keep keep keep keep replace keep keep keep keep keep
 tests: add overriding to state machine test (#24131)

* add overriding to state machine test

* overriding should consider soft disable too 
selfdrive/controls/controlsd.py