Improvements to the DT54xxPs class
Several improvements to the support of the little red CAEN power supplies.
Per-model Subclasses
The DT54xxPs
class now severs as a generic class implementing the commands for this class of power supplies. Several checks are configurable through the constructor. The actual user-facing power supply implementation, with the correct settings, is now a class with the same name as the model (ie: DT5472NPs
). This is similar to SCPIPs
.
The configurable checks in DT54xxPs
are:
-
models
: List of model identifier strings. -
output
: Polarity of the output. -
imaxl
: Maximum current [A] for low IMon range.
The supported models (ie: new classes) are:
DT5472NPs
DT5471NPs
Explicit Negative Voltage
The functions for setting the output voltage/current (setCurrentLevel
/setVoltageLevel
) now deal with negative values for the N variant (negative output voltage). The limit setting functions (setCurrentProtect
/setVoltageProtect
) use absolute values without any signs.
This results in a consistent result with a Keithley2410 connected by matching colors (ie: red is high voltage, black is 0V). For example:
Keithley24XX::setVoltageLevel(-500);
DT5472NPs::setVoltageLevel(-500);
What a given model supports is set by the output
member variable, set by the constructor. The correctness of the output
is is is also now part of the DT54xxPs::checkCompatibilityList
check using the POLARITY
command.
Semi-Auto-Ranging Current Measurement
The setCurrentLevel
/setCurrentProtect
functions now set the IMon range based on the requested current. If it is below imaxl
, then the low range (fine resolution) is set to get the best measurement. If it is above, then the high range is set.
Fix to Wait For Ramp Finish
The DT54xx power supplies seem to be very slow. Sometimes the ramp status does not update a long time after the power supply has been turned on. This can cause the ramp check to fail and the turnOn
function to complete. The ramp wait now waits 1 second before checking any status.
The wait for ramp functionality has also been put into a waitRamp
function so it can be used from anywhere.
Power Supply Specific Functionality
Added the following functions that are specific to the DT54xx series of power supplies.
-
polarity
: Returns the polarity of the connected power supply using theMON:POLARITY
command. -
setIMonRange
: Change the current monitor resolution usingSET:ISET
. -
getIMonRange
: Get the currently set current monitor resolution usingMON:ISET
. -
waitRamp
: Waits until a ramp, as indicated by the status bits, has been completed. Checks for both up and down directions.