Yes, but what about the 16-bit asyn interface, whcih gives me the error
message:
devAsynInt16Array::initCommon, TEST:SCOPE1:CURVE find asynInt16Array interface failed
Isn't that interface supposed give me the multi-byte support that I want?
--- rod.
Eric Norum wrote:
This might be possible, but asynOctet is not really intended to handle multi-byte values.
Trying to coerce it to do so is likely to open several wormy cans of things like endian issues and such.
On Feb 1, 2012, at 3:44 PM, Rod Nussbaumer wrote:
Thanks, Mark& Eric. If need be, I will take that approach, although I'm really hoping I don't have to.
Is there something I've done wrong in trying to use the waveform record in the way I've done it? It feels like I'm so close, and everything I see in the documentation and in the dbd file suggests it should be possible.
-- rod.
Mark Rivers wrote:
I believe that Zen Szalata from SLAC has also recently written Tektronix scope support based on asynPortDriver.
Mark
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Rod Nussbaumer
Sent: Wednesday, February 01, 2012 1:18 PM
To: epics Techtalk
Subject: asyn reading to waveform records
Hi All.
As a fallback alternative to my earlier problem reading oscilloscope
waveforms with StreamDevice (and to potentially reveal something about
the original problem), I am trying to use asyn to read the waveform into
a waveform record directly (without the aid of StreamDevice).
If I use the waveform record with FTVL=UCHAR or FTVL=CHAR, and
DTYP=asynOctetRead, I am able to acquire the scope binary-formatted data
into the waveform record, and I seem to be able to get the performance
that I require. However, this method gives me byte oriented data, and
the 'scope is sending 16-bit signed data. So, I tried using the
FTVL=SHORT, or FTVL=USHORT and DTYP set to any of the
'asynIntXXArrayWfIn' data types. This results in iocInit reporting :
devAsynInt16Array::initCommon, TEST:SCOPE1:CURVE find asynInt16Array interface failed
Some combinations of FTVL& DTYP fail with messages like:
devAsynInt8Array::initCommon, TEST:SCOPE1:CURVE field type must be SIGNED_TYPE or UNSIGNED_TYPE
My application dbd file contains:
device(waveform,INST_IO,asynWfOctetCmdResponse,"asynOctetCmdResponse")
device(waveform,INST_IO,asynWfOctetWriteRead,"asynOctetWriteRead")
device(waveform,INST_IO,asynWfOctetRead,"asynOctetRead")
device(waveform,INST_IO,asynWfOctetWrite,"asynOctetWrite")
device(waveform,INST_IO,asynInt8ArrayWfIn,"asynInt8ArrayIn")
device(waveform,INST_IO,asynInt8ArrayWfOut,"asynInt8ArrayOut")
device(waveform,INST_IO,asynInt16ArrayWfIn,"asynInt16ArrayIn")
device(waveform,INST_IO,asynInt16ArrayWfOut,"asynInt16ArrayOut")
device(waveform,INST_IO,asynInt32ArrayWfIn,"asynInt32ArrayIn")
device(waveform,INST_IO,asynInt32ArrayWfOut,"asynInt32ArrayOut")
device(waveform,INST_IO,asynFloat32ArrayWfIn,"asynFloat32ArrayIn")
device(waveform,INST_IO,asynFloat32ArrayWfOut,"asynFloat32ArrayOut")
device(waveform,INST_IO,asynFloat64ArrayWfIn,"asynFloat64ArrayIn")
device(waveform,INST_IO,asynFloat64ArrayWfOut,"asynFloat64ArrayOut")
As yet another possible fallback, is there a way to coerce the
byte-oriented data that I acquire to be 16-bit word data, perhaps using
a subarray record in some obscure way? I probably do need to use a
subarray record anyway, as there is a 6-byte header on the waveform,
which I need to drop.
For the record, this is EPICS 3.14.11 and Asyn R4-13 on x86 Linux.
Thanks.
Rod Nussbaumer
ISAC Controls, TRIUMF
Vancouver, Canada.
- Replies:
- RE: asyn reading to waveform records Mark Rivers
- References:
- asyn reading to waveform records Rod Nussbaumer
- RE: asyn reading to waveform records Mark Rivers
- Re: asyn reading to waveform records Rod Nussbaumer
- Re: asyn reading to waveform records Eric Norum
- Navigate by Date:
- Prev:
RE: asyn reading to waveform records Mark Rivers
- Next:
RE: asyn reading to waveform records Mark Rivers
- 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: asyn reading to waveform records Rod Nussbaumer
- Next:
RE: asyn reading to waveform records Mark Rivers
- 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
|