EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Conceptual understanding of IOC software architecture
From: Eric Norum <[email protected]>
To: Diego Sanz <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Thu, 5 Jun 2014 08:39:27 -0700
Right.  Keep in mind also that very few EPICS routines are allowed be called from an actual hardware interrupt service routine.  In particular, none of the ASYN ‘interrupt’ xxxxxxInterrupt->callback routines  can be called from an interrupt service routine.  Instead the hardware interrupt service routine must activate a thread (one of the standard EPICS callback threads or a custom driver-specific one) and then this thread will invoke the ASYN xxxxxxInterrupt->callback routine(s) to push the values into records.

On Jun 5, 2014, at 7:36 AM, Mooney, Tim M. <[email protected]> wrote:

Hi Diego,

The word "interrupt" is used to mean different things at different levels of description.  In the asynDriver documentation (http://www.aps.anl.gov/epics/modules/soft/asyn/R4-22/asynDriver.html) you'll find the quote 'Interrupt just means: "I have a new value." '  In the section of the EPICS Application Developer's Guide you mentioned, "interrupt" means "actual interrupt signal from the hardware."

When an asyn client registers to receive interrupts, it's asking to be called when the driver has a new value, whether that value came from a hardware interrupt, or from the driver's polling of the hardware.

Tim Mooney

From: [email protected] [[email protected]] on behalf of Diego Sanz [[email protected]]
Sent: Thursday, June 05, 2014 8:49 AM
To: [email protected]
Subject: Conceptual understanding of IOC software architecture

Hello everyone,

Reviewing EPICS Application Developer's Guide, I have noted some point in the figure contained in chapter 3, point 3.3 (IOC Software componentes) that let me a little bit confused. I am refering to the box "Driver or Device Interrupt Routines", that interconnects directly the line (VME) with the box "scanners". I have implemented some Epics Device support for RIO/FlexRIO devices using AsynDriver, and the way I have implemented is using interrupt calls, that in the upper layer of the asynDriver, are epics device standard docallback interrupts. This software layer I'll integrate in the box "Device Suport"... but then I don't know what the box "Driver or Device Interrupt Routines" refers to. Does It means that there is other ways in EPICS to implement pices of code that generate interrupts on the EPICS Core? Could someone explain or refering me to some document that explain this?

Thank you very much

Regards

-- 
Eric Norum
[email protected]


References:
Conceptual understanding of IOC software architecture Diego Sanz
RE: Conceptual understanding of IOC software architecture Mooney, Tim M.

Navigate by Date:
Prev: Re: sequencer installation Kasemir, Kay
Next: Newport 8742 Picomotor Controller D'Ewart, J. Mitch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Conceptual understanding of IOC software architecture Mooney, Tim M.
Next: Newport 8742 Picomotor Controller D'Ewart, J. Mitch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·