private void LoadMessagesAndSignals() { ClearMessagesAndSignals(); List <VehicleScapeAPI.Message> messages = VehicleScapeInterface.GetMessages(); int signalCount = 0; foreach (VehicleScapeAPI.Message message in messages) { uint arbID = VehicleScapeInterface.GetMessageArbIDByHandle(message.handle); string networkDescription = VehicleScapeInterface.GetNetworkDescriptionByHandle(message.networkHandle); string source = networkDescription + " ($" + arbID + ")"; ListViewItem newItem = AvailableChannelsListView.Items.Add(message.description); newItem.Tag = new TagMetadata(message.handle, TagMetadata.MetadataType.Message); newItem.SubItems.Add(source); newItem.SubItems.Add(networkDescription); newItem.SubItems.Add("Message"); List <VehicleScapeAPI.Signal> signals = VehicleScapeInterface.GetSignals(message.handle); foreach (VehicleScapeAPI.Signal signal in signals) { signalCount++; source = networkDescription + " " + message.description + " ($" + arbID + ")"; ListViewItem signalItem = AvailableChannelsListView.Items.Add(signal.description); signalItem.Tag = new TagMetadata(signal.handle, TagMetadata.MetadataType.Signal); signalItem.SubItems.Add(source); signalItem.SubItems.Add(networkDescription); signalItem.SubItems.Add(VehicleScapeAPI.SignalTypeToString(signal.type)); } } Log("Retrieved " + signalCount + " signal" + (signalCount != 1 ? "s" : "") + "."); Log("Retrieved " + messages.Count + " message" + (messages.Count != 1 ? "s" : "") + "."); }
private void loadDBCToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "DBC files (*.dbc)|*.dbc|All files (*.*)|*.*"; openFileDialog.FilterIndex = 1; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) { VehicleScapeAPI.Result result = VehicleScapeInterface.LoadDatabase(openFileDialog.FileName); if (result == VehicleScapeAPI.Result.ResultOk) { Log(openFileDialog.FileName + " loaded successfully."); GetDAQs(); LoadMessagesAndSignals(); // Detect devices here for the user's convenience DetectDevices(); } else { Log("Failed to load " + openFileDialog.FileName + "."); Log("Reason: " + VehicleScapeAPI.ResultToString(result) + "."); } } }
private void GetDAQs() { ClearDAQs(); List <VehicleScapeAPI.DAQ> daqs = VehicleScapeInterface.GetDAQs(); foreach (VehicleScapeAPI.DAQ daq in daqs) { ListViewItem item = DAQListView.Items.Add(daq.description); item.Tag = new TagMetadata(daq.handle, TagMetadata.MetadataType.DAQ); } }
private void DetectDevices() { DeviceListView.Items.Clear(); List <VehicleScapeAPI.Device> devices = VehicleScapeInterface.GetDevices(); foreach (VehicleScapeAPI.Device device in devices) { ListViewItem item = DeviceListView.Items.Add(VehicleScapeAPI.DeviceTypeToString(device.deviceType)); item.Tag = new TagMetadata(device.handle, TagMetadata.MetadataType.Device); item.SubItems.Add(device.serialNumber.ToString()); item.SubItems.Add(device.handle.ToString()); } }
private void GenerateButton_Click(object sender, EventArgs e) { if (GetSelectedDAQHandle() == 0 || GetSelectedDeviceHandle() == 0) { MessageBox.Show("You must select a DAQ and a device to generate a CoreMini."); return; } UpdateDAQ(); List <uint> messageHandles = new List <uint>(); List <uint> signalHandles = new List <uint>(); foreach (ListViewItem item in SelectedChannelsListView.Items) { TagMetadata metadata = (TagMetadata)item.Tag; if (metadata.Type == TagMetadata.MetadataType.Message) { messageHandles.Add(metadata.Handle); } else { signalHandles.Add(metadata.Handle); } } GenerateParameters parameters = new GenerateParameters( messageHandles, signalHandles, CollectionNameTextBox.Text, int.Parse(MessageCountTextBox.Text), SleepMode, WakeMode, double.Parse(BusActivityThresholdTextBox.Text), RemoteWakeupCheckBox.Checked, StartNewFileOnWakeupCheckBox.Checked, double.Parse(OverallTimeoutTextBox.Text), double.Parse(ConnectionTimeoutTextBox.Text), double.Parse(VoltageCutoffTextBox.Text)); Log("Generating CoreMini."); VehicleScapeAPI.Result result = VehicleScapeInterface.Generate(parameters, GetSelectedDAQHandle(), GetSelectedDeviceHandle()); Log("Result: " + VehicleScapeAPI.ResultToString(result)); }
private void UpdateDAQ() { if (loading) { return; } VehicleScapeAPI.DAQ daq = GetSelectedDAQ(); if (DAQListView.SelectedIndices.Count > 0) { daq.description = DAQListView.Items[DAQListView.SelectedIndices[0]].Text; } daq.newFileOnWakeup = Convert.ToInt32(StartNewFileOnWakeupCheckBox.Checked); daq.sleepPeriod = NeverGoToSleepRadioButton.Checked ? VehicleScapeAPI.NeverGoToSleep : double.Parse(BusActivityThresholdTextBox.Text); daq.wakeupMode = WakeNormalRadioButton.Checked ? VehicleScapeAPI.WakeupModeType.WakeupModeTypeNormal : VehicleScapeAPI.WakeupModeType.WakeupModeTypeInstant; daq.remoteWakeup = Convert.ToInt32(RemoteWakeupCheckBox.Checked); daq.neoVIOverallTimeout = double.Parse(OverallTimeoutTextBox.Text); daq.neoVIConnectionTimeout = double.Parse(ConnectionTimeoutTextBox.Text); daq.neoVIVoltageCutoff = double.Parse(VoltageCutoffTextBox.Text); VehicleScapeInterface.UpdateDAQ(daq); }
private void AddDAQButton_Click(object sender, EventArgs e) { VehicleScapeInterface.AddDAQ(); GetDAQs(); }
private VehicleScapeAPI.Device GetSelectedDevice() { return(VehicleScapeInterface.GetDeviceByHandle(GetSelectedDeviceHandle())); }
private VehicleScapeAPI.DAQ GetSelectedDAQ() { return(VehicleScapeInterface.GetDAQByHandle(GetSelectedDAQHandle())); }
private void UploadButton_Click(object sender, EventArgs e) { Log("Transferring to device."); VehicleScapeAPI.Result result = VehicleScapeInterface.Transfer(GetSelectedDeviceHandle(), ReflashFirmwareCheckbox.Checked); Log("Result: " + VehicleScapeAPI.ResultToString(result)); }