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
<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: Eric Norum
- Next:
Minor problem with file names for genSub record CapFast symbols Redman, Russell O.
- 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
|