Hi,
I am creating a custom record, and have defined a field in the record to
have special processing at run time (special = SPC_MOD) and have the pp_value
set to YES (a passive record should be processed when Channel Access writes
to this field).
In the record support code I have a routine called special, that simple sets
a flag to indicate that the record was accessed - and then expect that
after special the "process" routine should be called.
Well, this appears to work as expected - most of the time. Sometimes I
see that special is called and then some time later - much later -
the process gets called by "scanOnce". This is a problem because I
set a timer (using the watchDog timer lib - wdLib), to keep time and tell
me if I have waited too long - and this times out before the process
gets called.
So, sequence of events is:
-start watchdog timer at time <72103>
-value written to SPC_MOD field <73003> in an interrupt routine from a different
record.
-special is executed and flag gets set <73003>
-then some time later the watchdog timer finishs <73904> and the callback
routine gets called.
-and immediately following the process gets called as a result of the
special being executed, but this is much too late <73904>.
So, can anyone help me? I have a feeling it has to do with running the
watchdog timer, but can't tell.
I am running EPICS 3.12.2 & vxWorks on an MV167.
Jennifer Dunn
- Replies:
- Re: Record support question Marty Kraimer
- Re: Record support question Benjamin Franksen
- Navigate by Date:
- Prev:
AB DCM mbbi input specification Bill DeVan
- Next:
atdb - dct (KP_R? keys) Matthieu Bec
- 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:
AB DCM mbbi input specification Bill DeVan
- Next:
Re: Record support question Marty Kraimer
- 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
|