예제 #1
0
        public void CanGetMovementForLeftCoxaWithOffset()
        {
            ServoBase coxa = new ServoBase(10.4, 20, 5, 0, 0, Side.Left);
            MovmentComandAX12 movmentComandAX12 = coxa.GetMovement();

            List<byte> movmentInBytes = (List<byte>)movmentComandAX12.ToByte();
            Assert.AreEqual(5, movmentInBytes[0]); //ServoId
            Assert.AreEqual(0x1BB, BitConverter.ToInt16(movmentInBytes.ToArray(), 1));
            Assert.AreEqual(0x050, BitConverter.ToInt16(movmentInBytes.ToArray(), 3));
        }
예제 #2
0
        public void CanGetMovementFromLeftTibiaZeroOffset()
        {
            ServoBase tibia = new ServoBase(10.4, 0, 5, 0, 0, Side.Left);
            MovmentComandAX12 movmentComandAX12 = tibia.GetMovement();

            List<byte> movmentInBytes = (List<byte>) movmentComandAX12.ToByte();
            Assert.AreEqual(5, movmentInBytes[0]); //ServoId
            Assert.AreEqual(0x1ff, BitConverter.ToInt16(movmentInBytes.ToArray(), 1));
            Assert.AreEqual(0x050, BitConverter.ToInt16(movmentInBytes.ToArray(), 3));
        }
예제 #3
0
        public void SetUpLeftFrontTibia()
        {
            var lfTibia = new ServoBase(3.8, 60, 5, -90, 90, Side.Left);

            Assert.AreEqual(3.8, lfTibia.Length);
            Assert.AreEqual(60, lfTibia.Offset);
            Assert.AreEqual(5, lfTibia.ServoId);
            Assert.AreEqual(-90, lfTibia.MinAngle);
            Assert.AreEqual(90, lfTibia.MaxAngle);
            Assert.AreEqual(Side.Left, lfTibia.Side);
        }
예제 #4
0
        public void CanGetMovementForRightFemurWithOffset()
        {
            ServoBase servoBase = new ServoBase(10.4, 20, 5, 0, 0, Side.Right);
            MovmentComandAX12 movmentComandAX12 = servoBase.GetMovement();

            List<byte> movmentInBytes = (List<byte>)movmentComandAX12.ToByte();
            Assert.AreEqual(5, movmentInBytes[0]); //ServoId
            Assert.AreEqual(0x243, BitConverter.ToInt16(movmentInBytes.ToArray(), 1));
            Assert.AreEqual(0x050, BitConverter.ToInt16(movmentInBytes.ToArray(), 3));
        }
예제 #5
0
        public void SetUpLeftFrontFemur()
        {
            var lfFemur = new ServoBase(3.8, 60, 3, -90, 90, Side.Left);

            Assert.AreEqual(3.8, lfFemur.Length);
            Assert.AreEqual(60, lfFemur.Offset);
            Assert.AreEqual(3, lfFemur.ServoId);
            Assert.AreEqual(-90, lfFemur.MinAngle);
            Assert.AreEqual(90, lfFemur.MaxAngle);
            Assert.AreEqual(Side.Left, lfFemur.Side);
        }