Exemplo n.º 1
0
        public void CorrectBitsEncode()
        {
            ushort zDataBits;

            System.IO.Ports.StopBits zStopBits;

            Assert.True(CharacterFramingCommand.StopBitsEncode(1, out zDataBits, out zStopBits));
            Assert.Equal(8, zDataBits);
            Assert.Equal(System.IO.Ports.StopBits.Two, zStopBits);

            Assert.True(CharacterFramingCommand.StopBitsEncode(2, out zDataBits, out zStopBits));
            Assert.Equal(8, zDataBits);
            Assert.Equal(System.IO.Ports.StopBits.One, zStopBits);

            Assert.True(CharacterFramingCommand.StopBitsEncode(3, out zDataBits, out zStopBits));
            Assert.Equal(8, zDataBits);
            Assert.Equal(System.IO.Ports.StopBits.One, zStopBits);

            Assert.True(CharacterFramingCommand.StopBitsEncode(4, out zDataBits, out zStopBits));
            Assert.Equal(7, zDataBits);
            Assert.Equal(System.IO.Ports.StopBits.Two, zStopBits);

            Assert.True(CharacterFramingCommand.StopBitsEncode(5, out zDataBits, out zStopBits));
            Assert.Equal(7, zDataBits);
            Assert.Equal(System.IO.Ports.StopBits.One, zStopBits);

            Assert.True(CharacterFramingCommand.StopBitsEncode(6, out zDataBits, out zStopBits));
            Assert.Equal(7, zDataBits);
            Assert.Equal(System.IO.Ports.StopBits.One, zStopBits);

            Assert.False(CharacterFramingCommand.StopBitsEncode(7, out zDataBits, out zStopBits));
        }
Exemplo n.º 2
0
        public override bool Parse(List <string> aAnswer)
        {
            if (base.Parse(aAnswer))
            {
                string[] zSplit = aAnswer[0].Split(new Char[] { ':', ',' });
                if (zSplit.Count() >= 5)
                {
                    try
                    {
                        ushort zBits   = ushort.Parse(TrimValue(zSplit[2]));
                        ushort zParity = ushort.Parse(TrimValue(zSplit[3]));

                        ushort   zUartDataBits = 0;
                        StopBits zUartStopBits = StopBits.One;

                        if (!CharacterFramingCommand.StopBitsEncode(zBits, out zUartDataBits, out zUartStopBits))
                        {
                            return(false);
                        }

                        UARTBaudRate          = UInt32.Parse(TrimValue(zSplit[1]));
                        UARTDataBits          = zUartDataBits;
                        UARTParity            = CharacterFramingCommand.ParityEncode(zParity);
                        UARTStopBits          = zUartStopBits;
                        UARTReadTimerInterval = UInt16.Parse(TrimValue(zSplit[4]));

                        return(true);
                    }
                    catch (Exception zException)
                    {
                        _logger.WarnException("Handled exception", zException);
                        return(false);
                    }
                }
                else
                {
                    _logger.Debug("InCorrect Params Count: {0}", zSplit.Count());
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }