motorDSM

EPICS motor drivers for the following Dynamic Structures and Materials motor controllers: MD-90

Build Status

motorDSM is a submodule of motor. When motorDSM is built in the motor/modules directory, no manual configuration is needed.

motorDSM can also be built outside of motor by copying it's configure/EXAMPLE_RELEASE.local file to RELEASE.local and defining the paths to EPICS_BASE, MOTOR, and itself.

motorDSM contains an example IOC that is built if configure/CONFIG_SITE.local sets BUILD_IOCS = YES. The example IOC can be built outside of the driver module. Copy iocs/dsmIOC/configure/EXAMPLE_RELEASE.local to RELEASE.local and uncomment and set the paths for the appropriate lines depending on whether motorDSM was built inside the motor module or independently.


To set up a full EPICS stack for development and testing, install and configure all of the following dependencies:


epics-base

Install make, gcc, and perl packages if not already installed, then clone and build epics-base:

$ export SUPPORT=/path/to/install/directory
$ cd $SUPPORT
$ git clone git@github.com:epics-base/epics-base.git
$ cd epics-base
$ make distclean
$ make

asyn

$ cd $SUPPORT
$ git clone git@github.com:epics-modules/asyn.git

Needed to install (on Arch Linux) rpcsvc-proto package to get rpcgen binary needed to make asyn.

In asyn/configure, copy RELEASE to RELEASE.local and set SUPPORT and EPICS_BASE paths.

In asyn/configure, create CONFIG_SITE.local file with the line:
TIRPC=YES
if appropriate header files are in /usr/include/tirpc/rpc instead of /usr/include/rpc.

$ cd asyn
$ make clean
$ make

seq

$ cd $SUPPORT
$ git clone git@github.com:ISISComputingGroup/EPICS-seq.git seq

Install the re2c package (Arch).

Create seq/configure/RELEASE.local and set path for EPICS_BASE.
(Note this package seems to forget to git-ignore the .local file.)

Edit seq/configure/RELEASE to add the missing '-' before include for ISIS_CONFIG on the next to last line. Seems to be a typo.

$ cd seq
$ make clean
$ make

motor

$ cd $SUPPORT
$ git clone git@github.com:epics-modules/motor.git

Optionally, if you want to install additional motor drivers:

$ cd motor
$ git submodule init
$ git submodule update modules/motorAcs
$ git submodule update modules/foo
$ git submodule update modules/bar

Optionally, edit motor/modules/Makefile and comment out all unused driver submodules.

Optionally, create motor/config/CONFIG_SITE.local with the line:
BUILD_IOCS = YES

Create motor/config/RELEASE.local and set SUPPORT, ASYN, SNCSEQ, and EPICS_BASE to the appropriate paths.

$ cd motor
$ make distclean
$ make

motorDSM (this package)

$ cd $SUPPORT
$ git clone git@github.com:Binary-Coalescence/motorDSM.git

In motorDSM/configure, copy EXAMPLE_RELEASE.local to RELEASE.local and set paths for EPICS_BASE, MOTOR, and MOTOR_DSM.

In motorDSM/configure, copy EXAMPLE_CONFIG_SITE.local to CONFIG_SITE.local and set:
BUILD_IOCS = YES

In motorDSM/iocs/dsmIOC/configure, copy EXAMPLE_RELEASE.local to RELEASE.local. Comment out the "if built inside motor" lines, uncomment the "if built outside motor" lines, and set the path for MOTOR_DSM.

$ cd motorDSM
$ make distclean
$ make
Description
EPICS motor driver for the DSM MD-90 motor controller
Readme 280 KiB
Languages
C++ 83.6%
Makefile 12.7%
C 3.1%
Batchfile 0.6%