コード例 #1
0
        private static void assertCorrectImage2binary(String path, String expected)
        {
            RSSExpandedReader rssExpandedReader = new RSSExpandedReader();

            if (!File.Exists(path))
            {
                // Support running from project root too
                path = Path.Combine("..\\..\\..\\Source", path);
            }

#if !SILVERLIGHT
            var image = new Bitmap(Image.FromFile(path));
#else
            var image = new WriteableBitmap(0, 0);
            image.SetSource(File.OpenRead(path));
#endif
            BinaryBitmap binaryMap = new BinaryBitmap(new GlobalHistogramBinarizer(new BitmapLuminanceSource(image)));
            int          rowNumber = binaryMap.Height / 2;
            BitArray     row       = binaryMap.getBlackRow(rowNumber, null);

            Assert.IsTrue(rssExpandedReader.decodeRow2pairs(rowNumber, row));

            BitArray binary = BitArrayBuilder.buildBitArray(rssExpandedReader.Pairs);
            Assert.AreEqual(expected, binary.ToString());
        }
コード例 #2
0
ファイル: ControlByte2.cs プロジェクト: ChrisTTian667/KNX
        /// <summary>
        /// Toes the byte.
        /// </summary>
        /// <returns></returns>
        public byte ToByte()
        {
            BitArray bitArray = new BitArrayBuilder()
                                .Add(!DestinationAddressIsKnxDeviceAddress)
                                .Add(RoutingCounter, 3)
                                .Add(0, 4) // add 4 empty bits ( don't know, what they mean, but we should find out some day... )
                                .ToBitArray();

            return(bitArray.ToByteArray()[0]);
        }
コード例 #3
0
        private static void assertCorrectImage2binary(String imageFileName, String expected)
        {
            var rssExpandedReader = new RSSExpandedReader();

            var binaryMap = TestCaseUtil.getBinaryBitmap("test/data/blackbox/rssexpanded-1", imageFileName);
            var rowNumber = binaryMap.Height / 2;
            var row       = binaryMap.getBlackRow(rowNumber, null);

            Assert.IsTrue(rssExpandedReader.decodeRow2pairs(rowNumber, row));

            var binary = BitArrayBuilder.buildBitArray(rssExpandedReader.Pairs);

            Assert.AreEqual(expected, binary.ToString());
        }
コード例 #4
0
ファイル: ControlByte1.cs プロジェクト: ChrisTTian667/KNX
        /// <summary>
        /// Serializes this instance into a single byte.
        /// </summary>
        /// <returns><c>byte</c></returns>
        public byte ToByte()
        {
            BitArray bitArray = new BitArrayBuilder()
                                .Add(IsStandardFrame) // set standard frame (see calimero... don't know what it mean!)
                                .Add(false)
                                .Add(!IsRepetition)   // If the message is send the first time, this flag needs to be false; otherwise true.
                                .Add(true)
                                .Add((byte)Priority, 2)
                                .Add(false)
                                .Add(IsPositivConfirmation)
                                .ToBitArray();

            return(bitArray.ToByteArray()[0]);
        }
コード例 #5
0
        private static BitArray buildBitArray(int[][] pairValues)
        {
            List <ExpandedPair> pairs = new List <ExpandedPair>();

            for (int i = 0; i < pairValues.Length; ++i)
            {
                int[] pair = pairValues[i];

                DataCharacter leftChar;
                if (i == 0)
                {
                    leftChar = null;
                }
                else
                {
                    leftChar = new DataCharacter(pair[0], 0);
                }

                DataCharacter rightChar;
                if (i == 0)
                {
                    rightChar = new DataCharacter(pair[0], 0);
                }
                else if (pair.Length == 2)
                {
                    rightChar = new DataCharacter(pair[1], 0);
                }
                else
                {
                    rightChar = null;
                }

                ExpandedPair expandedPair = new ExpandedPair(leftChar, rightChar, null);
                pairs.Add(expandedPair);
            }

            return(BitArrayBuilder.buildBitArray(pairs));
        }