Since you already have the data in python, you could add the python CA server to your python code, so your python program is like an IOC, directly serving the data via channel access. See https://pcaspy.readthedocs.org
-Kay
On Feb 5, 2015, at 11:58 AM, Christian Pauly<[email protected]>
wrote:
Hi
I want to read out a little pressure sensor, for which i have already a small python script which reads the sensor (via i2c bus) and prints the sensor value to the terminal. Alternatively, i could also give the sensor value as return value upon program exit.
Now i want to read this sensor inside an EPICS IOC.
Is it possible, to use StreamDevice for this, by calling the external script / program and evaluating the return value ?
Maybe using the "exec" statement in the protocol file ?
Reading the sensor takes some time (500ms), so it would be good to do it asynchronously, without blocking the IOC.
Or is there any other easy way, without reimplementing all the i2c sensor readout eg inside an ASYN driver in C++ code ?
Thanks for any hints or help
Best regards,
Christian
--
Dr. Christian Pauly
Bergische Universität Wuppertal
Fachbereich C - Physik
Gaußstraße 20, D-42119 Wuppertal
Tel: +49 (0)202 439-2632,
Fax: +49 (0)202 439-2662