Skip to content

Add libChiller class registry and equipment configuration

Daniel Joseph Antrim requested to merge dantrim_chiller_registry into devel

What

This MR adds IChiller to the class registry and equipment configuration.

Notes

  • Add listSupportedChillers executable
  • Add ChillerRegistry{.h,.cpp}, including the REGISTER_CHILLER macro
  • Changes to IChiller interface include:
    • Change constructor from IChiller() to IChiller(const std::string& name, std::vector<std::string> models = {});, to be in line with the other libX's that are handled by libEquipConf and the class registry mechanism
    • Add method IChiller::setConfiguration(const nlohmann::json&)
    • Add member std::string m_name
    • Add member std::string m_type
  • Changes to HuberChiller:
    • Update the constructor from HuberChiller() to HuberChiller(const std::string&)
    • Add call to REGISTER_CHILLER(HuberChiller)
  • Changes to PolySciLM:
    • Update the constructor from PolySciLM() to PolySciLM(const std::string&)
    • Add call to REGISTER_CHILLER(PolySciLM)
  • Add EquipConf::getChiller(const std::string& name) method in libEquipConf
  • Update the labRemote schema to reflect the supported hw-type to include "Chiller" as a valid option
  • Update the examples to reflect the handling of IChiller instances through EquipConf::getChiller

Related Issues

Edited by Daniel Joseph Antrim

Merge request reports