EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  <20002001  2002  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  <20002001  2002  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: Using EPICS CA from Python
From: Noboru Yamamoto <[email protected]>
To: Geoff Savage <[email protected]>
Cc: tech-talk <[email protected]>
Date: Mon, 07 Feb 2000 21:26:24 +0900
Geoff Savage wrote:
> 
> Hi,
> 
> I have followed the recent postings on using CA from Python with
> interest.  We here at Fermilab make extensive use of our version of a
> Python/CA interface.  You can get the source and documentation from
> http://www-d0.fnal.gov/~savage/caPython/caPython.html
> Along with the source code I have included Python modules for Linux,
> IRIX, and OSF1.  The wrapper class, CaChannel, is pure Python and will
> also run on all these platforms.
I'm very glad to know there is another group of people supporting Python
in EPICS.

> 
> Highlights:
> + Straight conversion between C functions and Python functions using
> SWIG.  This let's you program in Python as if you were programming in
> C.  Some of the more advanced functions have not been implemented due to
> constraints with how callbacks are handled.  I haven't completed the
Can you describe it in detail ? (may be in the private mail because the
discussion 
can be too technical for the others in this mailing list.)

> scan group functionality as we don't use it here.
> + Included is a Python class that wraps the functions.  This makes CA in
> Python easier to use.
> + Many macros from db_access.h and cadef.h are included along with the
> data type identifiers (DBR_XXXX and DBF_XXXX).

When I started to write Python/CA interface, there were no "%apply" or
"%typemap" 
mechanism in SWIG ( or I just did not recognized them). So for me, it
seemed very difficult 
to map CA library interface to Python interface. So I decided to write a
C module from scratch.
I also assumed that the main user of Python/CA is an accelerator
physicist, so I prepared 
rather simple interface in Python/CA. 

> 
> Unfortunately we have not had the time to evaluate the CA/Python
> interfaces developed by Noboru Yamamoto and Matthieu Bec.  Maybe we can
> combine the strongest parts from each project into a standard CA/Python
> interface.
Our user uses just Python module but never access C-module in there
program directly.
So I think it is possible to replace C-module without affecting user
program, in principle.
But I need to check it.
I would be very happy to discuss CA/Python interface, anyway.

> 
> Please contact me with any questions or concerns.
> 
> Geoff

Noboru Yamamoto
KEKB control group
KEK, JAPAN


References:
Using EPICS CA from Python Geoff Savage

Navigate by Date:
Prev: Re: support for output records Benjamin Franksen
Next: Re: support for output records Bob Dalesio
Index: 1994  1995  1996  1997  1998  1999  <20002001  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: Using EPICS CA from Python Geoff Savage
Next: Re: VxWorks global variable device support (boRecord.c) saa
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  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 ·