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]
harp_behavior: HarpBehavior[source]
harp_clock_generator: HarpWhiteRabbit[source]
harp_environment_sensor: HarpEnvironmentSensor | None[source]
harp_lickometer: HarpLicketySplit[source]
harp_load_cells: LoadCells[source]
manipulator: AindManipulatorDevice[source]
model_config = {}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

triggered_camera_controller: CameraController[SpinnakerCamera][source]
version: Literal['0.1.0-rc0'][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: AindManipulator

Overrides the default settings for the manipulator device by spec’ing additional_settings field

model_config = {'json_schema_extra': {}}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

spout_axis: Axis[source]
class aind_behavior_iso_force.rig.RigCalibration(*, water_valve: WaterValveCalibration)[source]

Bases: BaseModel

model_config = {}[source]

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

water_valve: WaterValveCalibration[source]