EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: Stringin - asynOctedRead type how to set string length
From: Ralph Lange <[email protected]>
To: EPICS Tech Talk <[email protected]>
Date: Wed, 6 Jun 2018 11:15:42 +0200
Hi Mark,

On Tue, Jun 5, 2018 at 3:42 PM Mark Rivers <[email protected]> wrote:

Since there is no documentation can you or Andrew please explain:

- What is the advantage of the lsi and lso records vs waveform records for long strings?

Not too much, actually. Well, clarity, of course.
They are dedicated string records, so their value is an array of char (waveform has configurable basic field type).
They are dedicated input or output records, so they have an INP or OUT link (waveform uses the INP link for both directions).

In terms of processing and Device Support connection, they pretty much behave like a waveform record of char basic type.

- If I do caget on an lsi record that contains a long string do I need to use the -S option as I do for a waveform record holding a long string?

Unfortunately, yes.
For Channel Access, it is still an array of char, and a generic CA client like 'caget' needs a hint on how to interpret that array.
Specific clients that have knowledge about the EPICS database could ask for the record type (using DBR_CLASS_NAME) and take an lsi/lso reply as a hint to display that array of char as a string.

- Should support for the lsi and lso records be added to devAsynOctet?

Probably.
Personally I haven't used lsi/lso, but they do seem appropriate for long strings.

Cheers,
~Ralph

ps. While we're at it: in 3.16 the mbbiDirect/mbboDirect records will be 32 bits wide. Will that require changes in ASYN?


References:
Modify checkbox value from a table widget Pilar Gil Jaldo
Stringin - asynOctedRead type how to set string length Pilar Gil Jaldo
Re: Stringin - asynOctedRead type how to set string length Mark Rivers
Re: Stringin - asynOctedRead type how to set string length Pilar Gil Jaldo
Re: Stringin - asynOctedRead type how to set string length Ralph Lange
Re: Stringin - asynOctedRead type how to set string length Mark Rivers
Re: Stringin - asynOctedRead type how to set string length Ralph Lange
Re: Stringin - asynOctedRead type how to set string length Mark Rivers

Navigate by Date:
Prev: Re: Stringin - asynOctedRead type how to set string length Mark Rivers
Next: AW: ADPvcam: can't create IOC because of missing build (bin) folder Häbel, Catharina
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Stringin - asynOctedRead type how to set string length Mark Rivers
Next: Re: Stringin - asynOctedRead type how to set string length 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  <20182019  2020  2021  2022  2023  2024 
ANJ, 06 Jun 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·