コード例 #1
0
        public Statistics(MeasurementValues values, double dvmInputResistance, File log)
        {
            InitializeComponent();

            this.dvmInputResistance = dvmInputResistance;
            this.values             = values;
            this.log   = log;
            sdc        = new Converters.SignificantDigitsConverter();
            lastValues = new MeasurementValues(0, 0);

            // bindings
            DataContext        = this;
            bindingExpressions = new List <BindingExpression>();
            bindingExpressions.Add(textBoxCharge.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxEnergy.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxTime.GetBindingExpression(TextBox.TextProperty));

            bindingExpressions.Add(textBoxVoltage.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxCurrent.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxPower.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxResistance.GetBindingExpression(TextBox.TextProperty));

            bindingExpressions.Add(textBoxVoltageSD.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxCurrentSD.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxPowerSD.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxResistanceSD.GetBindingExpression(TextBox.TextProperty));

            bindingExpressions.Add(textBoxVoltageMinimum.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxCurrentMinimum.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxPowerMinimum.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxResistanceMinimum.GetBindingExpression(TextBox.TextProperty));

            bindingExpressions.Add(textBoxVoltageMaximum.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxCurrentMaximum.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxPowerMaximum.GetBindingExpression(TextBox.TextProperty));
            bindingExpressions.Add(textBoxResistanceMaximum.GetBindingExpression(TextBox.TextProperty));

            bindingExpressions.Add(buttonLog.GetBindingExpression(IsEnabledProperty));
            bindingExpressions.Add(labelLogged.GetBindingExpression(VisibilityProperty));

            Reset();
        }
コード例 #2
0
        // DEBUG
        //private int crcFails = 0;

        public Communication()
        {
            values = new MeasurementValues(voltage, current);
            // creates new serialport object and sets it
            port              = new SerialPort();
            port.BaudRate     = baudRate;
            port.DataBits     = dataBits;
            port.Parity       = parity;
            port.ReadTimeout  = readTimeout;
            port.StopBits     = stopBits;
            port.WriteTimeout = writeTimeout;
            port.NewLine      = newLine;

            dataToWrite = new Queue <byte[]>();

            comLoop = new BackgroundWorker(); // background worker for the main communication loop
            comLoop.WorkerReportsProgress      = false;
            comLoop.WorkerSupportsCancellation = true;
            comLoop.DoWork += new DoWorkEventHandler(comLoop_DoWork);
        }
コード例 #3
0
        public Com()
        {
            values = new MeasurementValues(voltage, current);
            // creates new serialport object and sets it
            port              = new SerialPort();
            port.BaudRate     = baudRate;
            port.DataBits     = dataBits;
            port.Parity       = parity;
            port.ReadTimeout  = readTimeout;
            port.StopBits     = stopBits;
            port.WriteTimeout = writeTimeout;
            port.NewLine      = newLine;

            readData    = new byte[messageLength]; // initializes read data (data from the load) array
            dataToWrite = new byte[] { 0 };        // initializes write data (data from the load) array to default

            this.comLoop = new BackgroundWorker(); // background worker for the main communication loop
            this.comLoop.WorkerReportsProgress      = false;
            this.comLoop.WorkerSupportsCancellation = true;
            this.comLoop.DoWork += new DoWorkEventHandler(comLoop_DoWork);

            this.DataUpdatedEvent += calculateValues;
        }