api.rig¶
- class aind_behavior_iso_force.rig.AindIsoForceRig(*, aind_behavior_services_pkg_version: Annotated[Literal['0.13.5'], _PydanticGeneralMetadata(pattern='^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$')] = '0.13.5', version: Literal['0.1.0-rc0'] = '0.1.0-rc0', computer_name: str, rig_name: str, data_directory: Path, triggered_camera_controller: CameraController[SpinnakerCamera], harp_behavior: HarpBehavior, harp_lickometer: HarpLicketySplit, harp_load_cells: LoadCells, harp_clock_generator: HarpWhiteRabbit, harp_environment_sensor: HarpEnvironmentSensor | None = None, manipulator: AindManipulatorDevice, calibration: RigCalibration)[source]¶
Bases:
Rig- calibration: RigCalibration[source]¶
- manipulator: AindManipulatorDevice[source]¶
- class aind_behavior_iso_force.rig.AindManipulatorDevice(*, device_type: ~typing.Literal['StepperDriver'] = 'StepperDriver', calibration: ~aind_behavior_services.rig.aind_manipulator.AindManipulatorCalibration = AindManipulatorCalibration(description='AindManipulator calibration and settings', full_step_to_mm=ManipulatorPosition(x=0.01, y1=0.01, y2=0.01, z=0.01), axis_configuration=[AxisConfiguration(axis=<Axis.Y1: 2>, step_acceleration_interval=100, step_interval=100, microstep_resolution=<MicrostepResolution.MICROSTEP8: 0>, maximum_step_interval=2000, motor_operation_mode=<MotorOperationMode.QUIET: 0>, max_limit=25, min_limit=-0.01), AxisConfiguration(axis=<Axis.Y2: 3>, step_acceleration_interval=100, step_interval=100, microstep_resolution=<MicrostepResolution.MICROSTEP8: 0>, maximum_step_interval=2000, motor_operation_mode=<MotorOperationMode.QUIET: 0>, max_limit=25, min_limit=-0.01), AxisConfiguration(axis=<Axis.X: 1>, step_acceleration_interval=100, step_interval=100, microstep_resolution=<MicrostepResolution.MICROSTEP8: 0>, maximum_step_interval=2000, motor_operation_mode=<MotorOperationMode.QUIET: 0>, max_limit=25, min_limit=-0.01), AxisConfiguration(axis=<Axis.Z: 4>, step_acceleration_interval=100, step_interval=100, microstep_resolution=<MicrostepResolution.MICROSTEP8: 0>, maximum_step_interval=2000, motor_operation_mode=<MotorOperationMode.QUIET: 0>, max_limit=25, min_limit=-0.01)], homing_order=[<Axis.Y1: 2>, <Axis.Y2: 3>, <Axis.X: 1>, <Axis.Z: 4>], initial_position=ManipulatorPosition(x=0.0, y1=0.0, y2=0.0, z=0.0)), who_am_i: ~typing.Literal[1130] = 1130, serial_number: str | None = None, port_name: str, spout_axis: ~aind_behavior_services.rig.aind_manipulator.Axis = Axis.Y1)[source]¶
Bases:
AindManipulatorOverrides the default settings for the manipulator device by spec’ing additional_settings field