Subject: |
asynPortDriver callbacks to I/O Intr, how to propagate an error? |
From: |
Angus Gratton <[email protected]> |
To: |
tech-talk <[email protected]> |
Date: |
Wed, 11 May 2011 10:59:20 +1000 |
I have some asynPortDriver-derived driver classes for various pieces of
hardware, most of which are updated when data changes in a DMA read (ie
the background monitoring thread calls setIntegerParam() then calls
callParamCallbacks())
The records are all using I/O Intr so they only scan when required.
Sometimes the DMA read indicates that a piece of hardware has gone
offline. In this case, I'd like to have records using that port scanned
and updated to INVALID severity, and also see an error logged on the
console.
If was using periodic scanning, I believe I could override readInt32()
or equivalent to return asynError status. However, if I want to keep
using I/O Intr then I can't see any way to do this, either with
asynPortDriver or with asyn.
What I'm imagining would help me is a method with a name like
setParamErrorFlag(), that I could call before callParamCallbacks() and
that would propagate the error state back to the record. I'm still very
much an asyn newbie though, so maybe I'm looking at this the wrong way.
Thanks in advance for any tips. If this feature doesn't exist and might
be useful, I'm happy to have a shot at implementing it with a view to
submitting a patch.
- Angus
--
Angus Gratton
Computer Control Specialist
Department of Nuclear Physics
Australian National University
Ph: +61 2 6125 2096
- Replies:
- RE: asynPortDriver callbacks to I/O Intr, how to propagate an error? Mark Rivers
- Navigate by Date:
- Prev:
Disconnected PVs Andrew C. Starritt
- Next:
Calculation in SNL/SEQ liuping
- 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: Disconnected PVs Andrew Johnson
- Next:
RE: asynPortDriver callbacks to I/O Intr, how to propagate an error? Mark Rivers
- 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
|