Пример #1
0
 def _createMoveFuture(self, ref=False):
     """
     ref: if true, will use a different canceller
     Return (CancellableFuture): a future that can be used to manage a move
     """
     f = CancellableFuture()
     f._moving_lock = threading.Lock()  # taken while moving
     f._must_stop = threading.Event(
     )  # cancel of the current future requested
     f._was_stopped = False  # if cancel was successful
     if not ref:
         f.task_canceller = self._cancelCurrentMove
     else:
         f.task_canceller = self._cancelReference
     return f
Пример #2
0
 def _createFuture(self):
     """
     Return (CancellableFuture): a future that can be used to manage a move
     """
     f = CancellableFuture()
     f._moving_lock = threading.Lock() # taken while moving
     f._must_stop = threading.Event() # cancel of the current future requested
     f._was_stopped = False # if cancel was successful
     f.task_canceller = self._cancelCurrentMove
     return f
Пример #3
0
 def _createFuture(self):
     """
     Return (CancellableFuture): a future that can be used to manage a move
     """
     f = CancellableFuture()
     f._moving_lock = threading.Lock()  # taken while moving
     f._must_stop = threading.Event()  # cancel of the current future requested
     f._was_stopped = False  # if cancel was successful
     f.task_canceller = self._cancelCurrentMove
     return f
Пример #4
0
def turnOnLight(bl, ccd):
    """
    Turn on a light and wait until it detects a signal change on the ccd
    bl (Light): the light, which should initially be turned off.
    ccd (DigitalCamera): detector to use to check for the signal
    returns (CancellableFuture): a future that will finish when a significant
      signal increase is detected. Can also be used to stop the procedure. 
    """
    f = CancellableFuture()
    f.task_canceller = _cancelTurnOnLight
    f._task_state = RUNNING
    f._task_lock = threading.Lock()
    f._was_stopped = False  # if cancel was successful
    # Run in separate thread
    executeAsyncTask(f, _doTurnOnLight, args=(f, bl, ccd))
    return f
Пример #5
0
def turnOnLight(bl, ccd):
    """
    Turn on a light and wait until it detects a signal change on the ccd
    bl (Light): the light, which should initially be turned off.
    ccd (DigitalCamera): detector to use to check for the signal
    returns (CancellableFuture): a future that will finish when a significant
      signal increase is detected. Can also be used to stop the procedure. 
    """
    f = CancellableFuture()
    f.task_canceller = _cancelTurnOnLight
    f._task_state = RUNNING
    f._task_lock = threading.Lock()
    f._was_stopped = False  # if cancel was successful
    # Run in separate thread
    executeAsyncTask(f, _doTurnOnLight, args=(f, bl, ccd))
    return f