Skip to content

Improvements to the DT54xxPs class

Karol Krizka requested to merge kk_littleredcaen into devel

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 the MON:POLARITY command.
  • setIMonRange: Change the current monitor resolution using SET:ISET.
  • getIMonRange: Get the currently set current monitor resolution using MON:ISET.
  • waitRamp: Waits until a ramp, as indicated by the status bits, has been completed. Checks for both up and down directions.
Edited by Karol Krizka

Merge request reports