示例#1
0
        /// <summary>
        /// Calculate CRC and compare with actual
        /// </summary>
        /// <param name="binary">Binary dump</param>
        private void AssertCrc(byte[] binary)
        {
            var dump   = new RamDump(binary);
            var hasher = new XModemHasher(dump.Bytes);
            var crc    = hasher.Calculate(dump.CrcUpTo);

            Assert.NotNull(crc);
            Assert.AreEqual(2, crc.Length);
            Assert.AreEqual(dump.ActualCrc[0], crc[0]);
            Assert.AreEqual(dump.ActualCrc[1], crc[1]);
        }
示例#2
0
        /// <summary>
        /// Change to type to target.
        /// </summary>
        /// <param name="dump">Binary dump</param>
        /// <returns>New dump with changed type</returns>
        public RamDump SwitchType(RamDump dump)
        {
            // Set new type
            var changed = new RamDump(dump)
            {
                Type = TargetType
            };

            // Recalculate hash
            var hasher = new XModemHasher(changed.Bytes);

            changed.ActualCrc = hasher.Calculate(changed.CrcUpTo);

            return(changed);
        }