-
Notifications
You must be signed in to change notification settings - Fork 8
[SMU Gang Pin Group] - Update "ForceCurrent" method overloads - Part 1 #369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
SemiconductorTestLibrary.Extensions/source/InstrumentAbstraction/DCPower/Source.cs
Outdated
Show resolved
Hide resolved
Ashutosh-NI
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please implement the changes from first pass review
|
Please ignore the changes in the following methods as they are part of Update Configure Methods PR and will be reverted once that PR is merged.
|
Mattjet27
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gmrsekar, I've done an initial review. Here is my feedback.
SemiconductorTestLibrary.Extensions/source/InstrumentAbstraction/DCPower/Source.cs
Outdated
Show resolved
Hide resolved
SemiconductorTestLibrary.Extensions/source/InstrumentAbstraction/DCPower/Source.cs
Outdated
Show resolved
Hide resolved
SemiconductorTestLibrary.Extensions/source/InstrumentAbstraction/DCPower/Source.cs
Outdated
Show resolved
Hide resolved
SemiconductorTestLibrary.Extensions/source/InstrumentAbstraction/DCPower/Source.cs
Outdated
Show resolved
Hide resolved
SemiconductorTestLibrary.Extensions/source/InstrumentAbstraction/DCPower/Source.cs
Outdated
Show resolved
Hide resolved
Mattjet27
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I approve of just the updates to the ForceCurrent methods. This PR should not be merged until #352 has been merged into main and those changes from main get pull into this one.
What does this Pull Request accomplish?
This PR contains part one of the code changes for
ForceCurrentoverloads to support ganging.Why should this Pull Request be merged?
This PR is part of the implementation of Ganging feature. It contains code changes related to
ForceCurrentmethod overloads. Right now this PR is limited to the following overloads.1) public static void ForceCurrent(this DCPowerSessionsBundle sessionsBundle, double currentLevel, double? voltageLimit = null, double? currentLevelRange = null, double? voltageLimitRange = null, bool waitForSourceCompletion = false)2) public static void ForceCurrent(this DCPowerSessionsBundle sessionsBundle, IDictionary<string, double> currentLevels, double? voltageLimit = null, double? currentLevelRange = null, double? voltageLimitRange = null, bool waitForSourceCompletion = false)3) public static void ForceCurrent(this DCPowerSessionsBundle sessionsBundle, SiteData<double> currentLevels, double? voltageLimit = null, double? currentLevelRange = null, double? voltageLimitRange = null, bool waitForSourceCompletion = false)4) public static void ForceCurrent(this DCPowerSessionsBundle sessionsBundle, PinSiteData<double> currentLevels, double? voltageLimit = null, double? currentLevelRange = null, double? voltageLimitRange = null, bool waitForSourceCompletion = false)5)public static void ForceCurrent(this DCPowerSessionsBundle sessionsBundle, DCPowerSourceSettings settings, bool waitForSourceCompletion = false)For overloads 2 to 5, instead of
Forcemethod,ConfigureAllChannelsAndInitiateGangedFollowerChannelsandInitiateChannelsare called directly insideDoto implement the following workflow.For 5th overload, the above workflow is executed when the bundle has at least one ganged pin group present. If not, usual workflow including
Forcemethod call is executed.The 1st overload calls the 5th overload directly.
What testing has been done?
One auto test per modified overload has been added.
DifferentSMUDevicesGanged_ForceCurrentWithSymmetricLimit_DividedCurrentForced()DifferentSMUDevicesGanged_ForcePerPinCurrentsWithSymmetricLimit_CorrectCurrentsForced()DifferentSMUDevicesGanged_ForcePerSiteCurrentsWithSymmetricLimit_CorrectCurrentsForced()DifferentSMUDevicesGanged_ForcePerPinPerSiteCurrentsWithSymmetricLimit_CorrectCurrentsForced()DifferentSMUDevicesGanged_ForceCurrentWithSingleSettingsObject_CorrectCurrentForced()