示例#1
0
        public static byte[] PackageASCIIMessage(byte[] message)
        {
            byte[] messageWithChecksum = new byte[message.Length + 3];
            messageWithChecksum[0] = (byte)message.Length;
            message.CopyTo(messageWithChecksum, 1);
            ChecksumUtils.CalculateFletcher16Checksum(messageWithChecksum, 0, message.Length);

            string packagedMessage = string.Format("\n{0}\r"
                                                   , BitConverter.ToString(messageWithChecksum).Replace("-", string.Empty));

            return(Encoding.ASCII.GetBytes(packagedMessage));
        }
示例#2
0
        public static byte[] PackageBinaryMessage(byte[] message)
        {
            int messageLength = message.Length;

            byte[] packagedMessage = new byte[messageLength + 4];
            packagedMessage[0] = BINARY_STARTBIT;
            packagedMessage[1] = (byte)messageLength;
            message.CopyTo(packagedMessage, 2);
            ChecksumUtils.CalculateFletcher16Checksum(packagedMessage, 1, messageLength + 1);

            byte[] stuffedMessage = StuffMessage(packagedMessage);

            return(stuffedMessage);
        }