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
<2018>
2019
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
<2018>
2019
2020
2021
2022
2023
2024
|