VAGSuite.XDFWriter.CreateXDF C# (CSharp) Метод

CreateXDF() публичный Метод

public CreateXDF ( string filename, string flashfilename, int dataend, int filesize ) : void
filename string
flashfilename string
dataend int
filesize int
Результат void
        public void CreateXDF(string filename, string flashfilename, int dataend, int filesize)
        {
            sw = new StreamWriter(filename, false);
            // write header information for XDF file
            sw.WriteLine("XDF");
            sw.WriteLine("1.110000");
            sw.WriteLine("");
            sw.WriteLine("DO NOT HAND EDIT!!!! (Trust me)");
            sw.WriteLine("");
            sw.WriteLine("%%HEADER%%");
            sw.WriteLine("001000 FileVers         =\"1.0\"");
            sw.WriteLine("001005 DefTitle         =\"" + flashfilename + "\"");
            sw.WriteLine("001007 DescSize         =0x1A");
            sw.WriteLine("001006 Desc             =\"EDC15P XDF by Dilemma\"");
            sw.WriteLine("001010 Author           =\"Dilemma\"");
            sw.WriteLine("001030 BinSize          =" + filesize.ToString("X6"));
            sw.WriteLine("001035 BaseOffset       =0");
            sw.WriteLine("001200 ADSAssoc         =\"\"");
            sw.WriteLine("001225 ADSCheck         =0x00");
            sw.WriteLine("001300 GenFlags         =0x0");
            sw.WriteLine("001325 ModeFlags        =0x0");
            sw.WriteLine("002000 Category0        =\"Fuel\"");
            sw.WriteLine("002001 Category1        =\"Ignition\"");
            sw.WriteLine("002002 Category2        =\"Turbo\"");
            sw.WriteLine("002003 Category3        =\"Idle\"");
            sw.WriteLine("%%END%%");
            /*sw.WriteLine("");
            sw.WriteLine("%%CHECKSUM%%");
            sw.WriteLine("000002 UniqueID         =0x1");
            sw.WriteLine("010005 Title            =\"Imported Checksum\"");
            sw.WriteLine("010010 DataStart        =0x0");
            sw.WriteLine("010015 DataEnd          =0x" + dataend.ToString("X6"));
            sw.WriteLine("010020 SizeBits         =0x20");
            sw.WriteLine("010025 StoreAddr        =0x3FFFC");
            sw.WriteLine("010030 CalcMethod       =0x0");
            sw.WriteLine("010050 Flags            =0x1");
            sw.WriteLine("%%END%%");*/
        }

Usage Example

Пример #1
0
        private void btnExportXDF_ItemClick(object sender, ItemClickEventArgs e)
        {
            SaveFileDialog saveFileDialog2 = new SaveFileDialog();
            saveFileDialog2.Filter = "XDF files|*.xdf";
            if (gridControl1.DataSource != null)
            {
                XDFWriter xdf = new XDFWriter();

                string filename = Path.Combine(Path.GetDirectoryName(Tools.Instance.m_currentfile), Path.GetFileNameWithoutExtension(Tools.Instance.m_currentfile));
                saveFileDialog2.FileName = filename;
                if (saveFileDialog2.ShowDialog() == DialogResult.OK)
                {
                    //filename += ".xdf";
                    filename = saveFileDialog2.FileName;

                    xdf.CreateXDF(filename, Tools.Instance.m_currentfile, Tools.Instance.m_currentfilelength, Tools.Instance.m_currentfilelength);
                    foreach (SymbolHelper sh in Tools.Instance.m_symbols)
                    {
                        if (sh.Flash_start_address != 0)
                        {
                            int fileoffset = (int)sh.Flash_start_address;
                            while (fileoffset > Tools.Instance.m_currentfilelength) fileoffset -= Tools.Instance.m_currentfilelength;
                            /*if (sh.Varname == "Pgm_mod!") // VSS vlag
                            {
                                xdf.AddFlag("VSS", sh.Flash_start_address, 0x07);
                            }*/
                            if (sh.Varname.StartsWith("SVBL"))
                            {

                            }
                            else
                            {
                                string xaxis = sh.X_axis_descr;
                                string yaxis = sh.Y_axis_descr;
                                string zaxis = sh.Z_axis_descr;
                                bool m_issixteenbit = true;
                                // special maps are:
                                int xaxisaddress = sh.X_axis_address;
                                int yaxisaddress = sh.Y_axis_address;
                                bool isxaxissixteenbit = true;
                                bool isyaxissixteenbit = true;
                                int columns = sh.X_axis_length;
                                int rows = sh.Y_axis_length;
                                //int tablewidth = GetTableMatrixWitdhByName(Tools.Instance.m_currentfile, Tools.Instance.m_symbols, sh.Varname, out columns, out rows);
                                xdf.AddTable(sh.Varname, sh.Description, XDFCategories.Fuel, xaxis, yaxis, zaxis, columns, rows, fileoffset, m_issixteenbit, xaxisaddress, yaxisaddress, isxaxissixteenbit, isyaxissixteenbit, 1.0F, 1.0F, 1.0F);

                            }
                            /*else
                            {
                                xdf.AddConstant(55, sh.Varname, XDFCategories.Idle, "Aantal", sh.Length, fileoffset, true);
                            }*/
                        }
                    }
                    // add some specific stuff
                    //int fileoffset2 = Tools.Instance.m_currentfile_size - 0x4C;

                    //xdf.AddTable("Vehice Security Code", "VSS code", XDFCategories.Idle, "", "", "", 1, 6, fileoffset2 /*0x3FFB4*/, false, 0, 0, false, false, 1.0F, 1.0F, 1.0F);

                    xdf.CloseFile();
                }
            }
        }