Esempio n. 1
0
        public void BrickUpdater_0E_00_Update_Test_001()
        {
            var Command = new Command_0E_00();

            Command.ResData    = new byte[8];
            Command.ResData[4] = 0x00;
            Command.ResData[5] = 0x01;
            Command.ResData[6] = 0x02;
            Command.ResData[7] = 0x03;

            var Updater = new BrickUpdater_0E_00();
            var Brick   = Ev3Brick.GetInstance();

            Updater.Update(Command, Brick);

            Assert.AreEqual(Ev3Device.INPORT.INPORT_1, Brick.SensorDevice(0).ConnectedPort);
            Assert.AreEqual(Ev3Device.INPORT.INPORT_2, Brick.SensorDevice(1).ConnectedPort);
            Assert.AreEqual(Ev3Device.INPORT.INPORT_3, Brick.SensorDevice(2).ConnectedPort);
            Assert.AreEqual(Ev3Device.INPORT.INPORT_4, Brick.SensorDevice(3).ConnectedPort);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_NO_DEVICE,
                            Brick.SensorDevice(0).DeviceType);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_ULTRASONIC,
                            Brick.SensorDevice(1).DeviceType);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_GYRO,
                            Brick.SensorDevice(2).DeviceType);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_TOUCH,
                            Brick.SensorDevice(3).DeviceType);
            Assert.IsFalse(Brick.SensorDevice(0).IsConnected);
            Assert.IsTrue(Brick.SensorDevice(1).IsConnected);
            Assert.IsTrue(Brick.SensorDevice(2).IsConnected);
            Assert.IsTrue(Brick.SensorDevice(3).IsConnected);
        }
        public void BrickUpdater_10_01_Update_Test_002()
        {
            var Command = new Command_10_01();

            Command.ResData     = new byte[12];
            Command.ResData[4]  = 0x01;
            Command.ResData[5]  = 0x01;
            Command.ResData[6]  = 0x01;
            Command.ResData[7]  = 0x02;
            Command.ResData[8]  = 0x01;
            Command.ResData[9]  = 0x03;
            Command.ResData[10] = 0x01;
            Command.ResData[11] = 0x04;

            var Updater = new BrickUpdater_10_01();
            var Brick   = Ev3Brick.GetInstance();

            Updater.Update(Command, Brick);

            Assert.IsTrue(Brick.MotorDevice(0).IsConnected);
            Assert.IsTrue(Brick.MotorDevice(1).IsConnected);
            Assert.IsTrue(Brick.MotorDevice(2).IsConnected);
            Assert.IsTrue(Brick.MotorDevice(3).IsConnected);
            Assert.AreEqual(1, Brick.MotorDevice(0).Power);
            Assert.AreEqual(2, Brick.MotorDevice(1).Power);
            Assert.AreEqual(3, Brick.MotorDevice(2).Power);
            Assert.AreEqual(4, Brick.MotorDevice(3).Power);
        }
Esempio n. 3
0
        public void BrickDataUpdater_UpdateMotorViewModel_Test_010()
        {
            var Updater      = new BrickDataUpdater();
            var ViewModel    = new Ev3ControllerMainViewModel();
            var MotorDevice1 = new Ev3MotorDevice();
            var MotorDevice2 = new Ev3MotorDevice();
            var Brick        = Ev3Brick.GetInstance();

            for (int index = 0; index < 4; index++)
            {
                ViewModel.MotorViewModelArray[index] = new Ev3MotorDeviceViewModel();
            }
            MotorDevice1.Power        = 13;
            MotorDevice2.Power        = 23;
            Brick.MotorDeviceArray[2] = MotorDevice1;
            Brick.MotorDeviceArray[3] = MotorDevice2;
            Updater.UpdateMotorViewModel(ViewModel);

            Assert.IsFalse(ViewModel.MotorViewModelArray[0].IsConnected);
            Assert.IsFalse(ViewModel.MotorViewModelArray[1].IsConnected);
            Assert.IsTrue(ViewModel.MotorViewModelArray[2].IsConnected);
            Assert.AreEqual(13, ViewModel.MotorViewModelArray[2].CurrentOutput);
            Assert.AreEqual("%", ViewModel.MotorViewModelArray[2].CurrentOutputUnit);
            Assert.IsTrue(ViewModel.MotorViewModelArray[3].IsConnected);
            Assert.AreEqual(23, ViewModel.MotorViewModelArray[3].CurrentOutput);
            Assert.AreEqual("%", ViewModel.MotorViewModelArray[3].CurrentOutputUnit);
        }
Esempio n. 4
0
        public void BrickDataUpdater_UpdateSensorViewModel_Test_004()
        {
            var Updater      = new BrickDataUpdater();
            var ViewModel    = new Ev3ControllerMainViewModel();
            var SensorDevice = new Ev3SensorDevice();
            var Brick        = Ev3Brick.GetInstance();

            for (int index = 0; index < 4; index++)
            {
                ViewModel.SensorViewModelArray[index] = new Ev3SensorDeviceViewModel();
            }
            SensorDevice.ConnectedPort = Ev3Device.INPORT.INPORT_4;
            SensorDevice.DeviceType    = Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_ULTRASONIC;
            SensorDevice.Value1        = 10;
            SensorDevice.Value2        = 11;
            SensorDevice.Value3        = 12;
            Brick.SensorDeviceArray[3] = SensorDevice;
            Updater.UpdateSensorViewModel(ViewModel);

            Assert.IsFalse(ViewModel.SensorViewModelArray[0].IsConnected);
            Assert.IsFalse(ViewModel.SensorViewModelArray[1].IsConnected);
            Assert.IsFalse(ViewModel.SensorViewModelArray[2].IsConnected);
            Assert.IsTrue(ViewModel.SensorViewModelArray[3].IsConnected);
            Assert.AreEqual("PORT_4", ViewModel.SensorViewModelArray[3].PortName);
            Assert.AreEqual("ULTRASONIC", ViewModel.SensorViewModelArray[3].DeviceName);
            Assert.AreEqual(10, ViewModel.SensorViewModelArray[3].SensorValue1);
            Assert.AreEqual(11, ViewModel.SensorViewModelArray[3].SensorValue2);
            Assert.AreEqual(12, ViewModel.SensorViewModelArray[3].SensorValue3);
            Assert.AreEqual("", ViewModel.SensorViewModelArray[3].SensorValue1Unit);
            Assert.AreEqual("", ViewModel.SensorViewModelArray[3].SensorValue2Unit);
            Assert.AreEqual("", ViewModel.SensorViewModelArray[3].SensorValue3Unit);
        }
        public void BrickUpdater_0C_00_Update_Test_002()
        {
            var Command = new Command_0C_00();

            Command.ResData    = new byte[8];
            Command.ResData[4] = 0xFE;
            Command.ResData[5] = 0xFF;
            Command.ResData[6] = 0x04;
            Command.ResData[7] = 0x00;

            var Updater = new BrickUpdater_0C_00();
            var Brick   = Ev3Brick.GetInstance();

            Updater.Update(Command, Brick);

            Assert.AreEqual(Ev3Device.OUTPORT.OUTPORT_A, Brick.MotorDevice(0).ConnectedPort);
            Assert.AreEqual(Ev3Device.OUTPORT.OUTPORT_B, Brick.MotorDevice(1).ConnectedPort);
            Assert.AreEqual(Ev3Device.OUTPORT.OUTPORT_C, Brick.MotorDevice(2).ConnectedPort);
            Assert.AreEqual(Ev3Device.OUTPORT.OUTPORT_D, Brick.MotorDevice(3).ConnectedPort);
            Assert.AreEqual(DEVICE_TYPE.MOTOR_DEVICE_UNKNOWN, Brick.MotorDevice(0).DeviceType);
            Assert.AreEqual(DEVICE_TYPE.MOTOR_DEVICE_UNKNOWN, Brick.MotorDevice(1).DeviceType);
            Assert.AreEqual(DEVICE_TYPE.MOTOR_DEVICE_UNKNOWN, Brick.MotorDevice(2).DeviceType);
            Assert.AreEqual("PORT_A", Brick.MotorDevice(0).Port);
            Assert.AreEqual("PORT_B", Brick.MotorDevice(1).Port);
            Assert.AreEqual("PORT_C", Brick.MotorDevice(2).Port);
            Assert.AreEqual("Unknown", Brick.MotorDevice(0).Device);
            Assert.AreEqual("Unknown", Brick.MotorDevice(1).Device);
            Assert.AreEqual("Unknown", Brick.MotorDevice(2).Device);
            Assert.IsFalse(Brick.MotorDevice(0).IsConnected);
            Assert.IsFalse(Brick.MotorDevice(1).IsConnected);
            Assert.IsFalse(Brick.MotorDevice(2).IsConnected);
        }
Esempio n. 6
0
        public void BrickUpdater_0E_00_Update_Test_002()
        {
            var Command = new Command_0E_00();

            Command.ResData    = new byte[8];
            Command.ResData[4] = 0x04;
            Command.ResData[5] = 0x05;
            Command.ResData[6] = 0x06;
            Command.ResData[7] = 0xFF;

            var Updater = new BrickUpdater_0E_00();
            var Brick   = Ev3Brick.GetInstance();

            Updater.Update(Command, Brick);

            Assert.AreEqual(Ev3Device.INPORT.INPORT_1, Brick.SensorDevice(0).ConnectedPort);
            Assert.AreEqual(Ev3Device.INPORT.INPORT_2, Brick.SensorDevice(1).ConnectedPort);
            Assert.AreEqual(Ev3Device.INPORT.INPORT_3, Brick.SensorDevice(2).ConnectedPort);
            Assert.AreEqual(Ev3Device.INPORT.INPORT_4, Brick.SensorDevice(3).ConnectedPort);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_COLOR,
                            Brick.SensorDevice(0).DeviceType);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_HT_NXT_ACCEL,
                            Brick.SensorDevice(1).DeviceType);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_NXT_TEMP,
                            Brick.SensorDevice(2).DeviceType);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_UNKNOWN,
                            Brick.SensorDevice(3).DeviceType);
            Assert.IsTrue(Brick.SensorDevice(0).IsConnected);
            Assert.IsTrue(Brick.SensorDevice(1).IsConnected);
            Assert.IsTrue(Brick.SensorDevice(2).IsConnected);
            Assert.IsFalse(Brick.SensorDevice(3).IsConnected);
        }
        public void BrickUpdater_50_00_Update_Test_005()
        {
            var Command = new Command_50_00();

            Command.ResData     = new byte[11];
            Command.ResData[4]  = 0x02;
            Command.ResData[5]  = 0x00;
            Command.ResData[6]  = 0x00;
            Command.ResData[7]  = 0x00;
            Command.ResData[8]  = 0x01;
            Command.ResData[9]  = 0xFF;
            Command.ResData[10] = 0x7F;

            var Updater = new BrickUpdater_50_00();
            var Brick   = Ev3Brick.GetInstance();

            Updater.Update(Command, Brick);

            Assert.IsTrue(Brick.SensorDevice(0).IsConnected);
            Assert.AreEqual((Ev3SensorDevice.INPORT) 0, Brick.SensorDevice(0).ConnectedPort);
            Assert.AreEqual(0x0000, Brick.SensorDevice(0).Value1);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_GYRO,
                            Brick.SensorDevice(0).DeviceType);
            Assert.AreEqual((Ev3SensorDevice.INPORT) 1, Brick.SensorDevice(1).ConnectedPort);
            Assert.AreEqual(0x7FFF, Brick.SensorDevice(1).Value1);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_GYRO,
                            Brick.SensorDevice(1).DeviceType);
        }
        public void EV3Brick_SensorDevice_Test_004()
        {
            var Brick        = Ev3Brick.GetInstance();
            var SensorDevice = Brick.SensorDevice(4);

            Assert.IsNull(SensorDevice);
        }
Esempio n. 9
0
        public void BrickDataUpdater_UpdateMotorViewModel_Test_003()
        {
            var Updater     = new BrickDataUpdater();
            var ViewModel   = new Ev3ControllerMainViewModel();
            var MotorDevice = new Ev3MotorDevice();
            var Brick       = Ev3Brick.GetInstance();

            for (int index = 0; index < 4; index++)
            {
                ViewModel.MotorViewModelArray[index] = new Ev3MotorDeviceViewModel();
            }
            MotorDevice.ConnectedPort = Ev3Device.OUTPORT.OUTPORT_C;
            MotorDevice.DeviceType    = Ev3MotorDevice.DEVICE_TYPE.MOTOR_DEVICE_LARGE_MOTOR;
            MotorDevice.Power         = 12;
            Brick.MotorDeviceArray[2] = MotorDevice;
            Updater.UpdateMotorViewModel(ViewModel);

            Assert.IsFalse(ViewModel.MotorViewModelArray[0].IsConnected);
            Assert.IsFalse(ViewModel.MotorViewModelArray[1].IsConnected);
            Assert.IsTrue(ViewModel.MotorViewModelArray[2].IsConnected);
            Assert.AreEqual("PORT_C", ViewModel.MotorViewModelArray[2].PortName);
            Assert.AreEqual("LARGE MOTOR", ViewModel.MotorViewModelArray[2].DeviceName);
            Assert.AreEqual(12, ViewModel.MotorViewModelArray[2].CurrentOutput);
            Assert.AreEqual("%", ViewModel.MotorViewModelArray[2].CurrentOutputUnit);
            Assert.IsFalse(ViewModel.MotorViewModelArray[3].IsConnected);
        }
        public void BrickUpdater_20_00_Update_Test_007()
        {
            var Command = new Command_20_00();

            Command.ResData     = new byte[11];
            Command.ResData[4]  = 0x02;
            Command.ResData[5]  = 0x00;
            Command.ResData[6]  = 0x55;
            Command.ResData[7]  = 0xAA;
            Command.ResData[8]  = 0x03;
            Command.ResData[9]  = 0x55;
            Command.ResData[10] = 0x66;

            var Updater = new BrickUpdater_20_00();
            var Brick   = Ev3Brick.GetInstance();

            Updater.Update(Command, Brick);

            Assert.IsTrue(Brick.SensorDevice(0).IsConnected);
            Assert.AreEqual((Ev3Device.INPORT) 0x00, (Brick.SensorDevice(0).ConnectedPort));
            Assert.AreEqual(0xAA55, (Brick.SensorDevice(0).Value1));
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_ULTRASONIC,
                            Brick.SensorDevice(0).DeviceType);
            Assert.IsFalse(Brick.SensorDevice(1).IsConnected);
            Assert.IsFalse(Brick.SensorDevice(2).IsConnected);
            Assert.IsTrue(Brick.SensorDevice(3).IsConnected);
            Assert.AreEqual((Ev3Device.INPORT) 0x03, (Brick.SensorDevice(3).ConnectedPort));
            Assert.AreEqual(0x6655, (Brick.SensorDevice(3).Value1));
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_ULTRASONIC,
                            Brick.SensorDevice(3).DeviceType);
        }
Esempio n. 11
0
        public void ConnectStateChangedCallback(object sender, EventArgs e)
        {
            Console.WriteLine("Connection State chagned.");

            if (e is ConnectStateChangedEventArgs)
            {
                var Arg = e as ConnectStateChangedEventArgs;
                if (Arg.NewValue.State.Equals(ConnectionState.Connected))
                {
                    Ev3Brick.ResetInstance();
                    this.UpdateTimer.Interval = 50;
                    this.UpdateTimer.Elapsed += UpdateTimerEvent;
                    this.UpdateTimer.Start();
                }
                else if (Arg.NewValue.State.Equals(ConnectionState.Disconnected))
                {
                    try
                    {
                        this.UpdateTimer.Stop();
                        this.UpdateTimer.Elapsed -= this.UpdateTimerEvent;
                        this.UpdateTimer.Elapsed += this.ResetTimerEvent;
                        this.UpdateTimer.Interval = 100;
                        this.UpdateTimer.Start();
                        Ev3Brick.ResetInstance();
                    }
                    catch (NullReferenceException ex)
                    {
                        Console.WriteLine(ex.Message);
                        Console.WriteLine("Timer has not been started.");
                    }
                }
            }
        }
        public void BrickUpdater_20_01_Update_Test_018()
        {
            var Command = new Command_20_01();

            Command.ResData    = new byte[9];
            Command.ResData[4] = 0x02;
            Command.ResData[5] = 0x02;
            Command.ResData[6] = 0x00;
            Command.ResData[7] = 0x03;
            Command.ResData[8] = 0x01;

            var Updater = new BrickUpdater_20_01();
            var Brick   = Ev3Brick.GetInstance();

            Updater.Update(Command, Brick);

            Assert.IsFalse(Brick.SensorDevice(0).IsConnected);
            Assert.IsFalse(Brick.SensorDevice(1).IsConnected);
            Assert.IsTrue(Brick.SensorDevice(2).IsConnected);
            Assert.AreEqual((Ev3Device.INPORT) 2, Brick.SensorDevice(2).ConnectedPort);
            Assert.AreEqual(0x00, Brick.SensorDevice(2).Value2);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_ULTRASONIC,
                            Brick.SensorDevice(2).DeviceType);
            Assert.IsTrue(Brick.SensorDevice(3).IsConnected);
            Assert.AreEqual((Ev3Device.INPORT) 3, Brick.SensorDevice(3).ConnectedPort);
            Assert.AreEqual(0x01, Brick.SensorDevice(3).Value2);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_ULTRASONIC,
                            Brick.SensorDevice(2).DeviceType);
        }
        public void Ev3PortViewModel_DataSendAndReceivedFinishedCallback_Test_007()
        {
            var Command = new Command_10_00();

            Command.ResData     = new byte[12];
            Command.ResData[0]  = Command.Res;
            Command.ResData[1]  = Command.SubRes;
            Command.ResData[2]  = 0x00;
            Command.ResData[3]  = 0x08;
            Command.ResData[4]  = 0x01;
            Command.ResData[5]  = 0x10;
            Command.ResData[6]  = 0x00;
            Command.ResData[7]  = 0x03;
            Command.ResData[8]  = 0x00;
            Command.ResData[9]  = 0x01;
            Command.ResData[10] = 0x01;
            Command.ResData[11] = 0x20;

            var Args = new NotifySendReceiveDataEventArgs(Command);

            this.TestVM.DataSendAndReceivedFinishedCallback(this, Args);

            Assert.IsTrue(Ev3Brick.GetInstance().MotorDevice(0).IsConnected);
            Assert.AreEqual(0x10, Ev3Brick.GetInstance().MotorDevice(0).Power);
            Assert.IsFalse(Ev3Brick.GetInstance().MotorDevice(1).IsConnected);
            Assert.IsFalse(Ev3Brick.GetInstance().MotorDevice(2).IsConnected);
            Assert.IsTrue(Ev3Brick.GetInstance().MotorDevice(3).IsConnected);
            Assert.AreEqual(0x20, Ev3Brick.GetInstance().MotorDevice(3).Power);
        }
        public void Ev3PortViewModel_DataSendAndReceivedFinishedCallback_Test_006()
        {
            var Command = new Command_0E_00();

            Command.ResData    = new byte[8];
            Command.ResData[0] = Command.Res;
            Command.ResData[1] = Command.SubRes;
            Command.ResData[2] = 0x00;
            Command.ResData[3] = 0x04;
            Command.ResData[4] = 0x00;
            Command.ResData[5] = 0x01;
            Command.ResData[6] = 0x02;
            Command.ResData[7] = 0x03;

            var Args = new NotifySendReceiveDataEventArgs(Command);

            this.TestVM.DataSendAndReceivedFinishedCallback(this, Args);

            Assert.AreEqual((Ev3SensorDevice.DEVICE_TYPE) 0x00,
                            Ev3Brick.GetInstance().SensorDevice(0).DeviceType);
            Assert.AreEqual((Ev3SensorDevice.DEVICE_TYPE) 0x01,
                            Ev3Brick.GetInstance().SensorDevice(1).DeviceType);
            Assert.AreEqual((Ev3SensorDevice.DEVICE_TYPE) 0x02,
                            Ev3Brick.GetInstance().SensorDevice(2).DeviceType);
            Assert.AreEqual((Ev3SensorDevice.DEVICE_TYPE) 0x03,
                            Ev3Brick.GetInstance().SensorDevice(3).DeviceType);
        }
Esempio n. 15
0
        public void BrickUpdater_50_00_Update_Test_005()
        {
            var Command = new Command_50_01();

            Command.ResData     = new byte[11];
            Command.ResData[4]  = 0x02;
            Command.ResData[5]  = 0x03;
            Command.ResData[6]  = 0x00;
            Command.ResData[7]  = 0x80;
            Command.ResData[8]  = 0x02;
            Command.ResData[9]  = 0xAA;
            Command.ResData[10] = 0x55;

            var Updater = new BrickUpdater_50_01();
            var Brick   = Ev3Brick.GetInstance();

            Updater.Update(Command, Brick);

            Assert.IsTrue(Brick.SensorDevice(3).IsConnected);
            Assert.AreEqual((Ev3SensorDevice.INPORT) 3, Brick.SensorDevice(3).ConnectedPort);
            Assert.AreEqual(-32768, Brick.SensorDevice(3).Value2);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_GYRO,
                            Brick.SensorDevice(3).DeviceType);
            Assert.IsTrue(Brick.SensorDevice(2).IsConnected);
            Assert.AreEqual((Ev3SensorDevice.INPORT) 2, Brick.SensorDevice(2).ConnectedPort);
            Assert.AreEqual(0x55AA, Brick.SensorDevice(2).Value2);
            Assert.AreEqual(Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_GYRO,
                            Brick.SensorDevice(2).DeviceType);
        }
        public void EV3Brick_MotorDevice_Test_004()
        {
            var Brick  = Ev3Brick.GetInstance();
            var Device = Brick.MotorDevice(4);

            Assert.IsNull(Device);
        }
        public void EV3Brick_MotorDevice_Test_002()
        {
            var Brick  = Ev3Brick.GetInstance();
            var Device = Brick.MotorDevice(3);

            Assert.AreEqual(0, Device.Power);
            Assert.AreEqual(0, Device.Counts);
        }
        public void EV3Brick_SensorDevice_Test_002()
        {
            var Brick        = Ev3Brick.GetInstance();
            var SensorDevice = Brick.SensorDevice(3);

            Assert.AreEqual(0, SensorDevice.Value1);
            Assert.AreEqual(0, SensorDevice.Value2);
            Assert.AreEqual(0, SensorDevice.Value3);
        }
 /// <summary>
 /// Update command param, steering output value.
 /// </summary>
 /// <param name="CommandParam">CommandParam object contains Steering value to set.</param>
 public override void UpdateCmdData(ICommandParam CommandParam = null)
 {
     if (null == CommandParam)
     {
         var Brick = Ev3Brick.GetInstance();
         int Steer = Brick.Output.Steering;
         CommandParam = new CommandParam_16_00(Steer);
     }
     this.SetUp(CommandParam);
 }
Esempio n. 20
0
 /// <summary>
 /// Update command param, motor output.
 /// </summary>
 /// <param name="CommandParam"></param>
 public override void UpdateCmdData(ICommandParam CommandParam = null)
 {
     if (null == CommandParam)
     {
         var  Brick     = Ev3Brick.GetInstance();
         byte Output    = Convert.ToByte(Math.Abs(Brick.Output.MotorOutput));
         byte Direction = (byte)(Brick.Output.MotorOutput > 0 ? 1 : 0);
         CommandParam = new CommandParam_12_00(Output, Direction);
     }
     this.SetUp(CommandParam);
 }
Esempio n. 21
0
        public async Task <string> ConnectBrick()
        {
            try
            {
                await Ev3Brick.ConnectAsync();

                return("Brick Connected");
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public void BrickUpdater_06_00_Update_Test_005()
        {
            var Command = new Command_06_00();

            Command.ResData    = new byte[5];
            Command.ResData[4] = 0x04;
            var Brick   = Ev3Brick.GetInstance();
            var Updater = new BrickUpdater_06_00();

            Updater.Update(Command, Brick);

            Assert.AreEqual(SafeState.SAFE_STATE.SAFE_STATE_UNKNOWN, Brick.State.State);
            Assert.AreEqual("ERROR", Brick.State.StateName);
        }
Esempio n. 23
0
        public void BrickUpdater_F0_00_Update_Test_005()
        {
            var Command = new Command_F0_00();

            Command.ResData     = new byte[16];
            Command.ResData[0]  = 0xF1;
            Command.ResData[1]  = 0x00;
            Command.ResData[2]  = 0x00;
            Command.ResData[3]  = 0x0C;
            Command.ResData[4]  = 0x50;
            Command.ResData[5]  = 0x04;
            Command.ResData[6]  = 0x02;
            Command.ResData[7]  = 0x03;
            Command.ResData[8]  = 0x04;
            Command.ResData[9]  = 0x05;
            Command.ResData[10] = 0x00;
            Command.ResData[11] = 0x00;
            Command.ResData[12] = 0x00;
            Command.ResData[13] = 0x00;
            Command.ResData[14] = 0x00;
            Command.ResData[15] = 0x00;

            var Brick   = Ev3Brick.GetInstance();
            var Updater = new BrickUpdater_F0_00();

            Updater.Update(Command, Brick);
            ushort ExpectedAngle = 0x0302;
            ushort ExpectedApeed = 0x0504;

            Assert.AreEqual(
                Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_GYRO,
                Brick.SensorDevice(0).DeviceType);
            Assert.IsTrue(Brick.SensorDevice(0).IsConnected);
            Assert.AreEqual((int)((short)ExpectedAngle), Brick.SensorDevice(0).Value1);
            Assert.AreEqual((int)((short)ExpectedApeed), Brick.SensorDevice(0).Value2);
            Assert.AreEqual(0, Brick.SensorDevice(0).Value3);
            Assert.AreEqual(
                Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_NO_DEVICE,
                Brick.SensorDevice(1).DeviceType);
            Assert.IsFalse(Brick.SensorDevice(1).IsConnected);
            Assert.AreEqual(
                Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_NO_DEVICE,
                Brick.SensorDevice(2).DeviceType);
            Assert.IsFalse(Brick.SensorDevice(2).IsConnected);
            Assert.AreEqual(
                Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_NO_DEVICE,
                Brick.SensorDevice(3).DeviceType);
            Assert.IsFalse(Brick.SensorDevice(3).IsConnected);
        }
Esempio n. 24
0
        public void BrickUpdater_F0_00_Update_Test_003()
        {
            var Command = new Command_F0_00();

            Command.ResData     = new byte[15];
            Command.ResData[0]  = 0xF1;
            Command.ResData[1]  = 0x00;
            Command.ResData[2]  = 0x00;
            Command.ResData[3]  = 0x0B;
            Command.ResData[4]  = 0x30;
            Command.ResData[5]  = 0x03;
            Command.ResData[6]  = 0xAA;
            Command.ResData[7]  = 0x07;
            Command.ResData[8]  = 0x55;
            Command.ResData[9]  = 0x00;
            Command.ResData[10] = 0x00;
            Command.ResData[11] = 0x00;
            Command.ResData[12] = 0x00;
            Command.ResData[13] = 0x00;
            Command.ResData[14] = 0x00;

            var Brick   = Ev3Brick.GetInstance();
            var Updater = new BrickUpdater_F0_00();

            Updater.Update(Command, Brick);
            ushort ExpectedAmbient = 0xAA;
            ushort ExpectedReflect = 0x55;

            Assert.AreEqual(
                Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_COLOR,
                Brick.SensorDevice(0).DeviceType);
            Assert.IsTrue(Brick.SensorDevice(0).IsConnected);
            Assert.AreEqual((int)((short)(ExpectedAmbient)), Brick.SensorDevice(0).Value1);
            Assert.AreEqual(7, Brick.SensorDevice(0).Value2);
            Assert.AreEqual((int)((short)(ExpectedReflect)), Brick.SensorDevice(0).Value3);
            Assert.AreEqual(
                Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_NO_DEVICE,
                Brick.SensorDevice(1).DeviceType);
            Assert.IsFalse(Brick.SensorDevice(1).IsConnected);
            Assert.AreEqual(
                Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_NO_DEVICE,
                Brick.SensorDevice(2).DeviceType);
            Assert.IsFalse(Brick.SensorDevice(2).IsConnected);
            Assert.AreEqual(
                Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_NO_DEVICE,
                Brick.SensorDevice(3).DeviceType);
            Assert.IsFalse(Brick.SensorDevice(3).IsConnected);
        }
        public void BrickUpdater_02_00_Update_Test_002()
        {
            var Command = new Command_04_00();

            Command.ResData    = new byte[6];
            Command.ResData[4] = 0xAA;
            Command.ResData[5] = 0x55;

            var Updater = new BrickUpdater_02_00();
            var Brick   = Ev3Brick.GetInstance();

            Updater.Update(Command, Brick);

            Assert.AreEqual(0x00, Brick.Version.Major);
            Assert.AreEqual(0x00, Brick.Version.Minor);
        }
        public void EV3Brick_MotorDevice_Test_001()
        {
            var Brick  = Ev3Brick.GetInstance();
            var Device = Brick.MotorDevice(0);

            Assert.AreEqual(0, Device.Power);
            Assert.AreEqual(0, Device.Counts);

            Device.Power  = 1;
            Device.Counts = 2;

            var SensorDevice2 = Brick.SensorDevice(0);

            Assert.AreEqual(1, Device.Power);
            Assert.AreEqual(2, Device.Counts);
        }
Esempio n. 27
0
        public void BrickDataUpdater_UpdateViewModel_Test_001()
        {
            var Updater      = new BrickDataUpdater();
            var ViewModel    = new Ev3ControllerMainViewModel();
            var MotorDevice  = new Ev3MotorDevice();
            var SensorDevice = new Ev3SensorDevice();
            var Brick        = Ev3Brick.GetInstance();

            for (int index = 0; index < 4; index++)
            {
                ViewModel.MotorViewModelArray[index]  = new Ev3MotorDeviceViewModel();
                ViewModel.SensorViewModelArray[index] = new Ev3SensorDeviceViewModel();
            }
            MotorDevice.ConnectedPort  = Ev3Device.OUTPORT.OUTPORT_A;
            MotorDevice.DeviceType     = Ev3MotorDevice.DEVICE_TYPE.MOTOR_DEVICE_LARGE_MOTOR;
            MotorDevice.Power          = 10;
            Brick.MotorDeviceArray[0]  = MotorDevice;
            SensorDevice.ConnectedPort = Ev3Device.INPORT.INPORT_1;
            SensorDevice.DeviceType    = Ev3SensorDevice.DEVICE_TYPE.SENSOR_DEVICE_COLOR;
            SensorDevice.Value1        = 10;
            SensorDevice.Value2        = 11;
            SensorDevice.Value3        = 12;
            Brick.SensorDeviceArray[0] = SensorDevice;
            Updater.UpdateViewModel(ViewModel);

            Assert.IsTrue(ViewModel.MotorViewModelArray[0].IsConnected);
            Assert.AreEqual("PORT_A", ViewModel.MotorViewModelArray[0].PortName);
            Assert.AreEqual("LARGE MOTOR", ViewModel.MotorViewModelArray[0].DeviceName);
            Assert.AreEqual(10, ViewModel.MotorViewModelArray[0].CurrentOutput);
            Assert.AreEqual("%", ViewModel.MotorViewModelArray[0].CurrentOutputUnit);
            Assert.IsFalse(ViewModel.MotorViewModelArray[1].IsConnected);
            Assert.IsFalse(ViewModel.MotorViewModelArray[2].IsConnected);
            Assert.IsFalse(ViewModel.MotorViewModelArray[3].IsConnected);
            Assert.IsTrue(ViewModel.SensorViewModelArray[0].IsConnected);
            Assert.AreEqual("PORT_1", ViewModel.SensorViewModelArray[0].PortName);
            Assert.AreEqual("COLOR", ViewModel.SensorViewModelArray[0].DeviceName);
            Assert.AreEqual(10, ViewModel.SensorViewModelArray[0].SensorValue1);
            Assert.AreEqual(11, ViewModel.SensorViewModelArray[0].SensorValue2);
            Assert.AreEqual(12, ViewModel.SensorViewModelArray[0].SensorValue3);
            Assert.AreEqual("", ViewModel.SensorViewModelArray[0].SensorValue1Unit);
            Assert.AreEqual("", ViewModel.SensorViewModelArray[0].SensorValue2Unit);
            Assert.AreEqual("", ViewModel.SensorViewModelArray[0].SensorValue3Unit);
            Assert.IsFalse(ViewModel.SensorViewModelArray[1].IsConnected);
            Assert.IsFalse(ViewModel.SensorViewModelArray[2].IsConnected);
            Assert.IsFalse(ViewModel.SensorViewModelArray[3].IsConnected);
        }
        public void Ev3PortViewModel_DataSendAndReceivedFinishedCallback_Test_015()
        {
            var Command = new Command_A0_00();

            Command.ResData    = new byte[5];
            Command.ResData[0] = Command.Res;
            Command.ResData[1] = Command.SubRes;
            Command.ResData[2] = 0x00;
            Command.ResData[3] = 0x01;
            Command.ResData[4] = 0x03;

            var Args = new NotifySendReceiveDataEventArgs(Command);

            this.TestVM.DataSendAndReceivedFinishedCallback(this, Args);

            Assert.AreEqual((SafeState.SAFE_STATE) 0x03, Ev3Brick.GetInstance().State.State);
        }
        public void BrickUpdater_04_00_Update_Test_004()
        {
            var Command = new Command_04_00();

            Command.ResData    = new byte[8];
            Command.ResData[4] = 0xFF;
            Command.ResData[5] = 0x7F;
            Command.ResData[6] = 0x00;
            Command.ResData[7] = 0x00;
            var Brick   = Ev3Brick.GetInstance();
            var Updater = new BrickUpdater_04_00();

            Updater.Update(Command, Brick);

            Assert.AreEqual(32767, Brick.Battery.Voltage);
            Assert.AreEqual(0, Brick.Battery.Current);
        }
        public void BrickUpdater_04_00_Update_Test_001()
        {
            var Command = new Command_04_00();

            Command.ResData    = new byte[8];
            Command.ResData[4] = 0x01;
            Command.ResData[5] = 0x02;
            Command.ResData[6] = 0x03;
            Command.ResData[7] = 0x04;
            var Brick   = Ev3Brick.GetInstance();
            var Updater = new BrickUpdater_04_00();

            Updater.Update(Command, Brick);

            Assert.AreEqual(0x0201, Brick.Battery.Voltage);
            Assert.AreEqual(0x0403, Brick.Battery.Current);
        }