EPICS Controls 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  2021  2022  2023  2024  2025  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  2021  2022  2023  2024  2025 
<== Date ==> <== Thread ==>

Subject: Re: pvaClientCPP Release 4.5.0 access to a single sub field that has the correct type
From: Marty Kraimer via Tech-talk <[email protected]>
To: Heinz Junkes <[email protected]>
Cc: [email protected]
Date: Sun, 1 Dec 2019 05:22:50 -0500
On 12/1/19 4:07 AM, Heinz Junkes wrote:
Hello, Marty,

thank you for wanting to take care of this.

A question on the side:
Is there a reason why you can't call also int's and long's directly?

There is no
getInt, putInt, getLong, putLong, getIntArray, putIntArray, getLongArray, putLongArray etc.

Or did I miss something?
This means byte, short, ubyte, ushort, uint, ulong, and float.
Note that double does work for all the numeric types.
The other types are converted to from double.

My thought was to provide the most useful convenience methods.
If someone really want to use any of the integer types they must do more work.

Marty
Danke, Heinz


On 30. Nov 2019, at 16:58, Marty Kraimer via Tech-talk <[email protected]> wrote:

You are correct that the code for puts only works on a top level field named  value.

A new issue has been created.
https://github.com/epics-base/pvaClientCPP/issues/63
Marty

On 11/28/19 11:12 AM, Heinz Junkes via Tech-talk wrote:
According the documentation to Release 4.5.0 :

Changes have been made for getDouble, putDouble, getDoubleArray, putDoubleArray, getString, putString, getStringArray, and putStringArray.

1) Previously each only had support for a top level field named value. Each now allows access to a single sub field that has the correct type. Thus pvRequest must select a single field. For example

     pva->channel("PVRdumbPowerSupply")->putDouble(1.0,"power.value" );


I try to access a double array  but with no success:

     string channelName("CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK");
     string providerName("pva");
     PvaClientPtr pva = PvaClient::get(providerName);

        pva->channel(channelName, providerName, 1.0)->putDoubleArray(freeze(valx), "value.column0");

error message:
2019/11/28 10:06:17.754 sis0: void Sis3316Port::updateTask(): PvaClientData::putDoubleArray() did not find a scalarArray field

Command line works:

[junkes@h epics]$ pvget -r "value.column0" CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK structure
     structure value
         double[] column0 []

How can I address the DoubleArray?

Danke Heinz



References:
pvaClientCPP Release 4.5.0 access to a single sub field that has the correct type Heinz Junkes via Tech-talk
Re: pvaClientCPP Release 4.5.0 access to a single sub field that has the correct type Marty Kraimer via Tech-talk
Re: pvaClientCPP Release 4.5.0 access to a single sub field that has the correct type Heinz Junkes via Tech-talk

Navigate by Date:
Prev: Re: pvaClientCPP Release 4.5.0 access to a single sub field that has the correct type Heinz Junkes via Tech-talk
Next: Re: lsi record for more than 40 characters doesn't work Ralph Lange 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  2021  2022  2023  2024  2025 
Navigate by Thread:
Prev: Re: pvaClientCPP Release 4.5.0 access to a single sub field that has the correct type Heinz Junkes via Tech-talk
Next: lsi record for more than 40 characters doesn't work dmnr infn 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  2021  2022  2023  2024  2025 
ANJ, 01 Dec 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·