public void ParseLimitOverrunResponseInvalid()
        {
            var handler          = new FeedbackHandler();
            var limitOverrunType = handler.GetLimitOverrunType(0x4C, 0x00, 0x00);

            Assert.AreEqual(LimitOverrunType.Unknown, limitOverrunType);
        }
        public void ReceiveInvalidPackageWrongFirstByte()
        {
            var handler = new FeedbackHandler();
            var items   = handler.HandleResponse(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });

            Assert.AreEqual(0, items.Count);
        }
        public void ParseLimitOverrunResponseTilt()
        {
            var handler          = new FeedbackHandler();
            var limitOverrunType = handler.GetLimitOverrunType(0x4C, 0x54, 0x54);

            Assert.AreEqual(LimitOverrunType.Tilt, limitOverrunType);
        }
        public void ParseLimitOverrunResponsePan()
        {
            var handler          = new FeedbackHandler();
            var limitOverrunType = handler.GetLimitOverrunType(0x4C, 0x50, 0x50);

            Assert.AreEqual(LimitOverrunType.Pan, limitOverrunType);
        }
        public void ReceivePanLimitMin()
        {
            var handler = new FeedbackHandler();
            var items   = handler.HandleResponse(new byte[] { 0xFF, 0x01, 0xAD, 0x0A, 0x23, 0x9B, 0x76 });

            Assert.AreEqual(1, items.Count);
            Assert.AreEqual(ResponseType.TiltLimit, items[0].ResponseType);
            Assert.AreEqual(LimitType.Max, ((TiltLimitResponse)items[0]).Type);
            Assert.AreEqual(91.15, ((TiltLimitResponse)items[0]).Limit);
        }
        public void ReceiveTiltLimitMinPosition()
        {
            var handler = new FeedbackHandler();
            var items   = handler.HandleResponse(new byte[] { 0xFF, 0x01, 0xAC, 0x0B, 0x23, 0xA2, 0x7D });

            Assert.AreEqual(1, items.Count);
            Assert.AreEqual(ResponseType.TiltLimit, items[0].ResponseType);
            Assert.AreEqual(LimitType.Min, ((TiltLimitResponse)items[0]).Type);
            Assert.AreEqual(-91.22, ((TiltLimitResponse)items[0]).Limit);
        }
        public void ReceivePanLimitMaxPosition()
        {
            var handler = new FeedbackHandler();
            var items   = handler.HandleResponse(new byte[] { 0xFF, 0x01, 0xAB, 0x0A, 0x46, 0x31, 0x2D });

            Assert.AreEqual(1, items.Count);
            Assert.AreEqual(ResponseType.PanLimit, items[0].ResponseType);
            Assert.AreEqual(LimitType.Max, ((PanLimitResponse)items[0]).Type);
            Assert.AreEqual(179.69, ((PanLimitResponse)items[0]).Limit);
        }
        public void ReceivePanTiltPosition()
        {
            var handler = new FeedbackHandler();
            var items   = handler.HandleResponse(new byte[] { 0xFF, 0x01, 0xCA, 0x0A, 0x1B, 0x5A, 0x4A, 0xFF, 0x01, 0xCB, 0x0B, 0x01, 0x0F, 0xE7 });

            Assert.AreEqual(2, items.Count);
            Assert.AreEqual(ResponseType.TiltInfo, items[0].ResponseType);
            Assert.AreEqual(70.02, ((TiltInfoResponse)items[0]).Tilt);
            Assert.AreEqual(ResponseType.PanInfo, items[1].ResponseType);
            Assert.AreEqual(-2.71, ((PanInfoResponse)items[1]).Pan);
        }
        public void ReceivePanTiltPositionTwoPartsWithTheFirstByteOfTheSecondPackageOnTheFirstPackage()
        {
            var handler = new FeedbackHandler();
            var items   = handler.HandleResponse(new byte[] { 0xFF, 0x01, 0xCA, 0x0A, 0x1B, 0x5A, 0x4A, 0xFF });

            Assert.AreEqual(1, items.Count);
            Assert.AreEqual(ResponseType.TiltInfo, items[0].ResponseType);
            Assert.AreEqual(70.02, ((TiltInfoResponse)items[0]).Tilt);

            items = handler.HandleResponse(new byte[] { 0x01, 0xCB, 0x0B, 0x01, 0x0F, 0xE7 });

            Assert.AreEqual(ResponseType.PanInfo, items[0].ResponseType);
            Assert.AreEqual(-2.71, ((PanInfoResponse)items[0]).Pan);
        }
        public void ReceiveFragmentedPackage()
        {
            var handler = new FeedbackHandler();
            var items   = handler.HandleResponse(new byte[] { 0xFF, 0x01, 0xCA });

            Assert.AreEqual(0, items.Count);
            items = handler.HandleResponse(new byte[] { 0x0A, 0x1B });
            Assert.AreEqual(0, items.Count);
            items = handler.HandleResponse(new byte[] { 0x5A });
            Assert.AreEqual(0, items.Count);
            items = handler.HandleResponse(new byte[] { 0x4A });

            Assert.AreEqual(ResponseType.TiltInfo, items[0].ResponseType);
            Assert.AreEqual(70.02, ((TiltInfoResponse)items[0]).Tilt);
        }
        public CommunicationHistoryControl()
        {
            this.InitializeComponent();

            this._feedbackHandler = new FeedbackHandler();
            this._receivedData    = new List <DataPackage>();
            this._sendData        = new List <DataPackage>();

            this._bindingSourceReceive.DataSource        = this._receivedData;
            this.dataGridViewReceive.AutoGenerateColumns = false;
            this.dataGridViewReceive.DataSource          = this._bindingSourceReceive;

            this._bindingSourceSend.DataSource        = this._sendData;
            this.dataGridViewSend.AutoGenerateColumns = false;
            this.dataGridViewSend.DataSource          = this._bindingSourceSend;
        }
Exemplo n.º 12
0
        public EneoPanTiltControl(ICommunication communication, bool debug = false)
        {
            this._communication              = communication;
            this._communication.ReceiveData += PackageReceived;

            this._debug = debug;

            this._positionConverter = new PositionConverter();

            this._position = new PanTiltPosition(0, 0);
            this._limits   = new PanTiltLimit();
            this._handler  = new FeedbackHandler();

            this._resetEvent    = new ManualResetEvent(false);
            this._stopHeartbeat = true;

            this.InitializeSpeedTranslationTable();
        }
Exemplo n.º 13
0
 public EneoFeedbackTranslator()
 {
     this._feedbackHandler = new FeedbackHandler();
 }
        private void UC_DbObjectsNavigator_Load(object sender, EventArgs e)
        {
            this.InitControls();

            this.tvDbObjects.OnFeedback += this.Feedback;
        }