2 #include <QMutexLocker>
10 printf(
"EpicsDouble::EpicsDouble(%s)\n", qPrintable(pvName));
23 SEVCHK(ca_create_subscription(DBR_GR_DOUBLE, 0,
m_ChannelID, DBE_VALUE|DBE_ALARM,
29 printf(
"Channel %s connected\n", qPrintable(
pvName()));
36 union db_access_val *pb = (
union db_access_val *) args.dbr;
39 memset(&res, 0xff,
sizeof(dbr_gr_double));
46 printf(
"data type %ld not supported\n", args.type);
51 if (r && r->
debug()) {
52 printf(
"%s Epics Double Event Handler called %ld = %g\n", ca_name(args.chid), args.type, res.value);
66 printf(
"ca_put(%d,%p,%g)\n", DBR_DOUBLE,
channelID(), newval);
76 if (
m_Value.value != newval.value) {
80 if ((
m_Value.status != newval.status) ||
81 (
m_Value.severity != newval.severity) ||
82 (
m_Value.precision != newval.precision) ||
83 (
m_Value.upper_disp_limit != newval.upper_disp_limit) ||
84 (
m_Value.lower_disp_limit != newval.lower_disp_limit) ||
85 (
m_Value.upper_warning_limit != newval.upper_warning_limit) ||
86 (
m_Value.lower_warning_limit != newval.lower_warning_limit) ||
87 (
m_Value.upper_alarm_limit != newval.upper_alarm_limit) ||
88 (
m_Value.lower_alarm_limit != newval.lower_alarm_limit) ||
89 (strcmp(
m_Value.units,newval.units) != 0)) {
void changeValue(dbr_gr_double val)
static void event_handler(struct event_handler_args arg)
virtual caEventCallBackFunc * get_event_handler()
void valueGraphicChanged(dbr_gr_double val)
void ca_pend_io(double t)
EpicsDouble(QString pvName, QObject *parent=0, int debug=0)