EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: drvAscii - termintor strategy
From: "Peregrine M. McGehee" <[email protected]>
To: [email protected]
Date: Fri, 19 Apr 2002 15:14:30 -0600
In the simple drvNode framing routines I alluded to earlier
we allowed a set of multiple terminators. On a character by
character basis the index into each terminator was incremented until
either a mismatch occurred or a complete terminator was found. 
While in our application we defined the terminators at the vxWorks command
line, modifying the drvAscii <readCmt> construct would be
straightforward.

drvNode usage is:
 * A delimiter definition includes:
 *     n     - index into delimiter array [0..NDELIMITERS-1]
 *     len   - length of delimiter in characters. (0 = delimiter not defined)
 *     delim - delimiter string
 *     mask  - bit mask indicating which positions are wild carded.
 * Examples:
 *     drvNodeSetDelim(COMMON, 2, 2, "\015\012", 0x00)
 *          delimiter #2 = CRLF
 *     drvNodeSetDelim(MOUSE, 0, 3, "   ", 0x07)
 *	    delimiter #0 = any sequence of three characters (useful
 *          for mouse pointing devices).       

By adding two optional syntax elements to the drvAscii <readCmt> 
links this could be emulated, i.e.
	o add an optional delimiter number (default=0)
	o allow a %k construct within the terminator string
	(default = not used).
So the examples above could be written as:
 	field(OUT,"@COMMON <readCmt 2 %s>")
	field(VAL,"\015\012")
and
	field(OUT,"@MOUSE <readCmt %s>")
	field(VAL,"%3k").

Note that drvNode returns the terminator string. 

- Peregrine     
-- 
Peregrine M. McGehee	[email protected]	(505) 667-3273
Sloan Digital Sky Survey / Spallation Neutron Source
MS H820, Los Alamos National Laboratory, Los Alamos, NM 87545

References:
Re: CA "connection lost" messages Brian McAllister
Help about epics Monitor using CORBA guobao shen
Re: drvAscii - termintor strategy Eric Williams

Navigate by Date:
Prev: Re: drvAscii - termintor strategy Eric Williams
Next: Re: drvAscii - termintor strategy Allan Honey
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  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: drvAscii - termintor strategy Eric Williams
Next: strange behaviour of dbLoadtemplate Werner Portmann
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·