Example #1
0
        /// <summary>
        /// Главный цикл, в котором происходит запуск метода <see cref="StepperMotor.Run"/>.
        /// </summary>
        /// <param name="stopTimer">Флаг остановки</param>
        private void Loop(ref bool stopTimer)
        {
            Stepper.Enabled = true;

            OnStart(this, EventArgs.Empty);

            while (!stopTimer)
            {
                Stepper.Run();

                if (Interval > 0 && Stepper.CurrentStepsCount % Interval == 0)
                {
                    Elapsed(this, EventArgs.Empty);
                }

                stopTimer = !Stepper.IsRunning;
            }

            Stepper.Enabled = false;

            StopReason = StopReason == StepperStopReason.Stoped ? StopReason : StepperStopReason.WorkDone;

            OnStop(this, EventArgs.Empty);
        }