EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: lsi record for more than 40 characters doesn't work
From: Ralph Lange via Core-talk <[email protected]>
To: EPICS Tech Talk <[email protected]>
Cc: EPICS Core Talk <[email protected]>
Date: Sun, 1 Dec 2019 12:17:16 +0100
Hi,

Your database and protocol look fine.
Why do you think you are only getting 40 characters? Have you checked the lsi record's contents from the iocShell? Have you checked its LEN field? Have you switched on debugging for StreamDevice and/or ASYN?

If you are reading your string over Channel Access, note that the CA string type is limited to 40 characters. For longer strings, your application will have to fetch the value as an array of characters (by adding the '$' tag to the channel name) and convert that array to a string. The command line 'caget' for your lsi record would be:
caget -S RF:getString.VAL$

Cheers,
~Ralph


On Sun, 1 Dec 2019 at 05:44, dmnr infn via Tech-talk <[email protected]> wrote:
Hi all,
I have a .db e .proto made in this way:

.db
record(lsi, "RF:getString")
{
    field(DESC, "String more than 40 chars")
    field(SIZV, "80")
    field(INP, "@MDO.proto getString L0")
    field(SCAN, ".2 second")
}

.proto
getString {
    out "STT?";
    in "%s";
}

I want to get a String that is more than 40 characters, and I use a lsi record but I got always 40 chars.
There is something wrong in my code?
Thank you


Navigate by Date:
Prev: Re: lsi record for more than 40 characters doesn't work Johnson, Andrew N. via Core-talk
Next: Re: lsi record for more than 40 characters doesn't work Eric Norum via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: lsi record for more than 40 characters doesn't work Johnson, Andrew N. via Core-talk
Next: Re: lsi record for more than 40 characters doesn't work Eric Norum via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 02 Dec 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·