public MainWindowViewModel() { measurement = new IVGradientMeasurement(); Measurements = new ObservableCollection <Measurement>(); SelectedMeasurements = new ObservableCollection <Measurement>(); MeasurementView = new PlotModel(); MeasurementView.Axes.Add(new LinearAxis() { Position = AxisPosition.Top, Title = "Spannung", Unit = "V", Minimum = 0, AxisTitleDistance = 5, MaximumPadding = 0.1 }); MeasurementView.Axes.Add(new LinearAxis() { Position = AxisPosition.Left, Title = "Strom", Unit = "A", Maximum = 0.2f, AxisTitleDistance = 25, MinimumPadding = 0.1 }); SelectedMeasurements.CollectionChanged += (o, e) => UpdateMeasurements(); StartMeasurement = ReactiveCommand.Create(RunMeasurement); Connect = ReactiveCommand.Create(ConnectToDevice); PowerSupplies = new List <IPowerSupply>() { new Voltcraft(), new DemoSupply() }; PowerSupply = PowerSupplies[0]; UpdatePorts(); UpdateValues(); IsActive = false; }
static void Main(string[] args) { var culture = System.Globalization.CultureInfo.GetCultureInfo("de-DE"); IMeasurement measurement = new IVGradientMeasurement(); measurement.PowerSupply = new Voltcraft(); measurement.PowerSupply.Open("/dev/cu.SLAB_USBtoUART"); measurement.PowerSupply.VoltageLimit = 60; measurement.PowerSupply.CurrentLimit = 9; DateTime start = DateTime.Now; IEnumerable <IVPair> points = measurement.Measure(); Console.WriteLine("{0}", (DateTime.Now - start).TotalSeconds); List <string> lines = new List <string>(); foreach (IVPair point in points) { lines.Add(string.Format(culture, "{0:0.00}\t{1:0.00}", point.Voltage, -point.Current)); } File.WriteAllLines("pvserve.txt", lines.ToArray()); }