Пример #1
0
        private void mBt_ConfigureVariants_Click(object sender, EventArgs e)
        {
            mTB_Status.Text = "Configuring variants in the configuration";

            try
            {
                CANoe.Application      app          = new CANoe.Application();
                CANoe.Configuration    config       = (CANoe.Configuration)app.Configuration;
                CANoe.GeneralSetup     generalSetup = (CANoe.GeneralSetup)config.GeneralSetup;
                CANoe.DiagnosticsSetup diagSetup    = (CANoe.DiagnosticsSetup)generalSetup.DiagnosticsSetup;
                CANoe.DiagDescriptions descriptions = (CANoe.DiagDescriptions)diagSetup.DiagDescriptions;

                foreach (CANoe.DiagDescription descr in descriptions)
                {
                    foreach (ListViewItem item in mLV_Targets.Items)
                    {
                        if (item.Text != descr.Name)
                        {
                            continue;
                        }

                        string varQual = item.SubItems[chIdentifiedVariant.Index].Text;
                        if (descr.Variant == varQual)
                        {
                            AddStatusText(descr.Name + "already has correct variant " + varQual);
                            mLV_Targets.Items.Remove(item);
                        }
                        else if (varQual[0] == '(') // Is this the initial dummy text?
                        {
                            AddStatusText("No variant was identified for " + descr.Name + " yet!");
                        }
                        else
                        {
                            try
                            {
                                descr.Variant = varQual;
                                AddStatusText("Selecting variant " + varQual + " for description " + descr.Name);
                                mLV_Targets.Items.Remove(item);
                            }
                            catch
                            {
                                AddStatusText("Error Selecting variant " + varQual + " for description " + descr.Name + "!");
                                mTB_Status.BackColor = Color.Red;
                                item.BackColor       = Color.Red;
                            }
                        }
                        break;
                    }
                }
            } catch (Exception localEx)
            {
                AddStatusText("Error: " + localEx.ToString());
                mTB_Status.BackColor = Color.Red;
            }

            mBt_ConfigureVariants.Enabled = mLV_Targets.Items.Count > 0;
        }
Пример #2
0
        private void mBt_Connect_Click(object sender, EventArgs evargs)
        {
            mLV_Targets.Items.Clear();
            mLV_Targets.Enabled           = false;
            mBt_StartIdent.Enabled        = false;
            mBt_ConfigureVariants.Enabled = false;
            mTB_Status.Text      = "Connecting to CANoe and looking for configured diagnostics targets ...";
            mTB_Status.BackColor = Color.LightGray;

            mSysVarResult = null;
            mSysVarTarget = null;

            try
            {
                CANoe.Application      app          = new CANoe.Application();
                CANoe.Configuration    config       = (CANoe.Configuration)app.Configuration;
                CANoe.GeneralSetup     generalSetup = (CANoe.GeneralSetup)config.GeneralSetup;
                CANoe.DiagnosticsSetup diagSetup    = (CANoe.DiagnosticsSetup)generalSetup.DiagnosticsSetup;
                CANoe.DiagDescriptions descriptions = (CANoe.DiagDescriptions)diagSetup.DiagDescriptions;
                foreach (CANoe.Network netw in (CANoe.Networks)app.get_Networks(null))
                {
                    foreach (CANoe.Device dev in (CANoe.Devices)netw.Devices)
                    {
                        try
                        {
                            Diagnostic.Diagnostic diag = (Diagnostic.Diagnostic)dev.Diagnostic;
                            if (null != diag)
                            {
                                ListViewItem item = new ListViewItem();
                                item.Checked = false;
                                item.Text    = dev.Name;
                                item.SubItems.Add(netw.Name);
                                item.SubItems.Add("(unknown)");            // default for configured variant, should be overwritten
                                item.SubItems.Add("(not identified yet)"); // default for configured variant, should be overwritten
                                foreach (CANoe.DiagDescription descr in descriptions)
                                {
                                    if (descr.Qualifier == dev.Name)
                                    {
                                        item.SubItems[chConfiguredVariant.Index].Text = descr.Variant;
                                        break;
                                    }
                                }
                                mLV_Targets.Items.Add(item);
                            }
                        }
                        catch
                        {
                            // device does not have a diagnostics interface, so ignore it
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                mTB_Status.Text      = "Error: " + ex.ToString();
                mTB_Status.BackColor = Color.Red;
                return;
            }

            mTB_Status.Text = "" + mLV_Targets.Items.Count + " targets found.";

            if (mLV_Targets.Items.Count > 0)
            {
                mLV_Targets.Enabled  = true;
                mTB_Status.BackColor = Color.LightGreen;
            }
            {
                CANoe.Application app = new CANoe.Application();
                mBt_StartIdent.Enabled = !((CANoe.Measurement)app.Measurement).Running;
            }
        }