private void _lidarService_OnStart()
        {
            if (IsClosing)
            {
                return;
            }

            Invokers.SetText(btnConnect, "Stop");
            Invokers.SetBackColor(btnConnect, Color.Red);
            Invokers.SetForeColor(btnConnect, Color.White);
            Invokers.SetEnabled(groupBox3, false);

            ARC.Scripting.VariableManager.SetVariable(_cf.STORAGE[ConfigTitles.IS_LIDAR_RUNNING_VARIABLE].ToString(), true);

            _stopWatch.Restart();
        }
예제 #2
0
        private void Movement_OnMovement2(MovementManager.MovementDirectionEnum direction, byte speedLeft, byte speedRight)
        {
            if (_robotController == null || IsClosing)
            {
                return;
            }

            var speedLeftScaled  = (short)Functions.RemapScalar(speedLeft, 0, 255, 0, 500);
            var speedRightScaled = (short)Functions.RemapScalar(speedRight, 0, 255, 0, 500);

            if (direction == MovementManager.MovementDirectionEnum.Stop)
            {
                _robotController.DriveDirect(0, 0);

                Invokers.SetBackColor(btnForward, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnRight, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnLeft, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnReverse, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnStop, Common.ChangeColorBrightness(btnForward.Parent.BackColor, -0.3f));
            }
            else if (direction == MovementManager.MovementDirectionEnum.Forward)
            {
                _robotController.DriveDirect(speedLeftScaled, speedRightScaled);

                Invokers.SetBackColor(btnForward, Common.ChangeColorBrightness(btnForward.Parent.BackColor, -0.3f));
                Invokers.SetBackColor(btnRight, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnLeft, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnReverse, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnStop, btnForward.Parent.BackColor);
            }
            else if (direction == MovementManager.MovementDirectionEnum.Right)
            {
                _robotController.DriveDirect(speedLeftScaled, -speedRightScaled);

                Invokers.SetBackColor(btnForward, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnRight, Common.ChangeColorBrightness(btnForward.Parent.BackColor, -0.3f));
                Invokers.SetBackColor(btnLeft, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnReverse, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnStop, btnForward.Parent.BackColor);
            }
            else if (direction == MovementManager.MovementDirectionEnum.Reverse)
            {
                _robotController.DriveDirect(-speedLeftScaled, -speedRightScaled);

                Invokers.SetBackColor(btnForward, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnRight, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnLeft, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnReverse, Common.ChangeColorBrightness(btnForward.Parent.BackColor, -0.3f));
                Invokers.SetBackColor(btnStop, btnForward.Parent.BackColor);
            }
            else if (direction == MovementManager.MovementDirectionEnum.Left)
            {
                _robotController.DriveDirect(-speedLeftScaled, speedRightScaled);

                Invokers.SetBackColor(btnForward, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnRight, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnLeft, Common.ChangeColorBrightness(btnForward.Parent.BackColor, -0.3f));
                Invokers.SetBackColor(btnReverse, btnForward.Parent.BackColor);
                Invokers.SetBackColor(btnStop, btnForward.Parent.BackColor);
            }
        }