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: FLNK length limit
From: "J. Lewis Muir" <[email protected]>
To: "Kasemir, Kay" <[email protected]>
Cc: EPICS Tech Talk <[email protected]>
Date: Fri, 9 Feb 2018 10:44:29 -0600
On 02/09, Kasemir, Kay wrote:
> > Is the FLNK limited to 40 chars?
> No.
> What's limited to 40 chars would be TheNewLinkValue if you write it like this, which sends the value as a it as a DBF_STRING:
> 
>    caput record.FLNK "TheNewLinkValue"
> 
> But you can write it as a byte waveform by using record.FLNK$ as a channel name.
> The only limitation should be related to the record name based on
> dbDefs.h:#define PVNAME_STRINGSZ 61

Hi, Kay!

So the effective *record name* length limit now is 60 characters
(excluding the terminating null character), right?

Andrew answered a similar question in 2006 in:

  https://epics.anl.gov/tech-talk/2006/msg01310.php

There he said:

  I would also suggest that you try *really* hard to limit your record
  names to the maximum recommended 28 characters.  You *can* make them
  longer (up to 60 characters), but until the EPICS 40 character string
  length limit goes away (which means until the Channel Access protocol
  gets revised and the database and all of the tools are modified to use
  variable length strings) using longer names *will* end up causing you
  difficulties.

Since it's 2018 now, all those modifications have occurred, right?

In the same post, Andrew went on to say:

  Why is the recommended limit only 28 characters?  Well if you want to
  change a link field via Channel Access you only have 40 characters to
  hold the complete link value, and as well as the record name the link
  might need dot field name (5 chars with the standard record types) and
  the flags NPP/PP/CA/CP/CPP and NMS/MS which will need another 7 chars
  (you can omit the space between them if necessary, but not the one
  that terminates the field name).  That leaves just 28 characters for
  the name, and yes I am allowed to leave the terminating \0 byte out of
  that calculation.

Applying the same logic to allow for the dot, field name, and flags,
would make for a new effective *record name* length limit of 48 (60 -
12) characters.  However, with support for writing a link field over
Channel Access as a byte waveform, I do not need to allow for the dot,
field name, and flags anymore.  So, the effective *record name* length
limit is still 60 characters (excluding the terminating null character).
The byte waveform written over Channel Access to a link field could be
72 characters (or more if there are spaces between the flags).  All
correct?

Thanks!

Lewis

Replies:
Re: FLNK length limit Johnson, Andrew N.
References:
FLNK length limit Hinko Kocevar
Re: FLNK length limit Kasemir, Kay

Navigate by Date:
Prev: Re: FLNK length limit Hinko Kocevar
Next: Re: cross-compiling for ppc64 with seq 2.1 and 2.2 Benjamin Franksen
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: FLNK length limit Hinko Kocevar
Next: Re: FLNK length limit Johnson, Andrew N.
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, 09 Feb 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·