Source code for swc.aeon.schema.environment

"""Classes for defining environment configuration models."""

from pydantic import Field

from swc.aeon.schema.base import BaseSchema


[docs] class LightCycle(BaseSchema): """Represents a network client for automated room light control.""" event_socket: str = Field( default=">tcp://localhost:4303", description="Specifies the endpoint from which the Light Server publishes events.", ) command_socket: str = Field( default=">tcp://localhost:4304", description="Specifies the endpoint to send commands to the Light Server.", ) room_name: str = Field(description="The name of the room to monitor and control.") config_file_name: str = Field( default="lightcycle.config", description="The name of the CSV file describing the light model, " "where each row represents one whole minute and the red, cold white " "and warm white, light levels set for that minute.", )
[docs] class WeightScale(BaseSchema): """Represents acquisition functionality for automated habitat weighing scales.""" port_name: str = Field(examples=["COM"], description="The name of the device serial port.") filter_window: int = Field( default=40, description="Sliding window size of the weight linear regression filter." )