pylabrobot.brooks.precise_flex.PreciseFlexConfiguration#
- class pylabrobot.brooks.precise_flex.PreciseFlexConfiguration(manufacturer: str, controller_model: str, hardware_version: str, gpl_version: str, controller_serial: str, robot_name: str, robot_type: int, tcs_version: str, modules: tuple, num_axes: int, extra_axes: int, axis_mask: int, arm: PreciseFlexArmConfiguration, gripper: PreciseFlexGripperConfiguration, rail: PreciseFlexRailConfiguration | None = None, camera_count: int = 0, _power_state: int | None = None)#
Bases:
objectDevice configuration resolved once at setup; immutable afterwards.
The identity fields are read from the controller (
pd <DataID>and theversioncommand); limits, maxima and kinematics are onarm,gripperandrail. Derived:has_railfrom the joint set,is_dual_gripperfrom the axis mask’s&H80bit,has_vision_gripperfrom the camera count, andreach_classfrom the link lengths the controller reports.Attributes
use
gripper.soft_limit_range.merged from the arm, gripper and rail configurations.
use
gripper.is_dual_gripper.use
has_vision_gripper.use
arm.kinematics.use
arm.kinematics_source.use
arm.max_cartesian_acceleration.use
arm.max_cartesian_speed.merged from the arm, gripper and rail configurations.
merged from the arm, gripper and rail configurations.
merged from the arm, gripper and rail configurations.
use
PreciseFlexDriver.request_system_state.use
arm.reach_class.merged from the arm, gripper and rail configurations.
use
arm.work_envelope.use
arm.z_range.Methods
__init__(manufacturer, controller_model, ...)- Parameters:
manufacturer (str)
controller_model (str)
hardware_version (str)
gpl_version (str)
controller_serial (str)
robot_name (str)
robot_type (int)
tcs_version (str)
modules (tuple)
num_axes (int)
extra_axes (int)
axis_mask (int)
arm (PreciseFlexArmConfiguration)
gripper (PreciseFlexGripperConfiguration)
rail (PreciseFlexRailConfiguration | None)
camera_count (int)
_power_state (int | None)