Beispiel #1
0
        public bool AddRadioTelescopeController(RadioTelescopeController rtController)
        {
            if (ControlRoom.RadioTelescopes.Contains(rtController.RadioTelescope))
            {
                return(false);
            }

            ControlRoom.RTControllerManagementThreads.Add(new RadioTelescopeControllerManagementThread(rtController));
            return(true);
        }
Beispiel #2
0
 public bool AddRadioTelescopeControllerAndStart(RadioTelescopeController rtController)
 {
     if (AddRadioTelescopeController(rtController))
     {
         return(ControlRoom.RTControllerManagementThreads[ControlRoom.RTControllerManagementThreads.Count - 1].Start());
     }
     else
     {
         return(false);
     }
 }
Beispiel #3
0
        public RadioTelescopeControllerManagementThread(RadioTelescopeController controller)
        {
            RTController = controller;

            ManagementThread = new Thread(new ThreadStart(SpinRoutine))
            {
                Name = "RTControllerManagementThread (ID=" + RadioTelescopeID.ToString() + ")"
            };

            ManagementMutex           = new Mutex();
            KeepThreadAlive           = false;
            _NextObjectiveOrientation = null;
            InterruptAppointmentFlag  = false;
        }
Beispiel #4
0
 public bool RemoveRadioTelescopeController(RadioTelescopeController rtController, bool waitForAnyTasks)
 {
     return(RemoveRadioTelescopeControllerAt(ControlRoom.RadioTelescopeControllers.IndexOf(rtController), waitForAnyTasks));
 }