Esempio n. 1
0
        private void saveProjectXMLToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (tabControl1.SelectedTab != null)
            {
                DeviceView     dv  = (DeviceView)tabControl1.SelectedTab.Controls[0];
                SaveFileDialog sfd = new SaveFileDialog();

                sfd.Filter = "Canopen Node XML (*.xml)|*.xml";

                sfd.InitialDirectory = Path.GetDirectoryName(dv.eds.xmlfilename);
                sfd.RestoreDirectory = true;
                sfd.FileName         = Path.GetFileNameWithoutExtension(dv.eds.xmlfilename);

                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    //dv.eds.savefile(sfd.FileName);

                    Bridge b = new Bridge();
                    Device d = b.convert(dv.eds);

                    CanOpenXML coxml = new CanOpenXML();
                    coxml.dev = d;

                    coxml.writeXML(sfd.FileName);

                    dv.eds.xmlfilename = sfd.FileName;
                    dv.eds.dirty       = false;
                }
            }
        }
Esempio n. 2
0
        void dosave(DeviceView dv, string FileName)
        {
            switch (Path.GetExtension(FileName))
            {
            case ".eds":
                dv.eds.Savefile(FileName, InfoSection.Filetype.File_EDS);
                dv.eds.edsfilename = FileName;
                break;

            case ".dcf":
                dv.eds.Savefile(FileName, InfoSection.Filetype.File_DCF);
                dv.eds.dcffilename = FileName;
                break;

            case ".xml":
                Bridge b = new Bridge();
                Device d = b.convert(dv.eds);

                CanOpenXML coxml = new CanOpenXML();
                coxml.dev = d;
                coxml.writeXML(FileName);
                dv.eds.xmlfilename = FileName;
                break;

            case ".xdd":
                CanOpenXDD coxdd = new CanOpenXDD();
                coxdd.writeXML(FileName, dv.eds);
                dv.eds.xddfilename = FileName;
                dv.eds.Dirty       = false;
                break;
            }

            dv.dispatch_updateOD();
        }
Esempio n. 3
0
        private void saveExportAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //Attempt to save EDS,XML and export the CanOpen dictionary

            if (tabControl1.SelectedTab != null)
            {
                DeviceView     dv  = (DeviceView)tabControl1.SelectedTab.Controls[0];
                SaveFileDialog sfd = new SaveFileDialog();

                //save eds xml and export CO_OD.c and CO_OD.h

                if (dv.eds.edsfilename == null || dv.eds.edsfilename == "")
                {
                    MessageBox.Show("Please manually save as EDS at least once");
                    return;
                }

                if (dv.eds.xmlfilename == null || dv.eds.xmlfilename == "")
                {
                    MessageBox.Show("Please manually save as XML at least once");
                    return;
                }

                if (dv.eds.fi.exportFolder == null || dv.eds.fi.exportFolder == "")
                {
                    MessageBox.Show("Please expot CO_OD.c/h at least once");
                    return;
                }

                //export XML
                Bridge b = new Bridge();
                Device d = b.convert(dv.eds);

                CanOpenXML coxml = new CanOpenXML();
                coxml.dev = d;

                coxml.writeXML(dv.eds.xmlfilename);


                //export EDS
                dv.eds.savefile(dv.eds.edsfilename);

                //export CO_OD.c and CO_OD.h
                CanOpenNodeExporter cone = new CanOpenNodeExporter();
                cone.export(dv.eds.fi.exportFolder, dv.eds);

                if (Warnings.warning_list.Count != 0)
                {
                    WarningsFrm frm = new WarningsFrm();
                    frm.ShowDialog();
                }
            }
        }
Esempio n. 4
0
        private static void openXMLfile(string path, string outpath)
        {
            CanOpenXML coxml = new CanOpenXML();

            coxml.readXML(path);

            Bridge b = new Bridge();

            eds             = b.convert(coxml.dev);
            eds.xmlfilename = path;

            exportCOOD(outpath);
        }
Esempio n. 5
0
        private void openXMLfile(string path)
        {
            try
            {
                EDSsharp eds;
                Device   dev; //one day this will be multiple devices

                CanOpenXML coxml = new CanOpenXML();
                coxml.readXML(path);

                Bridge b = new Bridge();

                eds             = b.convert(coxml.dev);
                eds.xmlfilename = path;

                dev = coxml.dev;

                tabControl1.TabPages.Add(eds.di.ProductName);

                DeviceView device = new DeviceView();

                eds.onDataDirty += Eds_onDataDirty;

                device.eds = eds;
                tabControl1.TabPages[tabControl1.TabPages.Count - 1].Controls.Add(device);
                device.Dock = DockStyle.Fill;

                device.dispatch_updateOD();

                network.Add(eds);
            }
            catch (Exception ex)
            {
                Warnings.warning_list.Add(ex.ToString());
            }

            if (Warnings.warning_list.Count != 0)
            {
                WarningsFrm frm = new WarningsFrm();
                frm.ShowDialog();
            }
        }
Esempio n. 6
0
        void ProfileAddClick(object sender, EventArgs e)
        {
            if (tabControl1.SelectedTab != null)
            {
                DeviceView dv = (DeviceView)tabControl1.SelectedTab.Controls[0];

                ToolStripMenuItem item = (ToolStripMenuItem)sender;

                string filename = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar + "Profiles" + Path.DirectorySeparatorChar + item.Name;

                CanOpenXML coxml = new CanOpenXML();
                coxml.readXML(filename);

                Bridge b = new Bridge();

                EDSsharp eds;
                Device   dev; //one day this will be multiple devices

                eds = b.convert(coxml.dev);

                dev = coxml.dev;

                foreach (KeyValuePair <UInt16, ODentry> kvp in eds.ods)
                {
                    if (!dv.eds.ods.ContainsKey(kvp.Key))
                    {
                        dv.eds.ods.Add(kvp.Key, kvp.Value);
                    }
                }


                dv.dispatch_updateOD();
                dv.dispatch_updatePDOinfo();

                dv.eds.updatePDOcount();
                dv.dispatch_updatedevice();
            }
        }
Esempio n. 7
0
        private void loadeds(string filename)
        {
            if (filename == null || filename == "")
            {
                return;
            }

            bool isdcf = false;

            switch (Path.GetExtension(filename).ToLower())
            {
            case ".xml":
            {
                CanOpenXML coxml = new CanOpenXML();
                coxml.readXML(filename);

                Bridge b = new Bridge();

                eds             = b.convert(coxml.dev);
                eds.xmlfilename = filename;
            }

            break;

            case ".dcf":
            {
                isdcf = true;
                eds   = new EDSsharp();
                eds.Loadfile(filename);
            }
            break;

            case ".eds":

            {
                eds = new EDSsharp();
                eds.Loadfile(filename);
            }
            break;
            }

            textBox_edsfilename.Text = eds.di.ProductName;


            //if (eds.di.concreteNodeId >= numericUpDown_node.Minimum && eds.di.concreteNodeId <= numericUpDown_node.Maximum)
            //    numericUpDown_node.Value = eds.di.concreteNodeId;

            listView1.BeginUpdate();
            if (!isdcf)
            {
                listView1.Items.Clear();
            }

            //           StorageLocation loc = StorageLocation


            foreach (ODentry tod in eds.ods.Values)
            {
                if (comboBoxtype.SelectedItem.ToString() != "ALL")
                {
                    if (comboBoxtype.SelectedItem.ToString() == "EEPROM" && (tod.StorageLocation.ToUpper() != "EEPROM"))
                    {
                        continue;
                    }
                    if (comboBoxtype.SelectedItem.ToString() == "ROM" && (tod.StorageLocation.ToUpper() != "ROM"))
                    {
                        continue;
                    }
                    if (comboBoxtype.SelectedItem.ToString() == "RAM" && (tod.StorageLocation.ToUpper() != "RAM"))
                    {
                        continue;
                    }
                }


                if (tod.Disabled == true)
                {
                    continue;
                }

                if (tod.Index < 0x2000 && checkBox_useronly.Checked == true)
                {
                    continue;
                }

                if (tod.objecttype == ObjectType.ARRAY || tod.objecttype == ObjectType.REC)
                {
                    foreach (ODentry subod in tod.subobjects.Values)
                    {
                        if (subod.Subindex == 0)
                        {
                            continue;
                        }

                        addtolist(subod, isdcf);
                    }

                    continue;
                }

                addtolist(tod, isdcf);
            }

            listView1.EndUpdate();

            this.filename = filename;
            addtoMRU(filename);
        }
Esempio n. 8
0
        private void saveExportAllToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string temp;

            //Attempt to save EDS,XML and export the CanOpen dictionary

            if (tabControl1.SelectedTab != null)
            {
                DeviceView     dv  = (DeviceView)tabControl1.SelectedTab.Controls[0];
                SaveFileDialog sfd = new SaveFileDialog();

                //save eds xml and export CO_OD.c and CO_OD.h

                if (dv.eds.edsfilename == null || dv.eds.edsfilename == "")
                {
                    MessageBox.Show("Please manually save as EDS at least once");
                    return;
                }
                temp = Path.GetDirectoryName(dv.eds.edsfilename);
                if (Directory.Exists(temp) != true)
                {
                    MessageBox.Show("File path was removed. Please manually save as EDS once");
                    return;
                }

                if (dv.eds.xmlfilename == null || dv.eds.xmlfilename == "")
                {
                    MessageBox.Show("Please manually save as XML at least once");
                    return;
                }
                temp = Path.GetDirectoryName(dv.eds.xmlfilename);
                if (Directory.Exists(temp) != true)
                {
                    MessageBox.Show("File path was removed. Please manually save as XML once");
                    return;
                }

                if (dv.eds.fi.exportFolder == null || dv.eds.fi.exportFolder == "")
                {
                    MessageBox.Show("Please export CO_OD.c/h at least once");
                    return;
                }
                if (Directory.Exists(dv.eds.fi.exportFolder) != true)
                {
                    MessageBox.Show("File path was removed. Please export CO_OD.c/h once");
                    return;
                }

                //export XML
                Bridge b = new Bridge();
                Device d = b.convert(dv.eds);

                CanOpenXML coxml = new CanOpenXML();
                coxml.dev = d;

                coxml.writeXML(dv.eds.xmlfilename);


                //export EDS
                dv.eds.savefile(dv.eds.edsfilename);

                //export CO_OD.c and CO_OD.h
                CanOpenNodeExporter cone = new CanOpenNodeExporter();

                try
                {
                    cone.export(dv.eds.fi.exportFolder, dv.eds);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Export failed, error message:\n" + ex.ToString());
                    return;
                }

                dv.eds.dirty = false;

                if (Warnings.warning_list.Count != 0)
                {
                    WarningsFrm frm = new WarningsFrm();
                    frm.ShowDialog();
                }
            }
        }