Hi pythoners,
If you ever used Geoff Savage's caPython/CaChannel extension in a
multithreaded program, you may know its limitation already: you can only
issue CA calls in the main thread. It is still using EPICS 3.13 API and
is not aware of the ca context attach/detach calls introduced in EPICS
3.14.
At that time (July 2008), I am not aware the update done by John
Hammonds of APS. I only know Noboru Yamamoto of KEK has maintained a
thread-aware PythonCA extension over years, which provides a low level C
extension to CA library as well as a convenient high level class
"channel".
For the sake of maintaining legacy codes, I write a new CaChannel class
with the same API as the old, using PythonCA C extension. Now it has be
used in SLS for months and the result is satisfactory. Without a single
line modified, programs using CaChannel, epicsPV, ca_utils run smoothly.
It provides "transparent" multithread support and no extra efforts have
to be taken for threaded CA calls.
Here is a short instruction on how to get the code,
http://controls.web.psi.ch/cgi-bin/twiki/view/Main/NewPythonEpicsInterfa
ce#Install
If this CaChannel does not work for you, please kindly let me know the
reason. I would like to thank Noboru Yamamoto to merge my changes and
please contact him if it blows up your computer :D.
--
Dr. Xiaoqiang Wang
Paul Scherrer Institut, WBGB/010
5232 Villigen PSI, Switzerland
- Navigate by Date:
- Prev:
RE: Variable size frame Mark Rivers
- Next:
Re: Help with streamDevice parsing HTML Dirk Zimoch
- 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: Help with streamDevice parsing HTML Dirk Zimoch
- Next:
Varian Turbo Pump Controllers Dave Reid
- 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
|