genericroboticarm.sila_server package

Subpackages

Submodules

Module contents

class genericroboticarm.sila_server.Client(*args, **kwargs)[source]

Bases: SilaClient

ImplicitInteractionService: implicitinteractionservice.ImplicitInteractionServiceClient
LabwareTransferManipulatorController: labwaretransfermanipulatorcontroller.LabwareTransferManipulatorControllerClient
RoboTeachingService: roboteachingservice.RoboTeachingServiceClient
RobotController: robotcontroller.RobotControllerClient
_expected_features: Set[FullyQualifiedFeatureIdentifier] = {FullyQualifiedFeatureIdentifier('org.silastandard/core/SiLAService/v1'), FullyQualifiedFeatureIdentifier('org.silastandard/instruments.labware.manipulation/LabwareTransferManipulatorController/v1'), FullyQualifiedFeatureIdentifier('pharmb.io/robot/ImplicitInteractionService/v1'), FullyQualifiedFeatureIdentifier('stefanmaak/robot/RoboTeachingService/v1'), FullyQualifiedFeatureIdentifier('uni.greifswald/robot/RobotController/v1')}
class genericroboticarm.sila_server.Server(robo_interface: RoboInterface, server_uuid: UUID | None = None)[source]

Bases: SilaServer

_run_deferred(tail_task: Callable[[], None]) None[source]

Runs the tail task in the background and releases the task lock once it is done. The lock is handed over to that thread instead of being reacquired by it, so the next SiLA command queues up behind the tail task instead of racing it for the robot. :param tail_task: :return:

robot: RoboInterface
robot_command() Iterator[None][source]
stop(grace_period: float | None = None) None[source]

Stop the server and block until completion

Parameters:

grace_period (Time in seconds to wait before aborting all ongoing interactions)