Esempio n. 1
0
        /// <summary>
        /// Set sensor data into controller view model.
        /// </summary>
        /// <param name="ViewModel"></param>
        public void UpdateSensorViewModel(Ev3ControllerMainViewModel ViewModel)
        {
            var Brick = Ev3Brick.GetInstance();

            for (int index = 0; index < 4; index++)
            {
                var DeviceViewModel = ViewModel.SensorViewModelArray[index];
                try
                {
                    var Device = Brick.SensorDeviceArray[index];
                    DeviceViewModel.PortName         = Device.Port;
                    DeviceViewModel.DeviceName       = Device.Device;
                    DeviceViewModel.IsConnected      = true;
                    DeviceViewModel.SensorValue1     = Device.Value1;
                    DeviceViewModel.SensorValue1Unit = "";
                    DeviceViewModel.SensorValue2     = Device.Value2;
                    DeviceViewModel.SensorValue2Unit = "";
                    DeviceViewModel.SensorValue3     = Device.Value3;
                    DeviceViewModel.SensorValue3Unit = "";
                }
#pragma warning disable 168
                catch (NullReferenceException ex)
                {
                    DeviceViewModel.IsConnected      = false;
                    DeviceViewModel.SensorValue1     = 0;
                    DeviceViewModel.SensorValue1Unit = "";
                    DeviceViewModel.SensorValue2     = 0;
                    DeviceViewModel.SensorValue2Unit = "";
                    DeviceViewModel.SensorValue3     = 0;
                    DeviceViewModel.SensorValue3Unit = "";
                }
#pragma warning restore
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Set motor data into controller view model.
        /// </summary>
        /// <param name="ViewModel"></param>
        public void UpdateMotorViewModel(Ev3ControllerMainViewModel ViewModel)
        {
            var Brick = Ev3Brick.GetInstance();

            for (int index = 0; index < 4; index++)
            {
                var DeviceViewModel = ViewModel.MotorViewModelArray[index];
                try
                {
                    var Device = Brick.MotorDeviceArray[index];
                    DeviceViewModel.PortName          = Device.Port;
                    DeviceViewModel.DeviceName        = Device.Device;
                    DeviceViewModel.CurrentOutput     = Device.Power;
                    DeviceViewModel.IsConnected       = Device.IsConnected;
                    DeviceViewModel.CurrentOutputUnit = @"%";
                }
#pragma warning disable 168
                catch (NullReferenceException ex)
                {
                    DeviceViewModel.IsConnected       = false;
                    DeviceViewModel.TargetOutput      = 0;
                    DeviceViewModel.TargetOutputUnit  = "";
                    DeviceViewModel.CurrentOutput     = 0;
                    DeviceViewModel.CurrentOutputUnit = "";
                }
#pragma warning restore
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Set safe state.
        /// </summary>
        /// <param name="ViewModel"></param>
        public void UpdateSafeStateViewModel(Ev3ControllerMainViewModel ViewModel)
        {
            var Brick = Ev3Brick.GetInstance();

            ViewModel.SafeStateViewModel.IsConnected = true;
            ViewModel.SafeStateViewModel.SafetyState = Brick.State.StateName;
            ViewModel.SafeStateViewModel.ImageSource = Brick.State.StateImage;
        }
Esempio n. 4
0
        /// <summary>
        /// Set target motor and steering value to Ev3Brick instance.
        /// </summary>
        /// <param name="ViewModel"></param>
        public void UpdateTargetMotor(Ev3ControllerMainViewModel ViewModel)
        {
            var Brick = Ev3Brick.GetInstance();

            Brick.Output.MotorOutput = ViewModel.MotorSteerViewModel.TargetMotorOutput;
            Brick.Output.Steering    = ViewModel.MotorSteerViewModel.TargetSteer;

            foreach (Ev3MotorDeviceViewModel MotorDeviceViewModel in
                     ViewModel.MotorViewModelArray)
            {
                if (MotorDeviceViewModel.IsConnected)
                {
                    MotorDeviceViewModel.TargetOutput = ViewModel.MotorSteerViewModel.TargetMotorOutput;
                }
            }
        }