コード例 #1
0
        private void SafetyChecker(object StateObject)
        {
            wisetele.safetyMonitorTimer.Enabled = false;

            string reason = wisetele.SafeAtCoordinates(
                Angle.FromHours(wisetele.RightAscension, Angle.Type.RA),
                Angle.FromDegrees(wisetele.Declination, Angle.Type.Dec));

            if (reason == string.Empty)
            {
                wisetele.safetyMonitorTimer.Enabled = true;
                return;
            }

            #region debug
            WiseTele.debugger.WriteLine(Debugger.DebugLevel.DebugLogic, "SafetyChecker: activated (action: {0}, reason: {1})",
                                        WhenNotSafe.ToString(), reason);
            #endregion

            switch (WhenNotSafe)
            {
            case ActionWhenNotSafe.None:
                return;

            case ActionWhenNotSafe.StopMotors:
                wisetele.Stop();
                break;

            case ActionWhenNotSafe.Backoff:
                wisetele.Backoff();
                break;
            }
            wisetele.safetyMonitorTimer.Enabled = true;
        }
コード例 #2
0
 private void buttonStop_Click(object sender, EventArgs e)
 {
     wisetele.Stop();
 }
コード例 #3
0
ファイル: Dashboard.cs プロジェクト: T0T4R4/ASCOM.Wise40
 private void directionButton_MouseUp(object sender, MouseEventArgs e)
 {
     wisetele.Stop();
 }