This repository provides EPICS support for the Physik Instrumente E-712 motor controller, including IOC applications, parameter file handling, and integration with asyn and autosave modules. This driver exposes most if not all? of the capabilities of the E712 namely waveform generator and data recorder control. This driver was adapted by Russ Berg (Canadian Lightsource) from and early generic GCS2 driver by Steffen Rau, and is in primary use at the 10ID1 STXM beamline at the CLS.
PIE712Support/- Core device support and controller logicPIE712App/- Application layer, including parameter file loading and IOC startup scriptsdb/,dbd/- Database and device definition filesiocBoot/- IOC boot directories and startup scriptsparamFiles/- Example parameter files for the controllerpython/- Python scripts for parameter file processingconfigure/- EPICS build configuration fileslib/,bin/- Compiled libraries and binaries
To build the project, ensure you have EPICS Base and required modules installed, as well the parameter file loading makes use of python so check the Makefiles for python header file include directories and set them to your locations. Make the PIE712Support library first then make the app, so first
cd PIE712Support/src
makeThen build the app
cd PIE712App/src
make
cd PIE712App/Db
make This should create the binary and databases.
- Edit or create parameter files in
paramFiles/. - Configure IOC startup scripts in
iocBoot/. - Start the IOC using the appropriate boot script.
Parameter files (*.pam) are processed by the Python script python/e712_load_parm_file.py. The IOC state machine (load_param_file.st) calls this script to convert parameter files into controller commands, this is intended to be called from the st file..
The opi directory contains a script and .adl files to look at an E712 with 2 channels and can be loaded by running the script.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.