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