Source code for swc.aeon.schema.harp
"""Classes for defining Harp device configuration models."""
from typing import ClassVar
from pydantic import Field
from swc.aeon.schema.base import BaseSchema
[docs]
class HarpDevice(BaseSchema):
"""A base class for creating Harp device models."""
who_am_i: ClassVar[int] = Field(description="The unique identifier for the device type.")
port_name: str = Field(examples=["COM"], description="The name of the device serial port.")
[docs]
class HarpOutputExpander(HarpDevice):
"""Represents a Harp Output Expander device."""
who_am_i: ClassVar[int] = 1108
[docs]
class HarpClockSynchronizer(HarpDevice):
"""Represents a Harp Clock Synchronizer device."""
who_am_i: ClassVar[int] = 1152
[docs]
class HarpTimestampGeneratorGen3(HarpDevice):
"""Represents a Harp Timestamp Generator Gen3 device."""
who_am_i: ClassVar[int] = 1158
[docs]
class HarpCameraController(HarpDevice):
"""Represents a Harp Camera Controller device."""
who_am_i: ClassVar[int] = 1168
[docs]
class HarpCameraControllerGen2(HarpDevice):
"""Represents a Harp Camera Controller Gen2 device."""
who_am_i: ClassVar[int] = 1170
[docs]
class HarpBehavior(HarpDevice):
"""Represents a Harp Behavior device."""
who_am_i: ClassVar[int] = 1216
[docs]
class HarpAudioSwitch(HarpDevice):
"""Represents a Harp Audio Switch device."""
who_am_i: ClassVar[int] = 1248
[docs]
class HarpSoundCard(HarpDevice):
"""Represents a Harp Sound Card device."""
who_am_i: ClassVar[int] = 1280
[docs]
class HarpRfidReader(HarpDevice):
"""Represents a Harp RFID Reader device."""
who_am_i: ClassVar[int] = 2094