def start_task(self, timeout=5): started = False start_time = time.time() while (not started) and (time.time()-start_time < timeout): try: pydaq.DAQmxStartTask(self.task_handle) except pydaq.DAQError as daq_err: if daq_err.error == -50103: # "The specified resource is reserved." pass else: raise daq_err else: started = True if not started: raise pydaq.DAQError(-50103)