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
Activity
- src/libChiller/GlacierG50.cpp 0 → 100644
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"); - src/libPS/AgilentE3648APs.h 0 → 100644
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.
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); maxChannelsmight be more appropriate here. It will allow you to check the channel requested in the main commands. Similar to SCPIPs.
- src/libPS/DT1415ETPs.h 0 → 100644
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 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
-
6e480aa5...67e0cad6 - 165 commits from branch
berkeleylab:devel - 0edd8b21 - Implement setLogLevel, callable from Python
- be348276 - Update formatting
- a38d3fcf - Update formatting
- b7b03d11 - Merge branch 'devel' into juerg-dev
- 07b20d91 - Add support for Arduino Nano
- 48344e93 - Add DGT commands loosely following Matthias Saimpert's implementation but...
- 26fbcba1 - Merge branch 'juerg-arduino' into juerg-dev
- 43f04314 - Add pressure and flow measurement for PolyScience chiller
- 54dcb3ad - Remove unused from setup.py.
- 006f24ca - Increase baud rate from 9600 to 115200, use F() macro to save more dynamic memory
- be395c42 - Bug fix: add missing ScopeLock
- 6472dc19 - Use single write instead of high/low commands as requested by Karol
- 12ce67a0 - Formatting
- 6f55e1d7 - Formatting
- 27fd6f57 - Disabling libmpsse due to errors.
- 7707f37f - Merge branch 'juerg-dev' of ssh://gitlab.cern.ch:7999/ou-itk-pixels/labRemote into devel_oklahoma
Toggle commit list-
6e480aa5...67e0cad6 - 165 commits from branch