Robotic mode (pyobs.modules.robotic)
Modules for robotic mode. TODO: write doc
Mastermind
- class Mastermind(schedule: Union[TaskSchedule, Dict[str, Any]], runner: Union[TaskRunner, Dict[str, Any]], allowed_late_start: int = 300, allowed_overrun: int = 300, **kwargs: Any)
Bases:
Module
,IAutonomous
,IFitsHeaderBefore
Mastermind for a full robotic mode.
Initialize a new auto focus system.
- Parameters:
schedule – Object that can return schedule.
allowed_late_start – Allowed seconds to start late.
allowed_overrun – Allowed time for a task to exceed it’s window in seconds
- async get_fits_header_before(namespaces: Optional[List[str]] = None, **kwargs: Any) Dict[str, Tuple[Any, str]] [source]
Returns FITS header for the current status of this module.
- Parameters:
namespaces – If given, only return FITS headers for the given namespaces.
- Returns:
Dictionary containing FITS headers.
PointingSeries
- class PointingSeries(alt_range: Tuple[float, float] = (30.0, 85.0), num_alt: int = 8, az_range: Tuple[float, float] = (0.0, 360.0), num_az: int = 24, dec_range: Tuple[float, float] = (- 80.0, 80.0), min_moon_dist: float = 15.0, finish: int = 90, exp_time: float = 1.0, acquisition: str = 'acquisition', telescope: str = 'telescope', **kwargs: Any)
Bases:
Module
,IAutonomous
Module for running pointing series.
Initialize a new auto focus system.
- Parameters:
alt_range – Range in degrees to use in altitude.
num_alt – Number of altitude points to create on grid.
az_range – Range in degrees to use in azimuth.
num_az – Number of azimuth points to create on grid.
dec_range – Range in declination in degrees to use.
min_moon_dist – Minimum moon distance in degrees.
finish – When this number in percent of points have been finished, terminate mastermind.
exp_time – Exposure time in secs.
acquisition – IAcquisition unit to use.
telescope – ITelescope unit to use.
Scheduler
- class Scheduler(tasks: Union[Dict[str, Any], TaskArchive], schedule: Union[Dict[str, Any], TaskSchedule], schedule_range: int = 24, safety_time: int = 60, twilight: str = 'astronomical', trigger_on_task_started: bool = False, trigger_on_task_finished: bool = False, **kwargs: Any)
Bases:
Module
,IStartStop
,IRunnable
Scheduler.
Initialize a new scheduler.
- Parameters:
scheduler – Scheduler to use
schedule_range – Number of hours to schedule into the future
safety_time – If no ETA for next task to start exists (from current task, weather became good, etc), use this time in seconds to make sure that we don’t schedule for a time when the scheduler is still running
twilight – astronomical or nautical
trigger_on_task_started – Whether to trigger a re-calculation of schedule, when task has started.
trigger_on_task_finishes – Whether to trigger a re-calculation of schedule, when task has finished.