libgs.scheduler.Scheduler

class libgs.scheduler.Scheduler(gs, schedule, track_full_pass=False, compute_ant_points=True, enforce_signoffs=None)[source]

Implements the libgs scheduler.

It is responsible for executing the schedule on the ground station. As such it needs access to both the ground station instance and the schedule instance.

Note

A schedule is assumed immutable after being added to the scheduler

Parameters:
  • gs (Groundstation) – Instance of Grounstation class
  • schedule (Schedule) – The schedule to execute
  • track_full_pass (bool (optional)) – If this flag is true the scheduler will not complete a pass before the satellite is no longer in view, regardless of whether there are any remaining communications. (Useful for debugging)
  • compute_ant_points (bool (optional)) – If true, re-compute (or interpolate) antenna points based on antenna beamwidth. If false follow schedule exactly.
  • enforce_signoffs (int (optional)) – If true, will not permit execution of a communications plan that does not have at least the specified number of signoffs.

Methods

disable() Set disabled to True
enable() Set disabled to False
execute(*args, **kwargs) Execute the schedule.
execute_pass(*args, **kwargs) Method to execute a pass on the ground station.
stop(*args, **kwargs) Stop the schedule

Attributes

disabled Whether or not the scheduler is currently disabled.
state The current Scheduler state.
timer The timer keeps track of the next schedule to execute

Inherited from base class