Skip to content
Snippets Groups Projects

Implementation of DT1415ET HV power supply and Glacier G50 chiller

At University of Oklahoma we are using a DT1415ET HV powers supply (manual) and Glacier G50 chiller (manual) for DCS as a pixel testing backup site.

I tested these implementations with examples/chiller_example and examples/control_powersupply_example and everything is working as expected.

The DT1415ETPs implementation is derived from the existing DT54xxPs, which I renamed to DTxxxxPs. The DT1415ET has is a multi-channel power supply so I had to change the implementation of DT54xxPs a bit to accommodate. I added an overloaded multi-channel version of DT54xxPs::command() and also added boolean flag to the constructor of DT54xxPs allowing to specify whether the power supply is single or multi-channel. I do not have access to a DT5471NPs or DT5472NPs so I can't test myself if these changes broke compatibility with those power supplies.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
1 #include "GlacierG50.h"
2
3 GlacierG50::GlacierG50()
4 { }
5
6 GlacierG50::~GlacierG50()
7 { }
8
9 void GlacierG50::init()
10 { }
11
12 std::string GlacierG50::command(const std::string& cmd) {
13 std::string response = m_com->sendreceive(cmd+"\r");
  • 1 #ifndef AGILENTE3648APS_H
    2 #define AGILENTE3648APS_H
    3
    4 #include <string>
    5
    6 #include "AgilentPs.h"
    7
    8 /**
    9 * Implementation for the [Agilent E364xA Dual Channel Output DC Power Supplies](https://www.mouser.com/new/keysight/keysight-e364xa-dc-power-supplies-eu/#TextLinks-5).
    • Replace with "Agilent E3648A" to be explicit about the model.

      This power supply is in theory supported by the AgilentE364xAPs class. It just needs the model added to the list to indicate someone has tested it.

      However adding this class goes in the direction of !139 . So I support this change. We should just be explicit about the model in the documentation.

    • Please register or sign in to reply
  • 76 77 * @param output The output voltage is negative
    77 78 * @param imaxl Maximum current [A] for low IMon range
    78 79 */
    79 DT54xxPs(const std::string& name, const std::vector<std::string>& models={}, Polarity output=Polarity::Positive, double imaxl=105e-6);
    80 ~DT54xxPs() =default;
    80 DTxxxxPs(const std::string& name, const std::vector<std::string>& models={}, Polarity output=Polarity::Positive, double imaxl=105e-6, bool single_channel=true);
  • 76 77 * @param output The output voltage is negative
    77 78 * @param imaxl Maximum current [A] for low IMon range
  • 1 #ifndef DT1415ETPS_H
    2 #define DT1415ETPS_H
    3
    4 #include "DTxxxxPs.h"
    5
    6 //! \brief Implementation for the CAEN DT1415ETN power supplies
    7 /**
    8 * [Reference](https://www.caen.it/products/dt5471/)
  • 14 REGISTER_POWERSUPPLY(DTxxxxPs)
    14 15
    15 DT54xxPs::DT54xxPs(const std::string& name, const std::vector<std::string>& models, Polarity output, double imaxl)
    16 : IPowerSupply(name, models), m_output(output), m_imaxl(imaxl)
    16 DTxxxxPs::DTxxxxPs(const std::string& name, const std::vector<std::string>& models, Polarity output, double imaxl, bool single_channel)
    17 : IPowerSupply(name, models), m_output(output), m_imaxl(imaxl), m_single_channel(single_channel)
    17 18 { }
    18 19
    19 void DT54xxPs::reset()
    20 void DTxxxxPs::reset()
    20 21 {
    21 command("SET","OFF");
    22 if(m_single_channel)
    23 command("SET","OFF");
    24 else
    25 command("SET",8,"OFF");
  • Dear @dwilbern,

    could you please follow up on the comments from Karol?

    Thanks, Elisabetta

  • Dear @dwilbern,

    could you please urgently follow up on the comments from Karol? And then rebase?

    Thanks, Elisabetta

  • Dear @dwilbern,

    unless you address the comments within two weeks, we will close this MR without merging. Please, take actions.

    Elisabetta

  • added 181 commits

    Compare with previous version

  • added 1 commit

    • c1b571c7 - Fixed chiller python bindings.

    Compare with previous version

  • Please register or sign in to reply
    Loading