Appearance
modules.vision.devices.vendors.base_vendor
Classes Diagram
Module Dependencies
Classes
PTZAxisRange
Constructor
PTZAxisRange(self, logical: Range, hardware: Range)
Members
logical: Range
hardware: Range
BaseVendor
Inherits from: abc.ABC
Abstract base class for all PTZ camera vendors.
Defines the interface and common utilities expected from vendor-specific PTZ implementations.
Concrete vendor classes (e.g., Hikvision) must inherit from this class
and implement the abstract methods.
Members
SPEED_RANGE: Final[Range]
PAN_RANGE: Final[Range]
TILT_RANGE: Final[Range]
ZOOM_RANGE: Final[Range]
ANGLE_TOLERANCE: Final[float]
MIN_TIME_INTERVAL: Final[int]
VALID_AXES
RATE_LIMIT_INTERVAL: Final[int]
Methods
_validate_pan(self, pan: float) → None
_clamp_pan(self, pan: float) → float
_validate_tilt(self, tilt: float) → None
_clamp_tilt(self, tilt: float) → float
_validate_zoom(self, zoom: int) → None
_clamp_zoom(self, zoom: int) → int
_validate_speed(self, speed: int) → None
_clamp_speed(self, speed: int) → int
_validate_axis(self, axis: str) → bool
Validate and normalize axis parameter.
_set_absolute_ptz_position(self, pan: float | None, tilt: float | None, zoom: int | None) → bool
@abc.abstractmethod
_set_relative_ptz_position(self, pan: float | None, tilt: float | None, zoom: int | None) → bool
@abc.abstractmethod
_start_continuous(self, pan_speed: int, tilt_speed: int) → bool
@abc.abstractmethod
is_initialized(self) → bool
@abc.abstractmethod
stop_continuous(self)
@abc.abstractmethod
get_status(self, force_update: bool = False) → dict
@abc.abstractmethod
Return the current PTZ camera status.
get_speed(self) → tuple[int, int]
@abc.abstractmethod
get_video_stream(self)
@abc.abstractmethod
Optional: subclasses can override to provide RTSP or other streams.