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; }
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; } }