15 #include "userlevelmeter.h"
18 REGISTER_TYPE(
XDriverList, ILM,
"Oxford ILM Helium Level Meter");
19 REGISTER_TYPE(
XDriverList, LM500,
"Cryomagnetics LM-500 Level Meter");
21 XILM::XILM(
const char *name,
bool runtime,
22 Transaction &tr_meas,
const shared_ptr<XMeasure> &meas) :
24 const char *channels_create[] = {
"He", 0L};
29 XILM::getLevel(
unsigned int ch) {
30 return read(ch + 1) / 10.0;
33 XLM500::XLM500(
const char *name,
bool runtime,
34 Transaction &tr_meas,
const shared_ptr<XMeasure> &meas) :
36 const char *channels_create[] = {
"1",
"2", 0L};
39 interface()->setEOS(
"");
40 interface()->setGPIBUseSerialPollOnWrite(
false);
41 interface()->setGPIBUseSerialPollOnRead (
false);
42 interface()->setGPIBWaitBeforeWrite(40);
44 interface()->setGPIBWaitBeforeRead(40);
45 interface()->setSerialEOS(
"\r\n");
46 interface()->setSerialBaudRate(9600);
47 interface()->setSerialHasEchoBack(
true);
51 XLM500::getLevel(
unsigned int ch) {
52 interface()->queryf(
"MEAS? %u", ch + 1);
53 return interface()->toDouble();