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: warning: multiple interrupt callbacks between processing when running testAsynPortDriverApp |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Wang, Lin" <wanglin at ihep.ac.cn>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 22 May 2023 20:14:28 +0000 |
Hi Lin, I cannot reproduce this problem. Like you I am running asyn R4-44-2, with only the change you listed to the testAsynPortDriver.cpp source file: diff --git a/testAsynPortDriverApp/src/testAsynPortDriver.cpp b/testAsynPortDriverApp/src/testAsynPortDriver.cpp index 359c89a..fa4534a 100644 --- a/testAsynPortDriverApp/src/testAsynPortDriver.cpp +++ b/testAsynPortDriverApp/src/testAsynPortDriver.cpp @@ -99,7 +99,7 @@ testAsynPortDriver::testAsynPortDriver(const char *portName, int maxPoints) /* Set the initial values of some parameters */ setIntegerParam(P_MaxPoints, maxPoints); - setIntegerParam(P_Run, 0); + setIntegerParam(P_Run, 1); setIntegerParam(P_VertGainSelect, 10); setVertGain(); setDoubleParam (P_VoltsPerDiv, 1.0); I also set the TraceMask to 0x20. I see this when the IOC boots: corvette:asyn/iocBoot/ioctestAsynPortDriver>../../bin/linux-x86_64/testAsynPortDriver st.cmd dbLoadDatabase("../../dbd/testAsynPortDriver.dbd") testAsynPortDriver_registerRecordDeviceDriver(pdbbase) # Turn on asynTraceFlow and asynTraceError for global trace, i.e. no connected asynUser. #asynSetTraceMask("", 0, 17) testAsynPortDriverConfigure("testAPD", 1000) dbLoadRecords("../../db/testAsynPortDriver.db","P=testAPD:,R=scope1:,PORT=testAPD,ADDR=0,TIMEOUT=1,NPOINTS=1000") dbLoadRecords("../../db/asynRecord.db","P=testAPD:,R=asyn1,PORT=testAPD,ADDR=0,OMAX=80,IMAX=80") #asynSetTraceMask("testAPD",0,0xff) asynSetTraceIOMask("testAPD",0,0x2) iocInit() Starting iocInit ############################################################################ ## EPICS R7.0.7 ## Rev. R7.0.7-dirty ## Rev. Date Git: 2022-09-07 13:50:35 -0500 ############################################################################ cas WARNING: Configured TCP port was unavailable. cas WARNING: Using dynamically assigned TCP port 34051, 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> I do not get any warning messages. I have attached a screenshot showing the testAsynPortDriver.adl screen. Note that the update time is 0.5 seconds and the waveform record has SCAN=I/O Intr. This seems
to be what you were using, because the warning messages were every 0.5 seconds and you seem to be using interrupt callbacks as well. I am running on Centos 7, using base 7.0.7. You are running a much older version of base, 3.14.12.5. I don’t think that should cause this problem, but it is possible.
You can build your IOC with a new version of base, even if you are using an old version for medm. Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of
Wang, Lin via Tech-talk Dear all, testAsynPortDriver is a pretty good example for learning basic usage of asynPortDriver, however I encountered a warning message that I do not understand when made some modifications and ran it.
The initial status of the digital scope simulator is "Stop", if I try to set the initial status to "Run" by changing Line 102 of https://github.com/epics-modules/asyn/blob/master/testAsynPortDriverApp/src/testAsynPortDriver.cpp
from setIntegerParam(P_Run, 0); to setIntegerParam(P_Run, 1); then make and add "asynSetTraceMask("testAPD", 0, 0x20)" to the end of st.cmd, the following warning will display continuously,
epics> In order to install the old MEDM, the test environment is old as follows, Debian 7 wheezy base-3.14.12.5 asyn-R4-44-2 Any hint or suggestion is appreciated. Thanks, Lin |
Attachment:
testAsynPortDriver.png
Description: testAsynPortDriver.png