deviceaccess.ReadAnyGroup

class deviceaccess.ReadAnyGroup

Bases: pybind11_object

Group for waiting on updates from multiple TransferElements with wait_for_new_data enabled.

__init__(self: deviceaccess.ReadAnyGroup) None

Create an empty ReadAnyGroup.

Methods

__init__(self)

Create an empty ReadAnyGroup.

add(self, element)

Add a TransferElement to the group.

finalise(self)

Finalise the group.

interrupt(self)

Interrupt blocking operations running on this group.

processPolled(self)

Process polled TransferElements and update them if new values are available.

readAny(self)

Wait until one of the elements in this group has received an update.

readAnyNonBlocking(self)

Return immediately and process an update if one is available.

readUntil(*args, **kwargs)

Overloaded function.

readUntilAll(*args, **kwargs)

Overloaded function.

waitAny(self)

Wait until any element in this group has received an update, but do not process the update.

waitAnyNonBlocking(self)

Return immediately with a notification if an update is available.

__init__(self: deviceaccess.ReadAnyGroup) None

Create an empty ReadAnyGroup.

add(self: deviceaccess.ReadAnyGroup, element: deviceaccess.TransferElementBase) None

Add a TransferElement to the group.

This is only allowed before finalise() has been called. The given element may not already be part of a ReadAnyGroup or TransferGroup, otherwise an exception is thrown. The element must be readable.

Returns:

None: This function does not return a value.

finalise(self: deviceaccess.ReadAnyGroup) None

Finalise the group.

After this, add() may no longer be called and read/wait methods may be used.

Returns:

None: This function does not return a value.

interrupt(self: deviceaccess.ReadAnyGroup) None

Interrupt blocking operations running on this group.

processPolled(self: deviceaccess.ReadAnyGroup) None

Process polled TransferElements and update them if new values are available.

Returns:

None: This function does not return a value.

readAny(self: deviceaccess.ReadAnyGroup) ChimeraTK::TransferElementID

Wait until one of the elements in this group has received an update.

Returns:

TransferElementID: ID of the element whose update has been processed.

readAnyNonBlocking(self: deviceaccess.ReadAnyGroup) ChimeraTK::TransferElementID

Return immediately and process an update if one is available.

Returns:

TransferElementID: ID of the processed element, or an invalid ID if no update is available.

readUntil(*args, **kwargs)

Overloaded function.

  1. readUntil(self: deviceaccess.ReadAnyGroup, id: ChimeraTK::TransferElementID) -> None

Wait until the given TransferElementID has received an update and store it in its user buffer.

Returns:

None: This function does not return a value.

  1. readUntil(self: deviceaccess.ReadAnyGroup, element: deviceaccess.TransferElementBase) -> None

Wait until the given TransferElement has received an update and store it in its user buffer.

Returns:

None: This function does not return a value.

readUntilAll(*args, **kwargs)

Overloaded function.

  1. readUntilAll(self: deviceaccess.ReadAnyGroup, ids: List[ChimeraTK::TransferElementID]) -> None

Wait until all given TransferElementID values have received updates and store them in their user buffers.

Returns:

None: This function does not return a value.

  1. readUntilAll(self: deviceaccess.ReadAnyGroup, elements: list) -> None

Wait until all given TransferElements have received updates and store them in their user buffers.

Returns:

None: This function does not return a value.

waitAny(self: deviceaccess.ReadAnyGroup) ChimeraTK::ReadAnyGroup::Notification

Wait until any element in this group has received an update, but do not process the update.

Returns:

Notification: Notification object for the pending update.

waitAnyNonBlocking(self: deviceaccess.ReadAnyGroup) ChimeraTK::ReadAnyGroup::Notification

Return immediately with a notification if an update is available.

Returns:

Notification: Notification object for a pending update, or an invalid notification if none is available.