Example #1
0
        private void saveFileHex_Click(object sender, EventArgs e)
        {
            saveFileDialog.Filter           = "IntelHex Files|*.hex";
            saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            saveFileDialog.FileName         = "NewHexFile";
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                var extension = Path.GetExtension(saveFileDialog.FileName);
                switch (extension)
                {
                case ".hex":
                    IntelHexFile.SaveAsIntelHex(saveFileDialog.FileName, hexf.Blocks.ToArray());
                    break;

                default:
                    MessageBox.Show("Unsupported file extention");
                    return;
                }
            }
        }
Example #2
0
        public void SaveAndLoadTest()
        {
            string filename = "test.hex";

            byte[]      newdata = new byte[1025];
            BinaryBlock bb      = new BinaryBlock(0x00010000 - 500);
            BinaryBlock bb1     = new BinaryBlock(0x00010000 - 50);

            bb.Append(newdata);
            bb1.Append(newdata);

            IntelHexFile.SaveAsIntelHex(filename, new BinaryBlock[] { bb, bb1 });

            IntelHexFile hf = new IntelHexFile();

            hf.Load(filename);

            Assert.AreEqual(2, hf.Blocks.Count);

            // Check binary black
            Assert.AreEqual(bb.Address, hf.Blocks[0].Address);
            Assert.AreEqual(bb.Length, hf.Blocks[0].Length);

            bb.UpdateHash(eHash.CRC32);
            Assert.AreEqual(bb.DisplayHash, hf.Blocks[0].DisplayHash);

            bb.UpdateHash(eHash.SHA256);
            Assert.AreNotEqual(bb.DisplayHash, hf.Blocks[0].DisplayHash);

            hf.UpdateHash(eHash.SHA256);
            Assert.AreEqual(bb.DisplayHash, hf.Blocks[0].DisplayHash);

            // append the same file again
            hf.Load(filename, eHash.CRC32, true);
            Assert.AreEqual(4, hf.Blocks.Count);
        }
Example #3
0
        private void exportToolStripMenuItem_Click(object sender, EventArgs e)
        {
            saveFileDialog.Filter           = "Binary Files|*.bin|IntelHex Files|*.hex";
            saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            saveFileDialog.FileName         = hexf.Blocks[dataGridView.SelectedRows[0].Index].DisplayAddress;
            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                var extension = Path.GetExtension(saveFileDialog.FileName);
                switch (extension)
                {
                case ".bin":
                    File.WriteAllBytes(saveFileDialog.FileName, hexf.Blocks[dataGridView.SelectedRows[0].Index].GetBytes());
                    break;

                case ".hex":
                    IntelHexFile.SaveAsIntelHex(saveFileDialog.FileName, new BinaryBlock[] { hexf.Blocks[dataGridView.SelectedRows[0].Index] });
                    break;

                default:
                    MessageBox.Show("Unsupported file extention");
                    return;
                }
            }
        }