For this to work, you need some requirements as mentioned here:
- Python 2.6+ including 3.x
- Python headers (package name "python-dev" or similar)
- SWIG 1.3.29+ (package name "swig")
- readline library (package name "libreadline-dev")
Once, the prerequisits are met, run:
pip3 install -r requirements.txt --upgrade --user
$ python3 ./lufft_opus20_ioc.py -h
usage: lufft_opus20_ioc.py [-h] --sys SYS --sub SUB --esys ESYS
opus20_hostname
positional arguments:
opus20_hostname The hostname of IP address of the OPUS20 logger.
optional arguments:
-h, --help show this help message and exit
--sys SYS The detector system
--sub SUB The detector sub-system
--esys ESYS The environmental sub system
For example:
./lufft_opus20_ioc.py --sys CBM --sub MVD --esys CLEANROOM 192.168.1.12
Will serve the following PVs:
- CBM:MVD:ENVIRON:CLEANROOM:Temperature
- CBM:MVD:ENVIRON:CLEANROOM:RelativeHumidity
- CBM:MVD:ENVIRON:CLEANROOM:AbsoluteHumidity
- CBM:MVD:ENVIRON:CLEANROOM:Dewpoint
- CBM:MVD:ENVIRON:CLEANROOM:BatteryVoltage
I notice the following codes are using the internals of Driver. https://gist.github.com/pklaus/d86d8a00a57017888699f2a4e2e32e28#file-lufft_opus20_driver-py-L47-L55
It might be re-factored into
In addition to the removal of access to internal variable/methods, it reordered setParamStatus/setParam because setParamStatus overwrites whatever the changes setParam may have.