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  <20122013  2014  2015  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  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: ISEG EHS device support on the Raspberry Pi Computer
From: Andrew Johnson <[email protected]>
To: [email protected]
Cc: Florian Feldbauer <[email protected]>
Date: Mon, 10 Sep 2012 10:45:24 -0500
Hi Florian,

On 2012-09-10 Florian Feldbauer wrote:
> 
> Up to now the driver support in EPICS is only synchronous. Is there any
> documentation on how to program an
> asynchronous driver support? For some other devices we would need an
> asynchronous support.

While I second Mark Rivers' suggestion that you consider converting your code 
to become an Asyn Port Driver, if that doesn't prove feasible you might want 
to take a look at my driver for the TEWS Tip810 IP module.  It's basically a 
vxWorks driver for the PCA82C200 CAN interface chip (supporting the raw CANbus 
protocol only), and some generic CANbus device support.  The latter gives 
asynchronous support for most of the standard record types with I/O Interrupt 
support, and even on-demand processing of output records in response to an RTR 
message (I don't know if that kind of thing is possible through Asyn).

You can find the documentation and tar-files for this driver at
    https://svn.aps.anl.gov/trac/epics/ipac
Look under the specific version link there for the documentation, and in the 
drvTip810 directory in the tar-file for the source code.

This code is released under the LGPL, so you're free to modify and re-use say 
just the device support part if you wish, as long as you include the source 
code if you distribute copies to anyone else.

Information on how to write asynchronous device support is spread around a 
bit; there is some text under the individual record types in the record 
reference manual on the EPICS Wiki but that isn't very comprehensive.  There's 
a bit more detailed description in the Device Support lecture from the latest 
USPAS course, see http://www.aps.anl.gov/epics/docs/USPAS2010.php and finally 
there's a chapter on Device Support in the Application Developers' Guide which 
may also help — the code examples there are getting a bit old now, but should 
still work.

HTH,

- Andrew
-- 
Never interrupt your enemy when he is making a mistake.
-- Napoleon Bonaparte


References:
ISEG EHS device support on the Raspberry Pi Computer Florian Feldbauer

Navigate by Date:
Prev: windows-x64 tool versions james.rowland
Next: Does anyone have support for Hamamatsu ORCA Flash 4.0? nick.rees
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: ISEG EHS device support on the Raspberry Pi Computer Paul Nord
Next: Does anyone have support for Andor Neo Phillip Sorensen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·