/// <summary> /// /// </summary> public BaudrateComboBox() { DropDownStyle = ComboBoxStyle.DropDownList; AutoToolTip = true; ToolTipText = CultureService.Instance.GetString(CultureText.menuItem_Baudrate_ToolTip); Size = new System.Drawing.Size(150, 25); List <string> bauds = CanBaudRateCollection.GetBaudRates().Select(n => n.Name).ToList <string>(); var baudWithCustom = new string[bauds.Count + 1]; bauds.Add(_comboItemCustomBaudRate_Text); bauds.CopyTo(baudWithCustom, 0); Items.AddRange(baudWithCustom); EventAggregator.Instance.Subscribe <StorageAppEvent>(e => { if (e.ChangingType == FileChangingType.LoadComplete) { _parmeters = e.Storage.Parameters; /*Ha olyan BaudRate-et töltött be, ami egyedi, azt először hozzá kell adni a ComboBox listájához, mert különben nem jelenik meg...*/ if (!_parmeters.Baudrate.Contains("kBaud") && !_parmeters.Baudrate.Contains("MBaud")) { bauds = CanBaudRateCollection.GetBaudRates().Select(n => n.Name).ToList <string>(); bauds.Add(_parmeters.Baudrate); string[] temp = new string[bauds.Count]; bauds.CopyTo(temp, 0); Items.Clear(); Items.AddRange(temp); } SelectedItem = _lastSelectedBaud = _parmeters.Baudrate; } }); EventAggregator.Instance.Subscribe <StopAppEvent>(e => Enabled = true); EventAggregator.Instance.Subscribe <PlayAppEvent>(e => Enabled = false); }
/// <summary> /// Egy elemre klikkelt a legördülő listában, amihez lehet meg kell jeleníteni a BaudRate szerkesztőt. /// </summary> protected override void OnSelectionChangeCommitted(System.EventArgs e) { if (!Text.Contains("kBaud") && !Text.Contains("MBaud")) {/*Ez egy új vagy a meglévő érték létrehozás/szerkesztése */ IBaurateEditorForm cbf = new BaurateEditorForm(); if (Text[0] == 'B') { /*meglévő érték szereksztése*/ cbf.CustomBaudRateValue = Text.Remove(Text.IndexOf("Custom", 0)).Trim(); } else { /*először adott meg egyedi értéket, alaphelyzetet lát.*/ cbf.Default(); } if (cbf.ShowDialog() == System.Windows.Forms.DialogResult.OK) { /*Egyedi értéket választott a ComoboLista elemeiben a Custom szót az új értkere kell módosítani.*/ string customValue = cbf.CustomBaudRateValue + " Custom Baud"; List <string> bauds = CanBaudRateCollection.GetBaudRates().Select(n => n.Name).ToList <string>(); bauds.Add(customValue); /*tömbnek új referencia kell, csak akkor frissül a box...*/ string[] temp = new string[bauds.Count]; bauds.CopyTo(temp, 0); Items.Clear(); Items.AddRange(temp); /*A kijelölt elem az új egyedi érték*/ SelectedItem = customValue; } else { /*Mégsem nyutgázta az új értéket */ /*Vissza kell tenni az előző kijelőlést*/ SelectedItem = _lastSelectedBaud; } } }
/// <summary> /// /// </summary> public void Play() { /*Ha engdélyezve van a törlés, akkor indulás előtt törli az előzményeket.*/ if (_paramters.PlayHistoryClearEnabled) { _adapterStat.Reset(); _messageStat.Default(); _messageTrace.Clear(); _filters.Default(); } Debug.WriteLine(GetType().Namespace + "." + GetType().Name + "." + MethodBase.GetCurrentMethod().Name + "()"); _shutdownEvent = new AutoResetEvent(false); _readyToDisposeEvent = new AutoResetEvent(false); uint baudrate = 0; if (_paramters.Baudrate.Contains("Custom")) { /*Baudrate = "B003D007 Custom Baud"*/ baudrate = UInt32.Parse(_paramters.Baudrate.Remove(_paramters.Baudrate.IndexOf(@"Custom")).Trim(), System.Globalization.NumberStyles.HexNumber); } else { /*Baudrate = 5.000kBaud*/ baudrate = CanBaudRateCollection.GetBaudRates().First(n => n.Name == _paramters.Baudrate).Value; } if (_paramters.DeviceName != VirtualDeviceName) { try { _adapter = new CanAdapterDevice(); _adapter.ConnectTo(_paramters.DeviceName); _adapter.Services.Reset(); _adapter.Attributes.ListenOnly = _paramters.ListenOnly; _adapter.Attributes.Loopback = _paramters.Loopback; _adapter.Attributes.NonAutoRetransmission = _paramters.NonAutoReTx; _adapter.Attributes.Termination = _paramters.Termination; _adapter.Open(baudrate); _statusUpdateTimestamp = 0; } catch (Exception) { _adapter.Dispose(); OnStopped(); throw; } } else { _virtualAdapterFrameCounter = 0; } try { if (_project.Parameters.LogEnabled) { _log = new LogFileItem(_project.Loaction, _project.FileName, DateTime.Now.ToString(AppConstants.FileNameTimestampFormat)); _log.Messages.AddToStorageBegin(); } var th = new Thread(new ThreadStart(DoWork)) { Name = "Adapter", Priority = Settings.Default.AdapterThreadPriority }; th.Start(); _toolTables.SetTxQueue(_txQueue); _toolTables.Start(); } catch { OnStopped(); throw; } }
/// <summary> /// /// </summary> /// <returns></returns> private static string[] GetBaudrates() { return(CanBaudRateCollection.GetBaudRates().Select(n => (n.Name)).ToArray()); }
public void _0007_Baudrates() { CanBaudRateCollection.GetBaudRates(); }