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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: aCalcout: how to obtain scalar from array? |
From: | "Paduan Donadio, Marcio" <[email protected]> |
To: | "[email protected]" <[email protected]> |
Date: | Wed, 18 Oct 2017 03:22:58 +0000 |
Hello, again.
The answer was already in Tech Talk: http://www.aps.anl.gov/epics/tech-talk/2015/msg01340.php
The correct way of extracting a single element using aCalcout is indexing the element by means of AA[0,0], AA[1,1], etc.
Best regards,
Márcio Paduan Donadio
Control Systems Engineer
SLAC National Accelerator Laboratory
Advanced Instrumentation for Research Division
2575 Sand Hill Rd
Menlo Park CA 94025
Office (650) 926-5007
De: Paduan Donadio, Marcio
Enviado: terça-feira, 17 de outubro de 2017 18:49 Para: [email protected] Assunto: aCalcout: how to obtain scalar from array? Good night for everyone.
I am using calc 3.6.1 and EPICS 3.15.5.
I am trying to obtain a scalar from an array using aCalcout, with the syntax AA[1], for example. Apparently, aCalcout is ignoring the calculation from this case. See outputs I tried with IX (NELM=3 and NUSE=3).
$ caget PNA:B084:RF01:_extractJitterFreqRangeData
PNA:B084:RF01:_extractJitterFreqRangeData 0
$ caget PNA:B084:RF01:_extractJitterFreqRangeData.AVAL
PNA:B084:RF01:_extractJitterFreqRangeData.AVAL 3 0 1 2
Trying IX[2]:
$ caput PNA:B084:RF01:_extractJitterFreqRangeData.CALC "IX[2]"
Old : PNA:B084:RF01:_extractJitterFreqRangeData.CALC IX
New : PNA:B084:RF01:_extractJitterFreqRangeData.CALC IX[2]
$ caput PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
Old : PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
New : PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
$ caget PNA:B084:RF01:_extractJitterFreqRangeData
PNA:B084:RF01:_extractJitterFreqRangeData 0
$ caget PNA:B084:RF01:_extractJitterFreqRangeData.AVAL
PNA:B084:RF01:_extractJitterFreqRangeData.AVAL 3 0 1 2
It works with subranges, like IX[1,2]:
$ caput PNA:B084:RF01:_extractJitterFreqRangeData.CALC "IX[1,2]"
Old : PNA:B084:RF01:_extractJitterFreqRangeData.CALC IX[2]
New : PNA:B084:RF01:_extractJitterFreqRangeData.CALC IX[1,2]
$ caput PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
Old : PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
New : PNA:B084:RF01:_extractJitterFreqRangeData.PROC 1
$ caget PNA:B084:RF01:_extractJitterFreqRangeData.AVAL
PNA:B084:RF01:_extractJitterFreqRangeData.AVAL 3 1 2 0
If aCalcout is not supposed to be used this way, could you suggest me another way to extract a scalar from an index of a waveform record?
Márcio Paduan Donadio
Control Systems Engineer
SLAC National Accelerator Laboratory
Advanced Instrumentation for Research Division
2575 Sand Hill Rd
Menlo Park CA 94025
Office (650) 926-5007
|