pvget -m show time/alarm
MD: cleanups
This commit is contained in:

committed by
Michael Davidsaver

parent
7cf78d5b9b
commit
a2b60771c2
@ -305,14 +305,7 @@ struct MonitorRequesterImpl : public MonitorRequester, public Tracker
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (fieldSeparator == ' ' && value->getField()->getType() == scalar)
|
printMonitoredValue (value, element);
|
||||||
std::cout << std::setw(30) << std::left << m_channelName;
|
|
||||||
else
|
|
||||||
std::cout << m_channelName;
|
|
||||||
|
|
||||||
std::cout << fieldSeparator;
|
|
||||||
|
|
||||||
terse(std::cout, value) << '\n';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -344,6 +337,35 @@ struct MonitorRequesterImpl : public MonitorRequester, public Tracker
|
|||||||
std::cerr << "unlisten" << m_channelName << '\n';
|
std::cerr << "unlisten" << m_channelName << '\n';
|
||||||
done();
|
done();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
// For value type scalar or scalarArray when mode is ValueOnlyMode
|
||||||
|
void printMonitoredValue (PVField::shared_pointer value, MonitorElement* element)
|
||||||
|
{
|
||||||
|
PVStructure::shared_pointer timeStamp(element->pvStructurePtr->getSubField<PVStructure>("timeStamp"));
|
||||||
|
PVStructure::shared_pointer alarm(element->pvStructurePtr->getSubField<PVStructure>("alarm"));
|
||||||
|
|
||||||
|
if (fieldSeparator == ' ' && value->getField()->getType() == scalar)
|
||||||
|
std::cout << std::setw(30) << std::left;
|
||||||
|
|
||||||
|
std::cout << m_channelName << fieldSeparator;
|
||||||
|
|
||||||
|
if (timeStamp)
|
||||||
|
terseStructure(std::cout, timeStamp) << " ";
|
||||||
|
|
||||||
|
terse(std::cout, value) << " ";
|
||||||
|
|
||||||
|
if (alarm)
|
||||||
|
{
|
||||||
|
PVScalar::shared_pointer pvSeverity(alarm->getSubField<PVScalar>("severity"));
|
||||||
|
|
||||||
|
bool inAlarm = !pvSeverity ? false : (pvSeverity->getAs<uint32>()!=0);
|
||||||
|
if (inAlarm)
|
||||||
|
terseStructure(std::cout, alarm);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cout<< '\n';
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
@ -565,8 +587,6 @@ int main (int argc, char *argv[])
|
|||||||
std::cerr<<"Provider "<<uri.protocol<<" can't create channel \""<<pvs[n]<<"\"\n";
|
std::cerr<<"Provider "<<uri.protocol<<" can't create channel \""<<pvs[n]<<"\"\n";
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if(!channel)
|
|
||||||
continue;
|
|
||||||
chan_cache[pvs[n]] = channel;
|
chan_cache[pvs[n]] = channel;
|
||||||
} else {
|
} else {
|
||||||
channel = it->second;
|
channel = it->second;
|
||||||
|
Reference in New Issue
Block a user