Click or drag to resize

ListAPIWaitForListIdle Method

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

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

Parameters

listID  NullableInt32
Receives the Card-CommandList Identifier of the first list to become idle 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 TryWaitForListIdle(NullableInt32, NullableInt32) if no exception is desired.

  • Waiting can be interrupted by calling InterruptWaitForListIdle.

    Doing so will cause a ThreadInterruptedException.

  • Like all methods which involve communication with the card, this method is not thread-safe.
  • An idle event occurs when the card firmware has finished processing a list, and signals that the original list contents can now be altered again by the client.
  • The event occurs regardless of how the list was called for execution: either explicitly ( ListAPIExecute(Int32)), or as a sublist from another list.

    Note, however, that the event does not imply that all of the micro-vectors generated by the list have been output yet ( WaitForListDone(NullableInt32, NullableInt32)).

See Also