Source code for genericroboticarm.sila_server.generated.implicitinteractionservice.implicitinteractionservice_client
# Generated by sila2.code_generator; sila2.__version__: 0.12.2
# -----
# This class does not do anything useful at runtime. Its only purpose is to provide type annotations.
# Since sphinx does not support .pyi files (yet?), this is a .py file.
# -----
from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Iterable, List, Optional
from implicitinteractionservice_types import AddDevice_Responses, ConnectToDevice_Responses, RemoveDevice_Responses
from sila2.client import ClientMetadataInstance, ClientUnobservableProperty
[docs]
class ImplicitInteractionServiceClient:
"""
Feature to add implicit interaction with other devices for labware transfer. This feature allows to
manage a set sila connectors specified by their sila server_name which must implement the
LabwareTransferSiteController feature. When a MovePlate PickPlate or PlacePlate command from the RobotController
feature of this connector is called and the specified site (, i.e., the parameter Site.device) is in the set of
for implicit interaction the corresponding methods (PrepareForInput, PrepareForOutput, LabwarePlaced and
LabwareRemoved) are automatically called before/after picking/placing labware. The robot automatically connects
to listed devices via SiLA discovery and will not move labware to/from a listed device if so connection can be
established.
"""
CurrentDeviceSet: ClientUnobservableProperty[List[str]]
"""
A list of all devices currently set for implicit interaction.
"""
[docs]
def AddDevice(
self, ServerName: str, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
) -> AddDevice_Responses:
"""
Adds a device to the set.
"""
...
[docs]
def ConnectToDevice(
self, ServerName: str, Timeout: float, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
) -> ConnectToDevice_Responses:
"""
Makes the robot try to establish a connection to the specified device(this might take a few
seconds). Doing this before the connection is actually needed may save time.
"""
...
[docs]
def RemoveDevice(
self, ServerName: str, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
) -> RemoveDevice_Responses:
"""
Removes a device to the set.
"""
...