Hi Sandeep,
I was able to reproduce your problem.
It does not happen when I use the asyn/iocBoot/iocTestAsynPortDriver test IOC.
I changed the st.cmd to use the environment variable PORT and set it to what you are using Y-CAM:CAM.
******************************
corvette:asyn/iocBoot/ioctestAsynPortDriver>more st.cmd
dbLoadDatabase("../../dbd/testAsynPortDriver.dbd")
testAsynPortDriver_registerRecordDeviceDriver(pdbbase)
epicsEnvSet("PORT", "Y-CAM:CAM")
# Turn on asynTraceFlow and asynTraceError for global trace, i.e. no connected asynUser.
#asynSetTraceMask("", 0, 17)
testAsynPortDriverConfigure("$(PORT)", 1000)
dbLoadRecords("../../db/testAsynPortDriver.db","P=testAPD:,R=scope1:,PORT=$(PORT),ADDR=0,TIMEOUT=1,NPOINTS=1000")
dbLoadRecords("../../db/asynRecord.db","P=testAPD:,R=asyn1,PORT=$(PORT),ADDR=0,OMAX=80,IMAX=80")
#asynSetTraceMask("$(PORT)",0,0xff)
asynSetTraceIOMask("$(PORT)",0,0x2)
iocInit()
******************************
It worked fine:
******************************
corvette:asyn/iocBoot/ioctestAsynPortDriver>../../bin/linux-x86_64/testAsynPortDriver st.cmd
dbLoadDatabase("../../dbd/testAsynPortDriver.dbd")
testAsynPortDriver_registerRecordDeviceDriver(pdbbase)
epicsEnvSet("PORT", "Y-CAM:CAM")
# Turn on asynTraceFlow and asynTraceError for global trace, i.e. no connected asynUser.
#asynSetTraceMask("", 0, 17)
testAsynPortDriverConfigure("Y-CAM:CAM", 1000)
dbLoadRecords("../../db/testAsynPortDriver.db","P=testAPD:,R=scope1:,PORT=Y-CAM:CAM,ADDR=0,TIMEOUT=1,NPOINTS=1000")
dbLoadRecords("../../db/asynRecord.db","P=testAPD:,R=asyn1,PORT=Y-CAM:CAM,ADDR=0,OMAX=80,IMAX=80")
#asynSetTraceMask("$(PORT)",0,0xff)
asynSetTraceIOMask("Y-CAM:CAM",0,0x2)
iocInit()
Starting iocInit
############################################################################
## EPICS R7.0.3.1
## EPICS Base built Nov 2 2019
############################################################################
cas warning: Configured TCP port was unavailable.
cas warning: Using dynamically assigned TCP port 37076,
cas warning: but now two or more servers share the same UDP port.
cas warning: Depending on your IP kernel this server may not be
cas warning: reachable with UDP unicast (a host's IP in EPICS_CA_ADDR_LIST)
iocRun: All initialization complete
epics>
epics> asynReport
Y-CAM:CAM multiDevice:No canBlock:No autoConnect:Yes
Port: Y-CAM:CAM
******************************
However, I then tested with the areaDetector/ADSimDetector IOC.
I made this change in st_base.cmd:
# The port name for the detector
-epicsEnvSet("PORT", "SIM1")
+epicsEnvSet("PORT", "Y-CAM:CAM")
When I boot the IOC on linux-x86_64 I get the same error as you:
dbLoadRecords("/home/epics/devel/areaDetector-3-9/ADSimDetector/iocs/simDetectorIOC/../../db/simDetector.template","P=13SIM1:,R=cam1:,PORT=Y-CAM:CAM,ADDR=0,TIMEOUT=1")
Error: syntax error
at or before ":CAM" in path "/corvette/home/epics/devel/areaDetector-3-9/ADCore/db" file "ADBase.template" line 660
in file "/home/epics/devel/areaDetector-3-9/ADSimDetector/iocs/simDetectorIOC/../../db/simDetector.template" line 7
dbReadCOM: Parser stack dirty w/o error. 1
This appears to me to be a bug in base 7.0.3.1.
This shows line 660 in ADBase.template:
653 ###################################################################
654 # The asynRecord is used for mainly for trace mask #
655 ###################################################################
656
657 # Set ASYN_TRACEIO_HEX bit by default
658 record(asyn,"$(P)$(R)AsynIO")
659 {
660 field(PORT, $(PORT))
661 field(TIB2,"1")
662 info("ADType", "ADDriver")
663 }
So the error is coming when loading the asyn record. All of the other records load OK with that PORT name containing a ":".
In the asyn/iocBoot/iocTestAsynPortDriver test it also loads an asyn record with the same port name on this line.
dbLoadRecords("../../db/asynRecord.db","P=testAPD:,R=asyn1,PORT=Y-CAM:CAM,ADDR=0,OMAX=80,IMAX=80")
That worked, but loading a similar asyn record in simDetector fails.
This is strange.
Mark
________________________________
From: Sandeep Kumar Malu - UKRI STFC <sandeep-kumar.malu at stfc.ac.uk>
Sent: Monday, February 24, 2020 6:54 AM
To: Mark Rivers
Cc: tech-talk
Subject: RE: Areadetector error in version R3-8
Hi Mark
Yes, Indeed all the support modules were build separately for base 3.15 & base 7.0.3. The error is when I use colon(:) in the macro name PORT in ADBase template for ex - dbLoadRecords("ADBase.template","P=Y-CAM:,R=cam1:,PORT=Y-CAM:CAM,ADDR= 0,TIMEOUT=1"). Here I used Y-CAM:CAM. But If I use Y-CAMCAM in PORT macro the error is resolved.
Any suggestions on that?
Many Thanks
Sandeep
-----Original Message-----
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Monday, February 24, 2020 12:30 PM
To: Malu, Sandeep Kumar (-,RAL,CLF) <sandeep-kumar.malu at stfc.ac.uk>
Cc: tech-talk <tech-talk at aps.anl.gov>
Subject: Re: Areadetector error in version R3-8
Hi Sandeep,
> The error is because I was using camera IOC created on Base 3.15.
> However, when a fresh IOC is created on base 7.0.3, there is no such error.
> I am still digging out why IOC created on base 3.15 is giving "asyn" record syntax error on compiling on base 7.03?
I don't understand what you mean by the last statement above. How can an IOC be created on base 3.15 and compiled on base 7.0.3? When you replace your version of base you need to rebuild everything, i.e. asyn, all of the required synApps modules, and areaDetector. At that point there should be no difference between a "fresh IOC created on base 7.0.3" and an IOC that was originally built on 3.15.
Please explain what you mean.
Mark
________________________________
From: Sandeep Kumar Malu - UKRI STFC <sandeep-kumar.malu at stfc.ac.uk>
Sent: Sunday, February 23, 2020 10:22 PM
To: Mark Rivers
Cc: tech-talk
Subject: RE: Areadetector error in version R3-8
Hi mark
The error is because I was using camera IOC created on Base 3.15. However, when a fresh IOC is created on base 7.0.3, there is no such error. I am still digging out why IOC created on base 3.15 is giving "asyn" record syntax error on compiling on base 7.03?
Thanks
Sandeep
-----Original Message-----
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Saturday, February 22, 2020 12:33 PM
To: Malu, Sandeep Kumar (-,RAL,CLF) <sandeep-kumar.malu at stfc.ac.uk>
Cc: tech-talk <tech-talk at aps.anl.gov>
Subject: Re: Areadetector error in version R3-8
Hi Sandeep,
The error you are getting is one I have never seen before.
> dbLoadRecords("ADBase.template","P=Y-CAM:,R=cam1:,PORT=Y-CAM:CAM,ADDR=
> 0,TIMEOUT=1")
> Error: syntax error
> at or before ":CAM" in path
> "/usr/local/epics/support/areaDetector/current/ADCore/db" file
> "ADBase.template" line 660
> dbReadCOM: Parser stack dirty w/o error. 1
It seems like something is wrong on your end. I know of a number of sites are running with 7.0.3.1 and ADCore R3-8 or master branch and are not seeing this problem.
What is your EPICS_HOST_ARCH?
I wonder if there is some problem with line endings on startup script or template files. Can you run dos2linux on your startup script and any template files you have edited to try to remove any DOS line endings?
Mark
________________________________
From: Sandeep Kumar Malu - UKRI STFC <sandeep-kumar.malu at stfc.ac.uk>
Sent: Saturday, February 22, 2020 2:55 AM
To: Mark Rivers
Cc: tech-talk
Subject: RE: Areadetector error in version R3-8
Hi Mark
You were right, I was on master branch in ADCore but then I checkout to R3-8 and error still remain same though the error line now in 656.
I also compiled with base 7.0.3, Asyn 4-38 & areadetector 3-8. The error again remains the same.
Thanks
Sandeep
-----Original Message-----
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Friday, February 21, 2020 2:07 PM
To: Malu, Sandeep Kumar (-,RAL,CLF) <sandeep-kumar.malu at stfc.ac.uk>
Cc: tech-talk <tech-talk at aps.anl.gov>
Subject: RE: Areadetector error in version R3-8
> Also FYI, for me line no 660 points to field(PORT, $(PORT)) in
> ADBase.template file
If that is true then you are not using ADCore R3-8, which you said you were in your original message.
Here is the proof:
corvette:ADCore/ADApp/Db>git checkout R3-8 ADBase.template corvette:ADCore/ADApp/Db>cat -n ADBase.template
1 #=================================================================#
2 # Template file: ADBase.template
3 # Database for area detector control using asyn driver and standard asyn device support
4 # Mark Rivers
5 # March 9, 2008
6
...
649 ###################################################################
650 # The asynRecord is used for mainly for trace mask #
651 ###################################################################
652
653 # Set ASYN_TRACEIO_HEX bit by default
654 record(asyn,"$(P)$(R)AsynIO")
655 {
656 field(PORT, $(PORT))
657 field(TIB2,"1")
658 info("ADType", "ADDriver")
659 }
660
So in R3-8 line 660 is blank.
However, if I checkout the master branch of ADBase.template I see this:
653 ###################################################################
654 # The asynRecord is used for mainly for trace mask #
655 ###################################################################
656
657 # Set ASYN_TRACEIO_HEX bit by default
658 record(asyn,"$(P)$(R)AsynIO")
659 {
660 field(PORT, $(PORT))
661 field(TIB2,"1")
662 info("ADType", "ADDriver")
663 }
664
So I think you may be running the master branch of ADCore.
I am running the master branch and I don't see your error.
It will be interesting to see if the problem goes away if you run base 7.0.3.1.
Mark
-----Original Message-----
From: Sandeep Kumar Malu - UKRI STFC <sandeep-kumar.malu at stfc.ac.uk>
Sent: Friday, February 21, 2020 7:40 AM
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: tech-talk <tech-talk at aps.anl.gov>
Subject: Re: Areadetector error in version R3-8
Hi Mark
I used base 3.15 for areadetector 3-5 and asyn 4-33. Meanwhile I'll check with base 7.0.3
Also FYI, for me line no 660 points to field(PORT, $(PORT)) in ADBase.template file
Thanks
Sandeep
Get Outlook for Android<https://aka.ms/ghei36>
________________________________
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Friday, 21 February 2020, 6:36 pm
To: Sandeep Kumar Malu - UKRI STFC
Cc: tech-talk
Subject: Re: Areadetector error in version R3-8
Hi Sandeep, > The error I get on loading ADBase template is - > dbLoadRecords("ADBase.template","P=Y-CAM:,R=cam1:,PORT=Y-CAM:CAM,ADDR=0,TIMEOUT=1") > Error: syntax error > at or before ":CAM" in path "/usr/local/epics/support/areaDetector/current/ADCore/db" file "ADBase.template" line 660 > dbReadCOM: Parser stack dirty w/o error. 1 > Also please note, there is no such error in Areadetector version R3-5 with asyn version 4-33. The reason for upgrade is to use ADVimba plugin instead of ADProsilica plugin. That is a strange error. Line 660 is a blank line at the end of ADBase.template. I am using asyn R4-38 and areaDetector R3-8 with no problems, and I think many others are as well. I notice that you are using base 7.0.2.2. I am using base 7.0.3.1. You said that you did not see the problem with areaDetector R3-5 and asyn R4-33. What version of base were you using with those versions of areaDetector and asyn? I would suggest updating base to 7.0.3.1 and see if the problem persists. Mark ________________________________ From: Tech-talk on behalf of Sandeep Kumar Malu - UKRI STFC via Tech-talk Sent: Friday, February 21, 2020 6:11 AM To: tech-talk at aps.anl.gov Subject: Areadetector error in version R3-8 Hi I recently upgrade EPICS base & support modules to latest versions which are as follows base - 7.0.2.2 seq - 2.2.6 asyn - 4-38 autosave - 5-9 astream - 2-6 busy -1-6 sscan - 2-10 areaDetector - 3-8 The error I get on loading ADBase template is - dbLoadRecords("ADBase.template","P=Y-CAM:,R=cam1:,PORT=Y-CAM:CAM,ADDR=0,TIMEOUT=1") Error: syntax error at or before ":CAM" in path "/usr/local/epics/support/areaDetector/current/ADCore/db" file "ADBase.template" line 660 dbReadCOM: Parser stack dirty w/o error. 1 Though If I comment these line in ADBase template, I can stream camera without any error # Set ASYN_TRACEIO_HEX bit by default record(asyn,"$(P)$(R)AsynIO") { field(PORT, $(PORT)) field(TIB2,"1") info("ADType", "ADDriver") } Also please note, there is no such error in Areadetector version R3-5 with asyn version 4-33. The reason for upgrade is to use ADVimba plugin instead of ADProsilica plugin. Many Thanks Sandeep Malu
- Replies:
- RE: Areadetector error in version R3-8 Mark Rivers via Tech-talk
- References:
- Re: Areadetector error in version R3-8 Sandeep Kumar Malu - UKRI STFC via Tech-talk
- RE: Areadetector error in version R3-8 Mark Rivers via Tech-talk
- RE: Areadetector error in version R3-8 Sandeep Kumar Malu - UKRI STFC via Tech-talk
- Re: Areadetector error in version R3-8 Mark Rivers via Tech-talk
- RE: Areadetector error in version R3-8 Sandeep Kumar Malu - UKRI STFC via Tech-talk
- Re: Areadetector error in version R3-8 Mark Rivers via Tech-talk
- RE: Areadetector error in version R3-8 Sandeep Kumar Malu - UKRI STFC via Tech-talk
- Navigate by Date:
- Prev:
Re: firewalld configuration for EPICS? Jörn Dreyer via Tech-talk
- Next:
RE: Areadetector error in version R3-8 Mark Rivers via Tech-talk
- 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: Areadetector error in version R3-8 Sandeep Kumar Malu - UKRI STFC via Tech-talk
- Next:
RE: Areadetector error in version R3-8 Mark Rivers via Tech-talk
- 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
|