API

target

sensor

priority

schedule

class slewpy.schedule.LastObserved[source]

Assign new pointings based on the targets with the most distant observation in time

assign_pointings(obs, sensor, time, max_pointings=1)[source]

Assign pointing(s) to sensor based on a set of times

Parameters:
  • obs (list of Targets) – set of known observations

  • sensor (Sensor) – sensor to assign pointings

  • times (astropy.Time) – current time in the simulation

  • max_pointings (int) – maximum number of pointings to assign

  • mode (str either "orbit" or "tracking") – defines how to return the pointing. If mode=orbit then return an orbit object otherwise return an ra,dec location

class slewpy.schedule.Manager[source]

ABC class for how to assign pointings to a list of targets

abstract assign_pointings(obs, sensor, time, max_pointings, mode)[source]

Assign pointing(s) to sensor based on a set of times

Parameters:
  • obs (list of Targets) – set of known observations

  • sensor (Sensor) – sensor to assign pointings

  • times (astropy.Time) – current time in the simulation

  • max_pointings (int) – maximum number of pointings to assign

  • mode (str either "orbit" or "tracking") – defines how to return the pointing. If mode=orbit then return an orbit object otherwise return an ra,dec location

class slewpy.schedule.Scheduler(manager=<slewpy.schedule.LastObserved object>)[source]

Class to schedule observations

Parameters:
  • obs_targets (list ObsTarget) – set of known target objects

  • manager (Manager) – deines how jobs are scheduled

slewpy.schedule.target_comp(target)[source]

Custom comparison to sort by weight and last time observed or number of observations

transmission

hub

class slewpy.hub.Hub(env, request_pipe, data_pipe, sensor_list, obs_targets, target_pipe=None, scheduler=None, t0=<Time object: scale='tt' format='jyear_str' value=J2000.000>, runtime=None)[source]

Central hub for satellite communications

Parameters:
  • env (simpy Environment) – Discrete event environment

  • request_pipe (simpy Pipe) – channel for sensors to request new targets

  • data_pipe (simpy Pipe) – channel to receive observations from sensors

  • sensor_list (list of Sensor objects) – set of sensors to communicate with

  • targets (list of target objects) – this contains the true orbit information for all targets

  • obs_targets (list of ObsTarget) – list of currently known Targets

  • scheduler (Scheduler) – object that determines how targets are assigned to sensors

  • t0 (astropy Time) – time at which the simulation starts

listen_new_target()[source]

Listen for sensor to request a new set of pointings

listen_request()[source]

Listen for sensor to request a new set of pointings

recieve_target_info()[source]

Listen for sensor to send updated track information

send_target(sensor, pointings, obs_targets)[source]

Send sensor a set of pointings and current set of observed targets

serializer

class slewpy.hub.Hub(env, request_pipe, data_pipe, sensor_list, obs_targets, target_pipe=None, scheduler=None, t0=<Time object: scale='tt' format='jyear_str' value=J2000.000>, runtime=None)[source]

Central hub for satellite communications

Parameters:
  • env (simpy Environment) – Discrete event environment

  • request_pipe (simpy Pipe) – channel for sensors to request new targets

  • data_pipe (simpy Pipe) – channel to receive observations from sensors

  • sensor_list (list of Sensor objects) – set of sensors to communicate with

  • targets (list of target objects) – this contains the true orbit information for all targets

  • obs_targets (list of ObsTarget) – list of currently known Targets

  • scheduler (Scheduler) – object that determines how targets are assigned to sensors

  • t0 (astropy Time) – time at which the simulation starts

listen_new_target()[source]

Listen for sensor to request a new set of pointings

listen_request()[source]

Listen for sensor to request a new set of pointings

recieve_target_info()[source]

Listen for sensor to send updated track information

send_target(sensor, pointings, obs_targets)[source]

Send sensor a set of pointings and current set of observed targets

utils