iblrig.pydantic_definitions.HardwareSettings

Inheritance diagram of HardwareSettings

class iblrig.pydantic_definitions.HardwareSettings[source]
MAIN_SYNC: bool
RIG_NAME: str
VERSION: str
device_bpod: HardwareSettingsBpod
device_cameras: dict[str, dict[str, HardwareSettingsCameraWorkflow | HardwareSettingsCamera]] | None
device_frame2ttl: HardwareSettingsFrame2TTL
device_microphone: HardwareSettingsMicrophone | None
device_rotary_encoder: HardwareSettingsRotaryEncoder
device_scale: HardwareSettingsScale
device_screen: HardwareSettingsScreen
device_sound: HardwareSettingsSound
device_valve: HardwareSettingsValve
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'title': 'hardware_settings.yaml'}

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

model_fields: ClassVar[Dict[str, FieldInfo]] = {'MAIN_SYNC': FieldInfo(annotation=bool, required=True), 'RIG_NAME': FieldInfo(annotation=str, required=True), 'VERSION': FieldInfo(annotation=str, required=True), 'device_bpod': FieldInfo(annotation=HardwareSettingsBpod, required=True), 'device_cameras': FieldInfo(annotation=Union[dict[str, dict[str, Union[HardwareSettingsCameraWorkflow, HardwareSettingsCamera]]], NoneType], required=True), 'device_frame2ttl': FieldInfo(annotation=HardwareSettingsFrame2TTL, required=True), 'device_microphone': FieldInfo(annotation=Union[HardwareSettingsMicrophone, NoneType], required=False, default=None), 'device_rotary_encoder': FieldInfo(annotation=HardwareSettingsRotaryEncoder, required=True), 'device_scale': FieldInfo(annotation=HardwareSettingsScale, required=False, default=HardwareSettingsScale(COM_SCALE=None)), 'device_screen': FieldInfo(annotation=HardwareSettingsScreen, required=True), 'device_sound': FieldInfo(annotation=HardwareSettingsSound, required=True), 'device_valve': FieldInfo(annotation=HardwareSettingsValve, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.