code: def enable_streaming(self):
          
  
          if not self.connected:
              raise HardwareError("Cannot enable streaming if we are not in a connected state")
  
          if self._reports is not None:
              _clear_queue(self._reports)
              return self._reports
  
          self._reports = queue.Queue()
          self._loop.run_coroutine(self.adapter.open_interface(0, 'streaming'))
  
          return self._reports
docs: Open the streaming interface and accumute reports in a queue.
  
          This method is safe to call multiple times in a single device
          connection. There is no way to check if the streaming interface is
          opened or to close it once it is opened (apart from disconnecting from
          the device).
  
          The first time this method is called, it will open the streaming
          interface and return a queue that will be filled asynchronously with
          reports as they are received.  Subsequent calls will just empty the
          queue and return the same queue without interacting with the device at
          all.
  
          Returns:
              queue.Queue: A queue that will be filled with reports from the device.