> It’s because “long val”:
oops. For powerpc32 plain 'long' doesn't map to one of the store-able types.
'pvd::int32' is an alias for 'int' and 'pvd::int64' is 'long long'.
(It's a pity that c++ doesn't have a portable way to make this error clearer)
Casting to double should do the trick. (or pvd::int32 or pvd::int64)
>>> .set("counter", double(val))
> With the p4p server my client always crashed.
Progress! (of a sort)
> I have now inserted a byte array. This looks good on both sides. I still suspect some problem with "pointer arithmetic" or something similar.
I agree. The question is where.
On 4/3/19 9:39 AM, Heinz Junkes wrote:
>
>
>> On 2. Apr 2019, at 18:06, Michael Davidsaver <[email protected] <mailto:[email protected]>> wrote:
>>
>> Could you try replacing your client code with something based on the following?
>>
>>> #include <pv/pvData.h>
>>> #include <pva/client.h>
>>> namespace pvd = epics::pvData;
>>> struct Example {
>>> pvac::ClientProvider ctxt;
>>> pvac::ClientChannel chan;
>>>
>>> Example()
>>> :ctxt("pva")
>>> ,chan(ctxt.connect("CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK"))
>>> {}
>>>
>>> void put(long val) {
>>> pvd::shared_vector<double> X, Y, Z, T;
>>>
>>> for(long i=0; i<100; i++)
>>> X.push_back(i);
>>>
>>> for(long i=0; i<100; i++)
>>> Y.push_back(i+1);
>>>
>>> for(long i=0; i<100; i++)
>>> Z.push_back(i+2);
>>>
>>> for(long i=0; i<100; i++)
>>> T.push_back(i+3);
>>>
>>> chan.put()
>>> .set("value.column0", pvd::freeze(X))
>>> .set("value.column1", pvd::freeze(Y))
>>> .set("value.column2", pvd::freeze(Z))
>>> .set("value.column3", pvd::freeze(T))
>>> .set("counter", val)
>>> .exec();
>>>
>>> std::cout<<chan.get();
>>> }
>>> };
>
> This code can not be compiled:
>
> /Users/junkes/RTEMS_POST_AUSTRALIA/RTEMS/rtems-5/bin/powerpc-rtems5-g++ -B/Users/junkes/RTEMS_POST_AUSTRALIA/RTEMS/rtems-5/powerpc-rtems5/beatnik/lib/ -specs bsp_specs -qrtems -mcpu=7400 -DUNIX -O2 -g -ffunction-sections -fdata-sections -Wall -DRTEMS_HAS_ALTIVEC -DHAVE_MOTLOAD -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048 -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120 -I. -I../O.Common -I. -I. -I.. -I/export/epics/cry-test/include/compiler/gcc -I/export/epics/cry-test/include/os/RTEMS -I/export/epics/cry-test/include -I/Users/junkes/ABER_JETZT/support/asyn/include -I/Users/junkes/ABER_JETZT/support/devlib2/include -I/Users/junkes/ABER_JETZT/epics-base/include/compiler/gcc -I/Users/junkes/ABER_JETZT/epics-base/include/os/RTEMS -I/Users/junkes/ABER_JETZT/epics-base/include -MM -MF Example.d ../Example.cpp
> /Users/junkes/RTEMS_POST_AUSTRALIA/RTEMS/rtems-5/bin/powerpc-rtems5-g++ -B/Users/junkes/RTEMS_POST_AUSTRALIA/RTEMS/rtems-5/powerpc-rtems5/beatnik/lib/ -specs bsp_specs -qrtems -mcpu=7400 -DUNIX -O2 -g -ffunction-sections -fdata-sections -Wall -DRTEMS_HAS_ALTIVEC -DHAVE_MOTLOAD -DRTEMS_NETWORK_CONFIG_MBUF_SPACE=2048 -DRTEMS_NETWORK_CONFIG_CLUSTER_SPACE=5120 -I. -I../O.Common -I. -I. -I.. -I/export/epics/cry-test/include/compiler/gcc -I/export/epics/cry-test/include/os/RTEMS -I/export/epics/cry-test/include -I/Users/junkes/ABER_JETZT/support/asyn/include -I/Users/junkes/ABER_JETZT/support/devlib2/include -I/Users/junkes/ABER_JETZT/epics-base/include/compiler/gcc -I/Users/junkes/ABER_JETZT/epics-base/include/os/RTEMS -I/Users/junkes/ABER_JETZT/epics-base/include -c ../Example.cpp
> In file included from /Users/junkes/ABER_JETZT/epics-base/include/pv/pvData.h:22:0,
> from ../Example.cpp:5:
> /Users/junkes/ABER_JETZT/epics-base/include/pv/anyscalar.h: In instantiation of 'epics::pvData::AnyScalar::AnyScalar(T) [with T = long int]':
> /Users/junkes/ABER_JETZT/epics-base/include/pva/client.h:492:41: required from 'pvac::detail::PutBuilder& pvac::detail::PutBuilder::set(const string&, T, bool) [with T = long int; std::__cxx11::string = std::__cxx11::basic_string<char>]'
> ../Example.cpp:38:35: required from here
> /Users/junkes/ABER_JETZT/epics-base/include/pv/anyscalar.h:115:18: error: 'value' is not a member of 'epics::pvData::ScalarTypeID<long int>'
> _stype = (ScalarType)ScalarTypeID<TT>::value;
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> make[3]: *** [Example.o] Error 1
>
> It’s because “long val”:
>
> anyscalar.h:
>
> ...
> // this line fails to compile when type T can't be mapped to one of
> // the PVD scalar types.
> _stype = (ScalarType)ScalarTypeID<TT>::value;
> }
>
>
> call aExample
> 2019-04-03T07:35:41.411 Error binding socket 10.20.30.91:5076: Address already in use.
> —> runtime Error
>
> With the p4p server my client always crashed.
>
> And changed from ScalarArrayPtr to typeArrayPtr’s
>
> if (ind < 3){
> PVDoubleArrayPtr pvDoubleArray = static_pointer_cast<PVDoubleArray>(pvField);
>
> cout << " pvDoubleArray len : " << pvDoubleArray->getLength() << "\n";
>
> pvDoubleArray->setLength(100);
>
> if (ind == 0) { pvDoubleArray->putFrom(x); cout << " put x \n"; }
> if (ind == 1) { pvDoubleArray->putFrom(y); cout << " put y \n"; }
> if (ind == 2) { pvDoubleArray->putFrom(z); cout << " put z \n"; }
> }
> if (ind == 3) {
> PVIntArrayPtr pvIntArray = static_pointer_cast<PVIntArray>(pvField);
> cout << " pvIntArray len : " << pvIntArray->getLength() << "\n";
> pvIntArray->setLength(100);
> pvIntArray->putFrom(data);
> cout << " put time index \n";
> }
> if (ind == 4) {
> PVByteArrayPtr pvByteArray = static_pointer_cast<PVByteArray>(pvField);
>
> cout << " pvByteArray len : " << pvByteArray->getLength() << "\n";
> pvByteArray->setLength(100);
> pvByteArray->putFrom(dbyte);
> cout << " put byte dummy \n";
> break;
> }
>
>
>
> I have now inserted a byte array. This looks good on both sides. I still suspect some problem with "pointer arithmetic" or something similar.
>
>
> [junkes@dune epics]$ pvmonitor -r "" CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
> CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK structure
> string[] labels ["x", "y", "z", "time_index", "b"]
> structure value
> double[] column0 [9,17,25,33,41,49,57,65,73,81,89,97,105,13,21,29,37,45,53,61,69,77,85,93,101,109,17,25,33,41,49,57,65,73,81,89,97,105,2.97079e-313,6.36599e-313,9.76118e-313,1.31564e-312,1.65516e-312,1.99468e-312,2.3342e-312,1.07459e-13,3.53996e-307,2.42092e-322,7.58846e-301,0,6.36599e-314,3.06163e-296,1.50212e-231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> double[] column1 [10,18,26,34,42,50,58,66,74,82,90,98,106,14,22,30,38,46,54,62,70,78,86,94,102,110,5.09279e-313,8.48798e-313,1.18832e-312,1.52784e-312,1.86736e-312,2.20688e-312,9.9872e-130,2.90517e+180,3.03934e-296,1.91562e+53,6.7687e-322,0,0,2.42092e-322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> double[] column2 [11,19,27,35,43,51,59,67,75,83,91,99,107,3.81959e-313,7.21479e-313,1.061e-312,1.40052e-312,1.74004e-312,2.07956e-312,8.59816e-246,2.49375e+64,6.29808e-311,9.7588e-28,2.1371e-316,0,0,1.23516e-322,3.0615e-296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> int[] column3 [12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,2832,353769240,623257384,892745528,1162233672,1431721816,1701209960,2944,1,43255496,43245712,43245968,43255496,1414742849,1258291200,5352728,169090561,-186801060,0,0,0,0,0,2147483647,441169862,0,0,0,251,5328084,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> byte[] column4 [13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112]
> long counter 9
> string descriptor
> structure timeStamp
> long secondsPastEpoch 0
> int nanoseconds 0
> int userTag 0
> structure alarm
> int severity 0
> int status 0
> string message
> CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK <Disconnect>
> CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK structure
> string[] labels ["x", "y", "z", "time_index", "b"]
> structure value
> double[] column0 []
> double[] column1 []
> double[] column2 []
> int[] column3 []
> byte[] column4 []
> long counter 0
> string descriptor
> structure timeStamp
> long secondsPastEpoch 0
> int nanoseconds 0
> int userTag 0
> structure alarm
> int severity 0
> int status 0
> string message
> CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK structure
> string[] labels ["x", "y", "z", "time_index", "b"]
> structure value
> double[] column0 [0,8,16,24,32,40,48,56,64,72,80,88,96,4,12,20,28,36,44,52,60,68,76,84,92,100,8,16,24,32,40,48,56,64,72,80,88,96,1.061e-313,4.45619e-313,7.85138e-313,1.12466e-312,1.46418e-312,1.8037e-312,2.14322e-312,2.94319e-173,8.53851e+136,3.03934e-296,1.91562e+53,0,0,1.63042e-322,0,0,2.13693e-316,0,0,0,0,0,1.71457e-311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> double[] column1 [1,9,17,25,33,41,49,57,65,73,81,89,97,5,13,21,29,37,45,53,61,69,77,85,93,101,3.18299e-313,6.57819e-313,9.97338e-313,1.33686e-312,1.67638e-312,2.0159e-312,2.69662e-289,7.84891e+20,4.79244e-322,9.7588e-28,0,0,4.24399e-314,5.37227e-304,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> double[] column2 [2,10,18,26,34,42,50,58,66,74,82,90,98,1.9098e-313,5.30499e-313,8.70018e-313,1.20954e-312,1.54906e-312,1.88858e-312,3.53992e-307,6.83066e-96,1.23516e-322,3.03994e-296,2.13694e-316,0,0,2.122e-314,0,0,5.37227e-304,0,0,0,0,0,2.13693e-316,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> int[] column3 [3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63,67,71,75,79,83,87,91,95,99,0,1,67438087,336926231,606414375,875902519,1145390663,1414878807,1684366951,5231008,0,43245584,43245840,0,978539597,1095189855,96,0,0,0,0,0,0,0,0,0,2,0,825241856,0,16225296,0,0,0,0,0,0,0,0,5389196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5389000,0,0,0,0,0,0,0,0,0,0]
> byte[] column4 [4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]
> long counter 0
> string descriptor
> structure timeStamp
> long secondsPastEpoch 0
> int nanoseconds 0
> int userTag 0
> structure alarm
> int severity 0
> int status 0
> string message
> CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK structure
> string[] labels ["x", "y", "z", "time_index", "b"]
> structure value
> double[] column0 [1,9,17,25,33,41,49,57,65,73,81,89,97,5,13,21,29,37,45,53,61,69,77,85,93,101,9,17,25,33,41,49,57,65,73,81,89,97,1.2732e-313,4.66839e-313,8.06358e-313,1.14588e-312,1.4854e-312,1.82492e-312,2.16444e-312,2.31943e-52,3.53996e-307,2.42842e-315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> double[] column1 [2,10,18,26,34,42,50,58,66,74,82,90,98,6,14,22,30,38,46,54,62,70,78,86,94,102,3.39519e-313,6.79039e-313,1.01856e-312,1.35808e-312,1.6976e-312,2.03712e-312,1.99536e-168,5.78708e+141,3.03934e-296,1.91562e+53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> double[] column2 [3,11,19,27,35,43,51,59,67,75,83,91,99,2.122e-313,5.51719e-313,8.91238e-313,1.23076e-312,1.57028e-312,1.9098e-312,1.85165e-284,5.3866e+25,2.42842e-315,9.7588e-28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> int[] column3 [4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,0,219025168,488513312,758001456,1027489600,1296977744,1566465888,0,1,16225296,43245712,43245968,16225296,1414742849,1258291200,16225296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
> byte[] column4 [5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104]
> long counter 1
> string descriptor
> structure timeStamp
> long secondsPastEpoch 0
> int nanoseconds 0
> int userTag 0
> structure alarm
> int severity 0
> int status 0
> string message
>
>
> On the RTEMS-side all seems to be ok:
>
> PvaClientPut::getData channelName CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
> PvaClientPut::checkConnectState channelName CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
> structure
> string[] labels ["x", "y", "z", "time_index", "b"]
> structure value
> double[] column0 []
> double[] column1 []
> double[] column2 []
> int[] column3 []
> byte[] column4 []
> long counter 0
> string descriptor
> structure timeStamp
> long secondsPastEpoch 0
> int nanoseconds 0
> int userTag 0
> structure alarm
> int severity 0
> int status 0
> string message
>
> bis hierhin ging es gut
> counterField : 0
> labels : {5}[x, y, z, time_index, b]
> starting field column0 ... x
> type scalarArray
> pvDoubleArray len : 0
> put x
> starting field column1 ... y
> type scalarArray
> pvDoubleArray len : 0
> put y
> starting field column2 ... z
> type scalarArray
> pvDoubleArray len : 0
> put z
> starting field column3 ... time_index
> type scalarArray
> pvIntArray len : 0
> put time index
> starting field column4 ... b
> type scalarArray
> pvByteArray len : 0
> put byte dummy
> PvaClientPut::issuePut channelName CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK pvStructure
> structure
> string[] labels ["x", "y", "z", "time_index", "b"]
> structure value
> double[] column0 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99]
> double[] column1 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]
> double[] column2 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101]
> int[] column3 [3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102]
> byte[] column4 [4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]
> long counter 0
> string descriptor
> structure timeStamp
> long secondsPastEpoch 0
> int nanoseconds 0
> int userTag 0
> structure alarm
> int severity 0
> int status 0
> string message
> bitSet {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}
>
> PvaClientPut::putDone channelName CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK status.isOK true
> putDone CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK status Status [type=OK]
> counter : 1
> PvaClientPut::getData channelName CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
> PvaClientPut::checkConnectState channelName CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
> bis hierhin ging es gut
> counterField : 0
> labels : {5}[x, y, z, time_index, b]
> starting field column0 ... x
> type scalarArray
> pvDoubleArray len : 100
> put x
> starting field column1 ... y
> type scalarArray
> pvDoubleArray len : 100
> put y
> starting field column2 ... z
> type scalarArray
> pvDoubleArray len : 100
> put z
> starting field column3 ... time_index
> type scalarArray
> pvIntArray len : 100
> put time index
> starting field column4 ... b
> type scalarArray
> pvByteArray len : 100
> put byte dummy
> PvaClientPut::issuePut channelName CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK pvStructure
> structure
> string[] labels ["x", "y", "z", "time_index", "b"]
> structure value
> double[] column0 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]
> double[] column1 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101]
> double[] column2 [3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102]
> int[] column3 [4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]
> byte[] column4 [5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104]
> long counter 1
> string descriptor
> structure timeStamp
> long secondsPastEpoch 0
> int nanoseconds 0
> int userTag 0
> structure alarm
> int severity 0
> int status 0
> string message
> bitSet {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}
>
> PvaClientPut::putDone channelName CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK status.isOK true
> putDone CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK status Status [type=OK]
> counter : 2
> PvaClientPut::getData channelName CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
> PvaClientPut::checkConnectState channelName CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
>
>
>
> But my client works only once after starting the server :-(
> I have already set the stack to epicsThreadStackSizeBig ;-)
>
> Danke,
> Heinz
>
>
>
- References:
- PvData , PvAccess, Confusion with different hardware architectures Heinz Junkes via Tech-talk
- Re: PvData , PvAccess, Confusion with different hardware architectures Michael Davidsaver via Tech-talk
- Re: PvData , PvAccess, Confusion with different hardware architectures Heinz Junkes via Tech-talk
- Navigate by Date:
- Prev:
Re: PvData , PvAccess, Confusion with different hardware architectures Heinz Junkes via Tech-talk
- Next:
Asynchronous put for PV hosted by Python IOC using pcaspy but without 'asyn' field. Gregory, Ray 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
<2019>
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: PvData , PvAccess, Confusion with different hardware architectures Heinz Junkes via Tech-talk
- Next:
Re: PvData , PvAccess, Confusion with different hardware architectures Michael Davidsaver 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
<2019>
2020
2021
2022
2023
2024
|