Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020 
<== Date ==> <== Thread ==>

Subject: RE: I'm looking for a pvacces example to read PVStructure
From: Mark Rivers via Tech-talk <tech-talk@aps.anl.gov>
To: 'Heinz Junkes' <junkes@fhi-berlin.mpg.de>, "will.rogers@diamond.ac.uk" <will.rogers@diamond.ac.uk>
Cc: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Tue, 12 Mar 2019 17:25:58 +0000

I just built the master branch of exampleCPP with base 7.0.2 on linux-x86_64 with no warnings or errors.

 

corvette:base-7.0.2/modules/exampleCPP>git checkout master

Already on 'master'

corvette:base-7.0.2/modules/exampleCPP>make -sj clean

corvette:base-7.0.2/modules/exampleCPP>make –sj

 

Mark

 

 

From: tech-talk-bounces@aps.anl.gov <tech-talk-bounces@aps.anl.gov> On Behalf Of Heinz Junkes via Tech-talk
Sent: Tuesday, March 12, 2019 5:21 AM
To: will.rogers@diamond.ac.uk
Cc: tech-talk@aps.anl.gov
Subject: Re: I'm looking for a pvacces example to read PVStructure

 

Hi Will,

 

thanks for looking it up. But I always seem to try the examples that don't work.

 

E.G. getputmonitor.cpp

 

 

 

 

In file included from ../getputmonitor.cpp:16:

/Users/junkes/ABER_JETZT/epics-base/include/pv/pvaClient.h:1736:10: warning: 'epics::pvaClient::PvaClientMonitor::monitorConnect' hides overloaded virtual function [-Woverloaded-virtual]

    void monitorConnect(

         ^

/Users/junkes/ABER_JETZT/epics-base/include/pv/pvaClient.h:1603:18: note: hidden overloaded virtual function 'epics::pvaClient::PvaClientMonitorRequester::monitorConnect' declared here: type mismatch at 2nd parameter ('const epics::pvaClient::PvaClientMonitorPtr &' (aka 'const shared_ptr<epics::pvaClient::PvaClientMonitor> &') vs 'const epics::pvData::MonitorPtr &' (aka 'const shared_ptr<epics::pvAccess::Monitor> &'))

    virtual void monitorConnect(epics::pvData::Status const & status,

                 ^

/Users/junkes/ABER_JETZT/epics-base/include/pv/pvaClient.h:1740:10: warning: 'epics::pvaClient::PvaClientMonitor::unlisten' hides overloaded virtual function [-Woverloaded-virtual]

    void unlisten(epics::pvData::MonitorPtr const & monitor);

         ^

/Users/junkes/ABER_JETZT/epics-base/include/pv/pvaClient.h:1616:18: note: hidden overloaded virtual function 'epics::pvaClient::PvaClientMonitorRequester::unlisten' declared here: different number of parameters (0 vs 1)

    virtual void unlisten()

                 ^

2 warnings generated.

c++ -o myEx  -L/Users/junkes/pvTest/lib/darwin-x86 -L/Users/junkes/ABER_JETZT/epics-base/lib/darwin-x86        -arch x86_64            myEx_registerRecordDeviceDriver.o getputmonitor.o    -lmyExSupport -lqsrv -lpvAccessIOC -lpvAccessCA -lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom   

Undefined symbols for architecture x86_64:

  "epics::pvaClient::PvaClientGet::issueConnect()", referenced from:

      ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o

  "epics::pvaClient::PvaClientGet::setRequester(std::__1::shared_ptr<epics::pvaClient::PvaClientGetRequester> const&)", referenced from:

      ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o

  "epics::pvaClient::PvaClientGet::get()", referenced from:

      ClientGetPutMonitor::get() in getputmonitor.o

  "epics::pvaClient::PvaClientGet::getData()", referenced from:

      ClientGetPutMonitor::get() in getputmonitor.o

  "epics::pvaClient::PvaClientPut::issueConnect()", referenced from:

      ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o

  "epics::pvaClient::PvaClientPut::setRequester(std::__1::shared_ptr<epics::pvaClient::PvaClientPutRequester> const&)", referenced from:

      ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o

  "epics::pvaClient::PvaClientPut::getData()", referenced from:

      ClientGetPutMonitor::put(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in getputmonitor.o

      ClientGetPutMonitor::getDone(epics::pvData::Status const&, std::__1::shared_ptr<epics::pvaClient::PvaClientPut> const&) in getputmonitor.o

  "epics::pvaClient::PvaClientPut::issuePut()", referenced from:

      ClientGetPutMonitor::put(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in getputmonitor.o

  "epics::pvaClient::PvaClientChannel::issueConnect()", referenced from:

      ClientGetPutMonitor::init(std::__1::shared_ptr<epics::pvaClient::PvaClient> const&) in getputmonitor.o

  "epics::pvaClient::PvaClientChannel::createMonitor(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:

      ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o

  "epics::pvaClient::PvaClientChannel::setStateChangeRequester(std::__1::shared_ptr<epics::pvaClient::PvaClientChannelStateChangeRequester> const&)", referenced from:

      ClientGetPutMonitor::init(std::__1::shared_ptr<epics::pvaClient::PvaClient> const&) in getputmonitor.o

  "epics::pvaClient::PvaClientChannel::createGet(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:

      ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o

  "epics::pvaClient::PvaClientChannel::createPut(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:

      ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o

  "epics::pvaClient::PvaClientGetData::showChanged(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:

      ClientGetPutMonitor::get() in getputmonitor.o

  "epics::pvaClient::PvaClientGetData::getChangedBitSet()", referenced from:

      ClientGetPutMonitor::get() in getputmonitor.o

  "epics::pvaClient::PvaClientMonitor::issueConnect()", referenced from:

      ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o

  "epics::pvaClient::PvaClientMonitor::releaseEvent()", referenced from:

      ClientGetPutMonitor::event(std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&) in getputmonitor.o

  "epics::pvaClient::PvaClientMonitor::setRequester(std::__1::shared_ptr<epics::pvaClient::PvaClientMonitorRequester> const&)", referenced from:

      ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o

  "epics::pvaClient::PvaClientMonitor::poll()", referenced from:

      ClientGetPutMonitor::event(std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&) in getputmonitor.o

  "epics::pvaClient::PvaClientMonitor::stop()", referenced from:

      simple(char*) in getputmonitor.o

  "epics::pvaClient::PvaClientMonitor::start()", referenced from:

      simple(char*) in getputmonitor.o

      ClientGetPutMonitor::monitorConnect(epics::pvData::Status const&, std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&, std::__1::shared_ptr<epics::pvData::Structure const> const&) in getputmonitor.o

      non-virtual thunk to ClientGetPutMonitor::monitorConnect(epics::pvData::Status const&, std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&, std::__1::shared_ptr<epics::pvData::Structure const> const&) in getputmonitor.o

  "epics::pvaClient::PvaClientMonitor::getData()", referenced from:

      ClientGetPutMonitor::event(std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&) in getputmonitor.o

  "epics::pvaClient::PvaClientPutData::getPVStructure()", referenced from:

      ClientGetPutMonitor::put(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in getputmonitor.o

      ClientGetPutMonitor::getDone(epics::pvData::Status const&, std::__1::shared_ptr<epics::pvaClient::PvaClientPut> const&) in getputmonitor.o

  "epics::pvaClient::PvaClientMonitorData::showChanged(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:

      ClientGetPutMonitor::event(std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&) in getputmonitor.o

  "epics::pvaClient::PvaClient::createChannel(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:

      ClientGetPutMonitor::init(std::__1::shared_ptr<epics::pvaClient::PvaClient> const&) in getputmonitor.o

  "epics::pvaClient::PvaClient::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:

      simple(char*) in getputmonitor.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make[3]: *** [myEx] Error 1

make[2]: *** [install.darwin-x86] Error 2

make[1]: *** [src.install] Error 2

make: *** [myExApp.install] Error 2

 



On 12. Mar 2019, at 09:57, will.rogers@diamond.ac.uk wrote:

 

Hi Heinz,


I have recently tested some of the examples in https://github.com/epics-base/exampleCPP and they are working with EPICS 7.0.2.


Cheers,

Will


________________________________
From: tech-talk-bounces@aps.anl.gov <tech-talk-bounces@aps.anl.gov> on behalf of Heinz Junkes via Tech-talk <tech-talk@aps.anl.gov>
Sent: 11 March 2019 16:41:54
To: tech-talk
Subject: I'm looking for a pvacces example to read PVStructure

I'm looking for a pva example c++ program which I can currently use (with Epics 7).

Unfortunately the examples I've found on the net don't work at all.

Above all, there seems to be a little confusion between PVAClient and pvac? (Or I don't get it)

I have a client that wants to read the PVStructure of a PV and then put new data  into
NTTable vector fields (x, y, z and time_index):

humma-kavula:~ junkes$ pvlist 0xB9EC6A5C00000000C2AFA421
CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK

humma-kavula:~ junkes$ pvinfo CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
CHANNEL  : CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
STATE    : CONNECTED
ADDRESS  : 141.14.133.59:53379
epics:nt/NTTable:1.0
   string[] labels
   structure value
       double[] x
       double[] y
       double[] z
       int[] time_index
   string descriptor
   alarm_t alarm
       int severity
       int status
       string message
   time_t timeStamp
       long secondsPastEpoch
       int nanoseconds
       int userTag
   int counter


--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom

 


References:
I'm looking for a pvacces example to read PVStructure Heinz Junkes via Tech-talk
Re: I'm looking for a pvacces example to read PVStructure will.rogers--- via Tech-talk
Re: I'm looking for a pvacces example to read PVStructure Heinz Junkes via Tech-talk

Navigate by Date:
Prev: Re: I'm looking for a pvacces example to read PVStructure Marty Kraimer via Tech-talk
Next: IOC for Brooks SLA series Luciano Carneiro Guedes via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020 
Navigate by Thread:
Prev: Re: I'm looking for a pvacces example to read PVStructure Marty Kraimer via Tech-talk
Next: Re: I'm looking for a pvacces example to read PVStructure Marty Kraimer via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020 
ANJ, 12 Mar 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·