public IV_Data[] ListCurrentSweep(double[] sweepList) { var stringList = "{"; for (int i = 0; i < sweepList.Length - 1; i++) { stringList += sweepList[i].ToString(NumberFormatInfo.InvariantInfo) + ", "; } stringList += sweepList[sweepList.Length - 1] + "}"; _driver.SendCommandRequest(string.Format("DCSweepIList_smu{0}({1}, {2}, {3}, {4})", ChannelIdentifier, stringList, sweepList.Length.ToString(NumberFormatInfo.InvariantInfo), Compliance.ToString(NumberFormatInfo.InvariantInfo), NPLC.ToString(NumberFormatInfo.InvariantInfo))); var result = new IV_Data[sweepList.Length]; for (int i = 0; i < result.Length; i++) { result[i] = new IV_Data(_driver.ReceiveDeviceAnswer()); } return(result); }
public IV_Data[] LogarithmicCurrentSweep(double start, double stop, int numPoints) { _driver.SendCommandRequest(string.Format("DCSweepILog_smu{0}({1}, {2}, {3}, {4}, {5})", ChannelIdentifier, start.ToString(NumberFormatInfo.InvariantInfo), stop.ToString(NumberFormatInfo.InvariantInfo), numPoints.ToString(NumberFormatInfo.InvariantInfo), Compliance.ToString(NumberFormatInfo.InvariantInfo), NPLC.ToString(NumberFormatInfo.InvariantInfo))); var result = new IV_Data[numPoints]; for (int i = 0; i < result.Length; i++) { result[i] = new IV_Data(_driver.ReceiveDeviceAnswer()); } return(result); }
public IV_Data[] PulsedLinearCurrentSweep(double start, double stop, int numPoints, double pulseWidth, double pulsePeriod, bool remoteSense = false) { var _senseMode = (remoteSense == true) ? "true" : "false"; _driver.SendCommandRequest(string.Format("PulsedSweepISingle_smu{0}({1}, {2}, {3}, {4}, {5}, {6}, {7}, {8})", ChannelIdentifier, start.ToString(NumberFormatInfo.InvariantInfo), stop.ToString(NumberFormatInfo.InvariantInfo), numPoints.ToString(NumberFormatInfo.InvariantInfo), pulseWidth.ToString(NumberFormatInfo.InvariantInfo), pulsePeriod.ToString(NumberFormatInfo.InvariantInfo), Compliance.ToString(NumberFormatInfo.InvariantInfo), NPLC.ToString(NumberFormatInfo.InvariantInfo), _senseMode)); var result = new IV_Data[numPoints]; for (int i = 0; i < result.Length; i++) { result[i] = new IV_Data(_driver.ReceiveDeviceAnswer()); } return(result); }