Исходный код soniks_client.antenna.tracking
"""Выбор стратегии слежения по значению ``ANTENNA__ROTATOR__MODE``."""
from core.configs import settings
from core.configs.antenna import RotatorMode
from soniks_client.antenna.tracking.base import TrackingStrategy
from soniks_client.antenna.tracking.flip import FlipStrategy
from soniks_client.antenna.tracking.normal import NormalStrategy
from soniks_client.antenna.tracking.range_250 import Range250Strategy
[документация]
def create_tracking_strategy() -> TrackingStrategy:
"""Создать стратегию слежения по ``ANTENNA__ROTATOR__MODE``."""
cfg = settings.antenna.rotator
if cfg.MODE is RotatorMode.FLIP:
return FlipStrategy(cfg.MIN_ELEVATION, cfg.THRESHOLD)
if cfg.MODE is RotatorMode.RANGE_250:
return Range250Strategy(cfg.MIN_ELEVATION, cfg.THRESHOLD)
return NormalStrategy(cfg.MIN_ELEVATION, cfg.THRESHOLD)