code: def _handle_reset(self):
          
  
          self._logger.info("Resetting controller")
          self._device.reset_count += 1
  
          super(ReferenceController, self)._handle_reset()
  
          # Load in all default values into our config variables before streaming
          # updated data into them.
          self.reset_config_variables()
docs: Reset this controller tile.
  
          This process will call _handle_reset() for all of the controller
          subsystem mixins in order to make sure they all return to their proper
          reset state.
  
          It will then reset all of the peripheral tiles to emulate the behavior
          of a physical POD where the controller tile cuts power to all
          peripheral tiles on reset for a clean boot.
  
          This will clear all subsystems of this controller to their reset
          states.
  
          The order of these calls is important to guarantee that everything is
          in the correct state before resetting the next subsystem.
  
          The behavior of this function is different depending on whether
          deferred is True or False.  If it's true, this function will only
          clear the config database and then queue all of the config streaming
          rpcs to itself to load in all of our config variables.  Once these
          have been sent, it will reset the rest of the controller subsystems.