private void updateDCProcessing() { while (!bNeedExit) { if (bNeedUpdate) { bUpdateDone = false; UpdateIVIDCPwrOutput(); bNeedUpdate = false; } Thread.Sleep(10); try { UpdateStateDC?.Invoke(new StateDC( "0", iviDCPower.Outputs["0"].Measure(MeasurementType.Voltage), iviDCPower.Outputs["0"].CurrentLimit, iviDCPower.Outputs["0"].Measure(MeasurementType.Current), iviDCPower.Outputs["0"].Enabled, iviDCPower.Outputs["0"].QueryState(OutputState.ConstantVoltage), "1", iviDCPower.Outputs["1"].Measure(MeasurementType.Voltage), iviDCPower.Outputs["1"].CurrentLimit, iviDCPower.Outputs["1"].Measure(MeasurementType.Current), iviDCPower.Outputs["1"].Enabled, iviDCPower.Outputs["1"].QueryState(OutputState.ConstantVoltage))); } catch (Exception ex) { WarningDCUpdate?.Invoke(ex.Message); } } }
private void DriverOperationDC_Warning(object sender, Ivi.Driver.WarningEventArgs e) { WarningDCUpdate?.Invoke(e.Code.ToString() + " " + e.Text); }