public void SetSourceCurrent(double val) { if (_currentLimitFunction != Keithley26xxBLimitFunctions.LIMIT_IV) { _currentLimitFunction = Keithley26xxBLimitFunctions.LIMIT_IV; _display.smuX.limit.func = Keithley26xxBLimitFunctions.LIMIT_IV; } if (SourceMode != SMUSourceMode.Current) { SourceMode = SMUSourceMode.Current; } var toSet = val; if (val < minCurrentVal) { toSet = minCurrentVal; } else if (val > maxCurrentVal) { toSet = maxCurrentVal; } _driver.SendCommandRequest(string.Format("SetCurrent_smu{0}({1}, {2})", ChannelIdentifier, toSet.ToString(CultureInfo.InvariantCulture), _currentVoltageCompliance.ToString(CultureInfo.InvariantCulture))); }
public void SetSourceVoltage(double val) { if (_currentLimitFunction != Keithley26xxBLimitFunctions.LIMIT_IV) { _currentLimitFunction = Keithley26xxBLimitFunctions.LIMIT_IV; _display.smuX.limit.func = Keithley26xxBLimitFunctions.LIMIT_IV; } if (SMU_SourceMode != SourceMode.Voltage) SMU_SourceMode = SourceMode.Voltage; var toSet = val; if (val < minVoltageVal) toSet = minVoltageVal; else if (val > maxVoltageVal) toSet = maxVoltageVal; _driver.SendCommandRequest(string.Format("SetVoltage_smu{0}({1}, {2})", ChannelIdentifier, toSet.ToString(CultureInfo.InvariantCulture), _currentCurrentCompliance.ToString(CultureInfo.InvariantCulture))); }