Exemplo n.º 1
0
        public void WriteData()
        {
            manager.Start();
            Assert.AreEqual(FT_STATUS.FT_OK, manager.Status);
            Assert.IsTrue(manager.IsConnected);

            //Test values out of range
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => { manager.SetValue(-1, 0); });
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => { manager.SetValue(513, 0); });

            //test values in range
            manager.SetValue(0, 0);
            manager.SetValue(512, 0);

            //Test replace array of different size
            var badSizeArray = new byte[45];

            Assert.ThrowsException <ArgumentOutOfRangeException>(() => { manager.UpdateBuffer(badSizeArray); });
            Assert.ThrowsException <ArgumentNullException>(() => { manager.UpdateBuffer(null); });

            var goodSizeArray = new byte[513];

            manager.UpdateBuffer(goodSizeArray);

            manager.Stop();
            Assert.IsFalse(manager.IsConnected);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Handle new message received
        /// </summary>
        /// <param name="e"></param>
        protected override void OnMessage(MessageEventArgs e)
        {
            base.OnMessage(e);

            if (e.IsText)
            {
                Send("DWM does not support text messages");
            }

            if (e.IsBinary)
            {
                var data = e.RawData;

                if (data.Length != _ftdiManager.Options.BUFFER_SIZE)
                {
                    Send("DMX binary length does not match FTDI buffer size");
                }
                else
                {
                    _ftdiManager.UpdateBuffer(data);
                }
            }
        }