- EPICS - https://epics.anl.gov/
- PyDevice - https://github.com/klemenv/PyDevice
- hkl - https://repo.or.cz/hkl.git
Download the EPICS base from https://epics.anl.gov/download/base/index.php and place tarball into /epics, then unpack and build.
tar -xvzf base-7.0.8.tar.gz
mv base-7.0.8 base
cd base
makehkl - https://repo.or.cz/hkl.git
cd /epics/support
git clone https://repo.or.cz/hkl.git
git checkout tags/v5.0.0.3357 # DELETE, UPDATE TO NEWEST
cd hklsudo apt install gtk-doc-tools autoconf libgtkmm-3.0-dev libyaml-dev gettext autopoint gobject-introspection libtool autoconf-archive debhelper gnuplot-nox gobject-introspection gtk-doc-tools libbullet-dev libg3d-dev libg3d-plugins libgirepository1.0-dev libgl-dev libgsl-dev libgtk-3-dev libgtkglext1-dev libhdf5-dev python3-gi python3-pip elpa-htmlize dvipng libhdf5-dev povray asymptote libhdf5-dev libcglm-dev libinih-dev./autogen
./configure --enable-introspection --disable-binoculars
make
sudo make installIf running hkl outside of this IOC, you will need to set the following environmental variables in your shell/bashrc:
export GI_TYPELIB_PATH=/usr/local/lib/girepository-1.0
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/libPlace this repo in /epics/iocs/
cd /epics/iocs
git clone https://github.com/hkl-projects/ioc-hkl.git
cd ioc-hkl
makeInstall the python venv environment (named iochkl) with access to system's site-packages via
cd /epics/iocs/ioc-hkl
python3 -m venv --system-site-packages /epics/iocs/ioc-hkl/iochkl
source iochkl/bin/activate
pip install -r requirements.txt
cd /epics/iocs/PyDevice/iocBoot/iocpydev
./st.cmdin epics shell: pydev("hklApp.test()")
in epics shell: pydev("hklApp.get_pseudoaxes()")
in bash: caget TAS:hb3:in:pseudoaxesh