some records into sinqMotor
pmacv3
Overview
This is a driver for the pmacV3 motion controller with the SINQ communication protocol. It is based on the sinqMotor shared library (https://git.psi.ch/sinq-epics-modules/sinqmotor). The header files contain detailed documentation for all public functions. The headers themselves are exported when building the library to allow other drivers to depend on this one.
Usage in IOC shell
pmacv3 exposes the following IOC shell functions (all in pmacv3Controller.cpp):
pmacv3Controller: Create a new controller object.pmacv3Axis: Create a new axis object. The function arguments are documented directly within the source code or are available from the help function of the IOC shell.
Database
The pmacV3 module provides additional PVs in the database template db/pmacv3.db. It can be parametrized with the dbLoadTemplate function from the IOC shell:
require sinqMotor, y.y.y # The sinqMotor module is needed for the pmacv3 module. The version y.y.y is defined in the Makefile (line sinqMotor_VERSION=x.x.x)
require pmacv3, x.x.x # This is the three-digit version number of the pmacv3 module
dbLoadTemplate "motor.substitutions"
The substitutions file can be concatenated with that of sinqMotor:
file "$(sinqMotor_DB)/sinqMotor.db"
{
pattern
...
}
file "$(pmacv3_DB)/pmacv3.db"
{
pattern
{ AXIS, M}
{ 1, "lin1"}
{ 2, "rot1"}
}
The sinqMotor pattern "..." is documented in https://git.psi.ch/sinq-epics-modules/sinqmotor/-/blob/main/README.md. The other parameters have the following meaning:
AXIS: Index of the axis, corresponds to the physical connection of the axis to the MCUM: Name of the motor as shown in EPICS
The axis name should correspond to that of the sinqMotor pattern with the same respective index.
Versioning
Please see the documentation for the module sinqMotor: https://git.psi.ch/sinq-epics-modules/sinqmotor/-/blob/main/README.md.
How to build it
Please see the documentation for the module sinqMotor: https://git.psi.ch/sinq-epics-modules/sinqmotor/-/blob/main/README.md.