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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Problem with database parsing in EPICS 7.0.1 |
From: | "Kim, Kukhee" <[email protected]> |
To: | Mark Rivers <[email protected]>, "[email protected]" <[email protected]> |
Date: | Wed, 5 Sep 2018 18:53:12 +0000 |
Hi Mark,
We are in SLAC, saw similar issues in epics 7 and had a chance to look at the code for parsing under the dbStatic. The code has been re-witten many parts. The new code checks up the address syntax more strictly. It does not allow extra ID character such as your case.
We also found the param string is not an optional anymore in epics 7 for all of the address types except RF_IO. Even, we don't need to put param string in the address, we need to put "@" symbol to avoid error messages from the new parser.
ex) "#C0 S0" for VME_IO, the new parser gives an error message, To avoid the error message, we need to put "#C0 S0 @"
It looks like a bug, Till suggested a bug fix for this issue in launchpad for epics-base.
Thank you. Best regards, Kukhee
-------------------------------------------- Kukhee Kim TID AIR Advanced Control System SLAC National Accelerator Laboratory 2575 Sand Hill Rd, MS 94 Menlo Park, CA 94025 Email: [email protected] Phone: (650)926-4912 Fax: (650)926-2923 From: [email protected] <[email protected]> on behalf of Mark Rivers <[email protected]>
Sent: Tuesday, September 4, 2018 10:44 AM To: [email protected] Subject: RE: Problem with database parsing in EPICS 7.0.1 Ø Is there something wrong with the INP line that is tolerated in 3.14 and 3.15 but not in 7.0?
I found the problem. The INP field contained this:
field(INP,"#L0 A$(A) C$(C) S$(S) F0 @")
That is incorrect, the “F0” does not belong there. It was probably a leftover from a CAMAC_IO INP link. It was ignored in 3.14. and 3.15, but generates an error in 7.0. Removing the F0 fixes the errors.
Mark
From: Mark Rivers
Folks,
I am trying to run EPICS 7.0.1.1 on my production IOCs, including vxWorks.
I am getting the following errors when loading records for the Allen Bradley driver. These load fine on base 3.14.12.5 and 3.15.5. These are the errors:
############################## Can't set "13IDA:eps_bi1.INP" to "#L0 A0 C0 S11 F0 @" Error (512,512) Error at or before ")" in file "/corvette/home/epics/support/CARS/CARSApp/Db/eps_inputs.db" line 6
Can't set "13IDA:eps_bi2.INP" to "#L0 A0 C0 S8 F0 @" Error (512,512) Error at or before ")" in file "/corvette/home/epics/support/CARS/CARSApp/Db/eps_inputs.db" line 6
Can't set "13IDA:eps_bi6.INP" to "#L0 A0 C2 S3 F0 @" Error (512,512) Error at or before ")" in file "/corvette/home/epics/support/CARS/CARSApp/Db/eps_inputs.db" line 6 ##############################
This is the database file being loaded via dbLoadTemplate:
############################## grecord(bi,"$(P)eps_bi$(N)") { field(DESC,"$(DESC)") field(SCAN,"I/O Intr") field(DTYP,"AB-16 bit BI") field(INP,"#L0 A$(A) C$(C) S$(S) F0 @") field(ZNAM,"$(ZNAM)") field(ZSV, "$(ZSV)") field(ONAM,"$(ONAM)") field(OSV,"$(OSV)") } ##############################
Is there something wrong with the INP line that is tolerated in 3.14 and 3.15 but not in 7.0?
Thanks, Mark
|