EPICS Home

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  <20172018  2019  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  <20172018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: string fanout or stringout after conditional check?
From: Jeong Han Lee <[email protected]>
To: Eric Norum <[email protected]>
Cc: [email protected]
Date: Thu, 18 May 2017 17:22:45 +0200
Hi Eric,
On 05/18/2017 05:08 PM, Eric Norum wrote:
To guard against buffer overrun issues it’s best to specify a maximum
length in the protocol entry:
read_raw
{
   in “%39c";
}

  Thanks for your comments.


Or, if the input terminator is set to a single ‘\r’ or ‘\n’ and the
device sends a "\r\n” you could use:
read_raw
{
   in “%39[^\r\n]";
}

  By the way, I have the terminator in "st.cmd" as follows:

  asynOctetSetInputEos("L0", 0, "\r\n")

  Thanks,
  Han



On May 18, 2017, at 6:37 AM, Jeong Han Lee <[email protected]
<mailto:[email protected]>> wrote:

 I have the bar code scanner, so, the string input is the arbitrary
ascii and numbers from bar codes, generated by myself, whenever I scan
 it.

 For example,

 case 1 : user,123456789,U002C007
 case 2 : ABCDEFGHIZ0123456789
 case 3 : office,248795493,M01B21
 case 4 : ....

 case N : SUBMIT

 Note that case 1..N-1 can be done without order.

 The scanner has a typical RS232 connection. I wrote the very simple
IOC with asyn and Stream. It has only one record and one function in
db and proto file as follows:

--- snip snip ---

record(stringin, "$(SYSDEV)RawScanData")
{
   field(DESC, "RAW Scanned data")
   field(DTYP, "stream")
   field( INP, "@scanner.proto read_raw $(PORT)")
   field(SCAN, "I/O Intr")
   field(PINI, "YES")
}

read_raw
{
   in "%s";
}
--- snip snip ----------

 Is this enough?

  Thanks,
  Han

--
Eric Norum
[email protected] <mailto:[email protected]>





Replies:
Re: string fanout or stringout after conditional check? Zimoch Dirk (PSI)
References:
string fanout or stringout after conditional check? Jeong Han Lee
Re: string fanout or stringout after conditional check? Ralph Lange
Re: string fanout or stringout after conditional check? Jeong Han Lee
Re: string fanout or stringout after conditional check? Eric Norum

Navigate by Date:
Prev: Re: string fanout or stringout after conditional check? Eric Norum
Next: Re: soft Timestamp fixed point support Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: string fanout or stringout after conditional check? Eric Norum
Next: Re: string fanout or stringout after conditional check? Zimoch Dirk (PSI)
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024