Add class registry for libMeter
What
This MR adds a class registry for the implementations of IMeter
. Given that we are moving to a common interface for IMeter
it makes sense to define a class registry to make their use simpler.
Notes:
- Fills the m_listPowerSupply and m_listPowerSupplyChannel
EquipConf
caches (previously they were only ever checked, but never filled) -- a similar cache is added forIMeter
objects - Updates the labRemote JSON schema for
devices
to handlehw-type
of["PS", "Meter"]
(from["PS"]
) - Updates the
IMeter
interface to havesetConfiguration
andgetConfiguration
methods, the same as inIPowerSupply
- Adds
meter.cpp
, a command line utility similar topowersupply.cpp
that executes the various commands provided by theIMeter
interface - Updates
EquipConf
class to have acreateMeter
method, in the same way as forcreatePowerSupply
- Make
measureDCV
,measureDCI
,measureRES
,measureCAP
purely virtual methods ofIMeter
interface - Add
measureX(std::vector<unsigned> channels)
methods to complement themeasureX(unsigned channel)
methods- The
measureX(std::vector<unsigned> channels)
methods are implemented forDMM6500
by a simple loop over themeasureX(unsigned)
methods, but can be updated in a later MR to perhaps leverage the channel list functionality of SCPI command set to turn this into a single command versusN
commands (N
= number of channels requested).
- The
Edited by Daniel Joseph Antrim