public void APinvaluesTest2() { var pin1 = new APin(); pin1.Offset = 2; pin1.Value = new DateTimeValue(5, DateTime.Now); Assert.AreEqual(7, pin1.Value.Value); pin1.Offset = 0; pin1.Slope = .5; pin1.Value = new DateTimeValue(5, DateTime.Now); Assert.AreEqual(2.5, pin1.Value.Value); }
/// <summary> /// Setups the nodeview. /// </summary> private void SetupNodeView() { nvSignal.NodeStore = SignalStore; nvSignal.AppendColumn(new TreeViewColumn("Name(Pin)", new CellRendererText(), "text", 0)); nvSignal.AppendColumn(new TreeViewColumn("Frequency", new CellRendererText(), "text", 1)); nvSignal.AppendColumn(new TreeViewColumn("Number of mean values", new CellRendererText(), "text", 2)); nvSignal.ButtonPressEvent += new ButtonPressEventHandler(OnSignalButtonPress); nvSignal.KeyPressEvent += new KeyPressEventHandler(OnSignalKeyPress); nvSignal.RowActivated += (o, args) => { var node = ((o as NodeView).NodeSelection.SelectedNode as APinSignalDialogTreeNode).Pin; ActiveNode = node; btnRemove.Sensitive = true; }; }
public void SerializeAPin() { APin TestPin = new APin() { Number = 42, Name = "TestPin", PlotColor = GUIHelper.ColorHelper.GetRandomGdkColor(), }; Formator.Serialize(MemStream, TestPin); MemStream.Seek(0, SeekOrigin.Begin); APin TestPinClone = (APin)Formator.Deserialize(MemStream); Assert.AreEqual(TestPin, TestPinClone); }
public void APinNewValueEventTestAfterEdit() { double val = -1; var pin = new APin(); pin.OnNewValue += (o, args) => val = args.Value; pin.Value = new DateTimeValue(42, DateTime.Now); Assert.AreEqual(42, val); pin.Interval = 3000; pin.OnNewValue = null; pin.OnNewValue += (o, args) => val = args.Value * 2; pin.Value = new DateTimeValue(42, DateTime.Now); Assert.AreEqual(84, val); }
public void SerializeBoardConfigTest2() { var conf = new BoardConfiguration(); conf.Board.AnalogReferenceVoltageType = "INTERNAL"; conf.Board.AnalogReferenceVoltage = 4.24; var pin = new APin() { Number = 42 }; var MeCom = new MeasurementCombination(); MeCom.AddPin(pin); conf.AddPin(pin); conf.AddMeasurementCombination(MeCom); Formator.Serialize(MemStream, conf); MemStream.Seek(0, SeekOrigin.Begin); var confClone = (BoardConfiguration)Formator.Deserialize(MemStream); Assert.AreEqual(conf.Pins[0], confClone.Pins[0]); Assert.AreEqual(conf.MeasurementCombinations[0], confClone.MeasurementCombinations[0]); Assert.AreEqual(4.24, conf.Board.AnalogReferenceVoltage, 0.000000001); Assert.AreEqual(4.24, confClone.Board.AnalogReferenceVoltage, 0.000000001); Assert.AreEqual("INTERNAL", conf.Board.AnalogReferenceVoltageType); Assert.AreEqual("INTERNAL", confClone.Board.AnalogReferenceVoltageType); Assert.AreSame(conf.Pins[0], conf.MeasurementCombinations[0].Pins[0]); Assert.AreSame(confClone.Pins[0], confClone.MeasurementCombinations[0].Pins[0]); conf.Pins[0].Name = "Dulli"; Assert.AreEqual(conf.Pins[0].Name, conf.MeasurementCombinations[0].Pins[0].Name); Assert.AreEqual(19, confClone.AvailableDigitalPins.Length); Assert.AreEqual(6, confClone.AvailableAnalogPins.Length); conf.ClearPins(); Assert.AreEqual(0, conf.Pins.Count); Assert.AreEqual(0, conf.MeasurementCombinations.Count); }
public void APinCopyConstructorTest() { var pin = new APin(); pin.Name = "PinPinsen"; pin.Interval = 3000; double value = 42; pin.Value = new DateTimeValue(value, DateTime.Now); var copypin = new APin(pin); Assert.AreEqual("PinPinsen", copypin.Name); Assert.AreEqual(3000, copypin.Interval); Assert.AreEqual(value, copypin.Value.Value); Assert.AreEqual(1, copypin.Values.Count); Assert.AreEqual(pin.RAWValues, copypin.RAWValues); }
public void MeasurementCombinationTests1() { var mecom = new MeasurementCombination(); var pin = new APin() { Number = 0, RealNumber = 14, Interval = 1000, MeanValuesCount = 1 }; Assert.AreEqual(0, mecom.Pins.Count); mecom.AddPin(pin); Assert.AreEqual(1, mecom.Pins.Count); Assert.AreEqual(false, mecom.AddPin(pin)); var mecomcopy = new MeasurementCombination(); mecomcopy.AddPin(pin); Assert.AreEqual(mecom, mecomcopy); }
public APinListStoreNode(APin pin, int index = -1) { Pin = pin; Index = index; }
public APinSignalDialogTreeNode(APin pin, int index = -1) { Pin = pin; Index = index; }
public APinTreeNode(APin pin, int index = -1, MeasurementCombination combination = null) { Pin = pin; Combination = combination; Index = index; }
/// <summary> /// Initializes a new instance of the <see cref="AnalogPinConfigurationDialog.AnalogPinConfiguration"/> class. /// </summary> /// <param name="availablePins">Available pins.</param> /// <param name="apin">Apin.</param> /// <param name="parent">Parent.</param> public APinConfigDialog(APin[] availablePins, APin apin = null, Gtk.Window parent = null, List <string> units = null) : base("Analog Input - Dialog", parent, Gtk.DialogFlags.Modal, new object[0]) { this.Build(); if (apin != null) { AvailablePins = new APin[availablePins.Length + 1]; Array.Copy(availablePins, AvailablePins, availablePins.Length); AvailablePins [availablePins.Length] = apin; buttonOk.Label = "Apply"; buttonOk.Image = new Image(Gtk.Stock.Apply, IconSize.Button); } else { AvailablePins = availablePins; } sbSlope.Adjustment.Lower = double.MinValue; sbSlope.Adjustment.Upper = double.MaxValue; sbOffset.Adjustment.Lower = double.MinValue; sbOffset.Adjustment.Upper = double.MaxValue; sbMeanValuesCount.Adjustment.Upper = int.MaxValue; sbMeanValuesCount.Adjustment.Lower = 1; for (int i = 0; i < AvailablePins.Length; i++) { cbPin.AppendText(AvailablePins [i].DisplayNumber); } if (apin != null) { Pin = new APin(apin); } else { if (AvailablePins.Length > 0) { pin = AvailablePins [0]; } else { pin = new APin(); } pin.PlotColor = GUIHelper.ColorHelper.GetRandomGdkColor(); cbColor.Color = pin.PlotColor; } if (AvailablePins.Length > 0) { if (apin != null) { cbPin.Active = AvailablePins.Length - 1; } else { cbPin.Active = 0; } } else { buttonOk.Sensitive = false; buttonOk.TooltipText = "There are no more available pins to configure."; } Units = units; ListStore store = new ListStore(typeof(string)); Units.ForEach(o => store.AppendValues(new object[] { o })); cbUnit.Model = store; if (!string.IsNullOrEmpty(pin.Unit)) { if (Units.Contains(pin.Unit)) { cbUnit.Active = Array.IndexOf(Units.ToArray(), pin.Unit); } else { store.AppendValues(new string[] { pin.Unit }); cbUnit.Active = Units.Count; } } else { cbUnit.Active = Array.IndexOf(Units.ToArray(), "V"); } BindEvents(); }
/// <summary> /// Initializes a new instance of the <see cref="AComConfigDialog"/> class. /// </summary> /// <param name="pins">Pins.</param> /// <param name="signal">Signal.</param> /// <param name="pin">Pin.</param> /// <param name="parent">Parent.</param> /// <param name="units">Units.</param> public AComConfigDialog(APin[] pins, MeasurementCombination signal = null, APin pin = null, Gtk.Window parent = null, List <string> units = null) : base("Analog Inputs Combinations - Dialog", parent, Gtk.DialogFlags.Modal, new object[0]) { this.Build(); sbMeanValuesCount.Adjustment.Upper = int.MaxValue; sbMeanValuesCount.Adjustment.Lower = 1; APins = pins; cbColor.Color = GUIHelper.ColorHelper.GetRandomGdkColor(); if (signal == null) { Combination_ = new MeasurementCombination(); Combination_.Color = cbColor.Color; } else { Combination = signal; if (!string.IsNullOrEmpty(Combination.OperationString)) { CompileOperation(); } else { SetWarning(); } buttonOk.Label = "Apply"; } if (pin != null) { Combination_.AddPin(pin); Combination_.Unit = Combination_.Pins [0].Unit; } SetupNodeView(); DrawNodeView(); UpdateCBPins(); SetApplyButton(); entryOperation.Activated += (sender, e) => { if (!CompileTimer.Enabled) { CompileTimer.Start(); } }; entryOperation.FocusInEvent += (sender, e) => { if (!CompileTimer.Enabled) { CompileTimer.Start(); } }; CompileTimer.Elapsed += CompileTimerElapsed; Units = units; ListStore store = new ListStore(typeof(string)); Units.ForEach(o => store.AppendValues(new object[] { o })); cbeUnit.Model = store; if (!string.IsNullOrEmpty(Combination_.Unit)) { if (Units.Contains(Combination_.Unit)) { cbeUnit.Active = Array.IndexOf(Units.ToArray(), Combination_.Unit); } else { store.AppendValues(new string[] { Combination_.Unit }); cbeUnit.Active = Units.Count; } } }