EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  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  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: writing your own stream cronverter
From: Emmanuel Mayssat <[email protected]>
To: Dirk Zimoch <[email protected]>
Cc: [email protected]
Date: Mon, 03 Dec 2007 11:57:26 -0800
Dirk, others,

I am trying to write a new converter.
That converter is almost like the RawConvert except:
* the bit order and meaning are the same a C float ( sign + mantissa +
exponent )
* the content is coded on 4 bytes
* Width is not meaningful, big/small endian may be
* Several values should be extracted from the same reply ( 25 ai ). So
devaiStream does not work.


I looked at the existing converter.
A converter has 3 methods parse, print, read/scan.
Parse returns a type (long, double, string, etc.), what is this type
referring to? The input (4*8 bits), the value (float), other ?
I understand that it is used to find the correct print/read methods but
what should it be in my case? 

If Read/scan method returns the # of bytes read, I should be forced to 4
in my case? Is the return value always the number of bytes?

I want to assign the values of several records based on the returned
message. Should I create a custom record with 25 additional fields when
compared to ai and then soft link them to other AI. Is there a way to
use devaiStream and directly populate the 25 records? 

getStatus {
out "GET STATUS"
in  "%(record1.val)R%(record2.val)R%(record3.val)R"
}

Thanks,

--
Emmanuel


Replies:
Re: writing your own stream cronverter Emmanuel Mayssat
Re: writing your own stream cronverter Dirk Zimoch

Navigate by Date:
Prev: RE: how to recv data by raw socket under VxWorks Denison, PN (Peter)
Next: Re: writing your own stream cronverter Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: how to recv data by raw socket under VxWorks Denison, PN (Peter)
Next: Re: writing your own stream cronverter Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·