Ned Arnold wrote:
>
> Since it sounds like someone will be working on the Symbol Device support,
> may I comment ...
>
> I find the derivation of the vxWorks symbol name from the PV name somewhat
> constraining, especially since our PV naming convention uses several ":".
Just so everyone is up to date.
William Lupton has a major new version of Symbol Device support which
will be in the next base release. Here is his README and some comments
README file for dev/symb directory
----------------------------------
This directory contains all files necessary to build and test a version
of EPICS vxWorks global variable device support which uses the INST_IO
string as the variable name specification rather than deriving the name
from the record name.
In addition to specifying a variable name, a leading "*" operator
indicates
that the variable is a pointer and a trailing "[nnnn]" indicates that an
element of an array should be accessed.
Refer to the header comments of devSymbFind.c for full details.
The following files are in the release:
README This file
Makefile UAE Makefile
Makefile.Vx UAE vxWorks Makefile
devAiSymb.c Modified versions of standard EPICS
devAoSymb.c vxWorks global variable device support
devLiSymb.c
devLoSymb.c
devSiSymb.c
devSoSymb.c
devSymbFind.c New module containing parsing code
(includes conditionally compiled test routine)
devSymbTest.c Defines globals and a routine for test
devSup.ascii New INST_IO entries for the above six records
symb.sr Test database (works with devSymbTest.c)
symbStartup.vws Test vxWorks startup script
08-Jun-96, William Lupton ([email protected]), CVS tag: symb-1-0
----------------------------------------------------------------------
first release
__________________________________________________
FROM devSymbFind.c
__________________________
DESCRIPTION:
This module contains routines for converting a vxWorks global variable
name specification into its address. Two cases are supported:
1. If the supplied link field is of type INST_IO, its string value is
assumed to be of the form:
[ "*" ] name [ "[" index "]" ]
where quoted items are literal and square brackets imply optional
items. White space is ignored. The leading "*", if specified,
implies that the variable in question contains the address of the
desired data. The name is the name of the vxWorks global variable (a
leading underscore is added). The optional array index is multipled
by the data element size (e.g. sizeof(char), sizeof(long) or
sizeof(double)) and applied as an offset to the data address.
For example:
a) "fred" refers to the value of the vxWorks global variable "_fred"
b) "*fred" refers to the value whose address is the value of the
c) "fred[1]" assumes that the vxWorks global variable "_fred" is an
array and refers to its second element
d) "*fred[1]" assumes that the vxWorks global variable "_fred"
contains the address of an array and refers to the second element
of the array
Note that the interpretation of the "*" operator is not the same as
in C. For example, "fred" and "fred[0]" are the same and "*fred" and
"fred[0]" are not the same. In this version of the driver, the
value of the pointer is read at run-time rather than initialisation.
Finally note that strings are not treated any differently from longs
or doubles in that the address returned from this routine is simply
the address of the data. "fred" is the entire string. "fred[2]"
starts at the third character of the string.
2. Otherwise, behavior is the same as before: the name of the vxWorks
global variable is derived from the record name by stripping off any
prefix ending with the first ":" and any suffix starting with the
last ";". As in the other case, an underscore is automatically
prefixed.
For example:
a) "ppp:fred;sss" refers to the vxWorks global variable "_fred"
b) "a:b:c;d;e" refers to the vxWorks global variable "_b:c;d"
The second case is supported for backwards compatibility. The first
(INST_IO) is preferred.
Marty Kraimer
- References:
- Re: Proposal for boosted Symb device support Ned Arnold
- Navigate by Date:
- Prev:
Re: Proposal for boosted Symb device support Andrew Johnson
- Next:
Re: Proposal for boosted Symb device support Ned Arnold
- 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: Proposal for boosted Symb device support Ned Arnold
- Next:
Re: Proposal for boosted Symb device support Ned Arnold
- 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
|