Hello Malte
Bearing in mind Michael's comment that the CLI tools are a work in progress, this worked well for me:
Here's a Q:group table:
acq2206_088> pvget acq2206_588:SOE_LUT:TAB:Tbl | head
acq2206_588:SOE_LUT:TAB:Tbl
Row Event Pad PV_ID OFFSET_US
0 1000 0 2000 0
1 1001 0 2001 2
2 1002 0 2002 4
Nice table-like render for the human client!
acq2206_088> pvxget acq2206_588:SOE_LUT:TAB:Tbl
acq2206_588:SOE_LUT:TAB:Tbl
record._options.atomic bool = true
labels string[] = {5}["Row", "Event", "Pad", "PV_ID", "OFFSET_US"]
value.ROWNUM uint8_t[] = {64}[0, ....
This is more like the "middleware developer edition" with ALL the info, but it gives a good clue how to pick off elements e.g. the first column :
acq2206_088> pvxget -r value.ROWNUM acq2206_588:SOE_LUT:TAB:Tbl | head
acq2206_588:SOE_LUT:TAB:Tbl
value.ROWNUM uint8_t[] = {64}[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]
So that works well!
ps: for Michael, the old caget tools seem to default to "client app developer mode", by default giving just what that developer really wants - the value.
e.g. repeat the above for a group of scalars:
acq2206_088> pvxget acq2206_588:SMPL | wc -l
154
154 lines : too much information!
The interesting bit for the "client app dev" :
acq2206_088> pvxget acq2206_588:SMPL | head -n 3
acq2206_588:SMPL
record._options.atomic bool = true
AI_COUNT.value int32_t = 32
OK, so pvxget can pull this field by itself and this is good:
acq2206_088> pvxget -r AI_COUNT.value acq2206_588:SMPL | head -n 3
acq2206_588:SMPL
AI_COUNT.value int32_t = 32
Hmm, but what I really want to see at a glance is all the fields and their values, like this:
acq2206_088> /usr/local/bin/pvget_value -t acq2206_588:SMPL
AI_COUNT 32
AI_INDEX 0
DI_COUNT 1
DI_INDEX 16
NSAM 1024
SP_COUNT 15
SP_INDEX 17
SSB 128
.. using wrapper script below to fake what perhaps "caget" would have done.
The wrapper is simple enough* of course, but it would be really helpful if that could be the "quick-look-see" default for the CLI tool itself.
* OK, after some googled sed/awk foo :-)
Cheers
Peter
acq2206_088> cat /usr/local/bin/pvget_value
#!/bin/sh
if [ -z $1 ]; then
echo "USAGE pvget_value [-t] PV [PV]"
exit 1
fi
if [ "$1" = "-t" ];then
shift
pvget $* | sed -n '/epics:nt/N;s/\n//p' | awk '{ printf("%-10s %5s\n", $2, $5) }'
else
pvget $* | sed -n '/epics:nt/N;s/\n//p'
fi
On 12/03/2026 10:20, Gotz, Malte via Tech-talk wrote:
Hello Michael,
thank you for your quick reply. I totally understand that pv… and pvx… are
not fully compatible and you do give ample warning, that the command line
tools from pvxs are rather for testing. I mostly remarked on the
discrepancies, because I also couldn’t find a definitive documentation on
how to use that feature. Now, I know, this wasn’t just a failure of my
search skills.
As far as I understand it this explains the differences in some -r arguments
working for pvxget but not for pvget and vice versa.
The more pressing issue for me is, that if I create an NT/Table group with
QSRV2, I can’t retrieve a single column using pvget with any syntax. My
understanding is that the client tool (pvget) should parse the string into
some structure and send that via PVA to retrieve/request the data. The QSRV2
on the other hand doesn’t need to parse the string I give with pvget -r,
right?
So, any idea what is going on here?
Von: Michael Davidsaver <mdavidsaver at gmail.com>
Gesendet: Mittwoch, 11. März 2026 21:48
An: Gotz, Malte <malte.gotz at helmholtz-berlin.de>
Cc: tech-talk at aps.anl.gov
Betreff: Re: pvget, pvxget and pvxs interoperability and differences
On 3/11/26 7:53 AM, Michael Davidsaver wrote:
PRs and issues open.
I have created an additional issue specifically about pvRequest syntax
interoperability
<https://urldefense.us/v3/__https://github.com/epics-base/pvxs/issues/156__;!!G_uCfscf7eWS!f0sfPQ_1pDgB3TagFQirbwsUOp7PTzmsJL80KGOvZX1tMydeM-p2l1koESeGKHw3fOLS3d2X6smPxXkf96vYrUNffsw$ >
https://urldefense.us/v3/__https://github.com/epics-base/pvxs/issues/156__;!!G_uCfscf7eWS!f0sfPQ_1pDgB3TagFQirbwsUOp7PTzmsJL80KGOvZX1tMydeM-p2l1koESeGKHw3fOLS3d2X6smPxXkf96vYrUNffsw$
--
Peter Milne
Director of Sales
https://urldefense.us/v3/__http://www.d-tacq.com__;!!G_uCfscf7eWS!f0sfPQ_1pDgB3TagFQirbwsUOp7PTzmsJL80KGOvZX1tMydeM-p2l1koESeGKHw3fOLS3d2X6smPxXkf96vY74y6Y2k$
- References:
- pvget, pvxget and pvxs interoperability and differences Gotz, Malte via Tech-talk
- Re: pvget, pvxget and pvxs interoperability and differences Michael Davidsaver via Tech-talk
- Re: pvget, pvxget and pvxs interoperability and differences Michael Davidsaver via Tech-talk
- AW: pvget, pvxget and pvxs interoperability and differences Gotz, Malte via Tech-talk
- Navigate by Date:
- Prev:
Re: E3 conda build problem Anders Lindh Olsson via Tech-talk
- Next:
Re: E3 conda build problem Jörn Dreyer 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
2025
<2026>
- Navigate by Thread:
- Prev:
AW: pvget, pvxget and pvxs interoperability and differences Gotz, Malte via Tech-talk
- Next:
EPICS SNMP compile error Peter Sx 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
2025
<2026>
|