Click or drag to resize

ListAPIWaitForListDone Method

Waits up to timeout for a ListDone event to be reported from the card.

Namespace: RAYLASE.SPICE3.ClientLib
Assembly: RAYLASE.SPICE3.ClientLib (in RAYLASE.SPICE3.ClientLib.dll) Version: 3.6.0
Syntax
C#
public bool WaitForListDone(
	out int? listID,
	int? timeout = null
)

Parameters

listID  NullableInt32
Receives the Card-CommandList Identifier of the first list which was executed to completion since the last time this function was called.
timeout  NullableInt32  (Optional)
null
(or omitted)
use the default timeout period specified by ClientAPITimeout
  -1wait indefinitely for the event
   0do not wait, simply check if an event has already been reported
 > 0timeout period in ms

Return Value

Boolean
trueif an event is reported within the specified timeout period.
falsebut only if timeout== 0 and no event has occurred.

If timeout!= 0 and no event has occurred, a TimeoutException will be thrown.
Exceptions
ExceptionCondition
TimeoutExceptionTimeout occurred before the event.
ThreadInterruptedExceptionThe wait was interrupted prematurely.
ListExecutionExceptionsee12.7 Exceptions and Errors
ExecutionExceptionsee12.7 Exceptions and Errors
FatalExceptionsee12.7 Exceptions and Errors
AbortedExceptionsee12.7 Exceptions and Errors
OutOfFieldExceptionsee12.7 Exceptions and Errors
Remarks
  • Note that this function will throw a TimeoutException if no event is reported within the specified timeout period.

    Use TryWaitForListDone(NullableInt32, NullableInt32) if no exception is desired.

  • Waiting can be interrupted by calling InterruptWaitForListDone.

    Doing so will cause a ThreadInterruptedException.

  • Like all methods which involve communication with the card, this method is not thread-safe.
  • An executionDone event occurs when execution of a list has completely finished (all micro-vectors have been output), and only if execution was triggered explicitly by calling ListAPIExecute(Int32).
  • Sublists do not trigger executionDone events.
See Also