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: Allan Honey <[email protected]>
To: [email protected], [email protected]
Date: Fri, 19 Apr 2002 11:37:32 -1000 (HST)
I like it!

Perry could you please send me your drvNode code?

Not sure I have time to modify getFrame() and formatCmt(). 
Any takers?

AH


> Date: Fri, 19 Apr 2002 15:14:30 -0600
> From: "Peregrine M. McGehee" <[email protected]>
> 
> 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
> 

Replies:
Re: drvAscii - termintor strategy Peregrine M. McGehee

Navigate by Date:
Prev: Re: drvAscii - termintor strategy Peregrine M. McGehee
Next: Re: drvAscii - termintor strategy Peregrine M. McGehee
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 Allan Honey
Next: Re: drvAscii - termintor strategy Peregrine M. McGehee
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 ·