EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re:
From: Mythili Srinivasan <[email protected]>
To: Andrew Johnson <[email protected]>
Cc: [email protected]
Date: Tue, 26 Jun 2001 09:59:29 -0500 (GMT)
Hi All!
  Thanks to Andrew Johnson.
  Yesterday ,I got the solution for the problem.The procedure I opted 
is just as same as your's.And it is working fine.
> >   One more query.Can I call
> > 
> >   post_event(some_event_number)
> > 
> >  from driver support routines?
> 
> Yes, you can call post_event() from almost anywhere (I'm not sure about
> inside a linux signal handler, it ought to be Ok as far as EPICS is
> concerned but I don't think we've thought about that possibility properly
> yet).  Within a driver or device support it's not necessarily the best way
> to signal an event to the database, but it is certainly the simplest for
> the driver writer.  In most cases you'll eventually want to convert this
> into I/O Interrupt support for your device layer, but if you're only just
> getting started then don't worry about it to begin with (using soft events
> makes it harder to share the driver between different sites which have
> different soft event conventions, and it's more difficult to understand
> how your databases work as there's no obvious causal connection between
> the driver and the records that the event kicks off).

I thought of using post_event from driver support because,my actual
drivers runs on RT-linux (for Datel PC 412 card and timer module) inorder
to overcome latencies if they happen to run on linux.Since EPICS doesn't
support RT-linux,I ported a part EPICS (scan tasks and scanner (Here
scanner is the one which just says the rt-linux driver to fetch the io
values according to analog io,digital io records which are bound the
board) toRT-linux) leaving the actual EPICS scanners and scan-tasks just
like that.
I'm overriding the functionality of scan-tasks on linux by making all the
records as event-io with different event numbers assigned according to the
periodicity of scan-tasks.Though they are event driven,I've provided the
means to mention the records as periodic ones thru the param in INP or OUT
field (@C0 S9 P1second). At the end of scan-period a time out message is
sent to the EPICS-abstract driver(Linux) by RT-linux scan tasks,which will
be handled by abstract driver and post the event accordingly on seeing
which task has sent the timeout message.Now EPICS will take care of taking
the values/sending the values to RT-linux drivers.
  This was the need to introduce post_event in abstract driver.I think I
mentioned it in 'not so vivid' manner.Any suggestions regarding this
design?

Thanks in advance.

Mythili Srinivasan



References:
Re: Andrew Johnson

Navigate by Date:
Prev: Re: Minor problem with file names for genSub record CapFast symbols Dr. Chong Lee
Next: SST-PFB-VME Roy Emerson
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  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: Eric Norum
Next: Minor problem with file names for genSub record CapFast symbols Redman, Russell O.
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·