Exemple #1
0
        public void StopTracking()
        {
            if (TrackingState != TrackingStates.Tracking)
            {
                return;
            }

            // stop platform tracking
            if (SharedResources.s_switch != null)
            {
                SharedResources.s_switch.SetSwitch(SharedResources.s_switchIdx, false);
            }

            // stop the tracking timer
            m_swatch.Stop();

            // start mount tracking
            SharedResources.s_mount.Tracking = true;

            // assume RA and Dec stay fixed during equatorial tracking, sync mount to starting RA/Dec
            SharedResources.s_mount.SyncToCoordinates(m_ra, m_dec);

            m_state = TrackingStates.Stopped;

            Server.MainForm.UpdateState();
        }
Exemple #2
0
        public void Init()
        {
            m_state = TrackingStates.AtStart;

            using (Settings settings = new Settings())
            {
                string s   = settings.Get("strokeDegrees", "22.0");
                double val = 22.0;
                Double.TryParse(s, out val);
                StrokeDegrees = val;
            }

            m_swatch.Reset();
        }
Exemple #3
0
        public void Reset()
        {
            if (m_state == TrackingStates.AtStart)
            {
                return;
            }

            double ra, dec;

            if (m_state == TrackingStates.Stopped)
            {
                // mount is tracking, grab RA and dec from the mount
                ra  = SharedResources.s_mount.RightAscension;
                dec = SharedResources.s_mount.Declination;
            }
            else
            {
                // platform is tracking, use the saved coordinates
                ra  = m_ra;
                dec = m_dec;

                // stop platform tracking
                if (SharedResources.s_switch != null)
                {
                    SharedResources.s_switch.SetSwitch(SharedResources.s_switchIdx, false);
                }

                // start mount tracking
                SharedResources.s_mount.Tracking = true;
            }

            m_swatch.Stop();

            double delta_ra = m_swatch.ElapsedMilliseconds / 1000.0 * SIDEREAL_DEGREES_PER_SECOND * 24.0 / 360.0;

            SharedResources.s_mount.SyncToCoordinates(norm_ra(ra - delta_ra), dec);

            // reset the tracking timer
            m_swatch.Reset();

            m_state = TrackingStates.AtStart;

            Server.MainForm.UpdateState();
        }
Exemple #4
0
        private void DoStart()
        {
            // grab the starting coordinates
            m_ra  = SharedResources.s_mount.RightAscension;
            m_dec = SharedResources.s_mount.Declination;

            // stop mount tracking
            SharedResources.s_mount.Tracking = false;

            // start platform tracking
            if (SharedResources.s_switch != null)
            {
                SharedResources.s_switch.SetSwitch(SharedResources.s_switchIdx, true);
            }

            // start the tracking timer
            m_swatch.Start();

            m_state = TrackingStates.Tracking;
        }