pmacV3 enable/disable axis
The default behaviour of the pmac controller is to enable the motor at startup. With the controller V3 we want that at IOC startup the axis to be off. A database entry like record(longout, "$(P)$(M):Enable") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(N),1) ENABLE_AXIS") field(PINI, "YES") } can be used to give access to enable/disable the axis.
This commit is contained in:

committed by
brambilla_m

parent
edc71af235
commit
c7fea08718
36
Makefile.RHEL7.michele
Normal file
36
Makefile.RHEL7.michele
Normal file
@ -0,0 +1,36 @@
|
||||
# This build the sinq extensions for the PSI EPICS setup
|
||||
include /ioc/tools/driver.makefile
|
||||
|
||||
MODULE=sinq
|
||||
LIBVERSION=brambilla_m
|
||||
BUILDCLASSES=Linux
|
||||
EPICS_VERSIONS=3.14.12 7.0.4.1
|
||||
|
||||
# additional module dependencies
|
||||
REQUIRED+=SynApps
|
||||
REQUIRED+=stream
|
||||
REQUIRED+=scaler
|
||||
|
||||
# using a test version
|
||||
scaler_VERSION=koennecke
|
||||
|
||||
TEMPLATES += sinqEPICSApp/Db/dimetix.db
|
||||
TEMPLATES += sinqEPICSApp/Db/slsvme.db
|
||||
TEMPLATES += sinqEPICSApp/Db/spsamor.db
|
||||
|
||||
DBDS += sinqEPICSApp/src/sinq.dbd
|
||||
|
||||
# What we need at SINQ
|
||||
SOURCES += sinqEPICSApp/src/devScalerEL737.c
|
||||
SOURCES += sinqEPICSApp/src/SINQController.cpp
|
||||
SOURCES += sinqEPICSApp/src/SINQAxis.cpp
|
||||
SOURCES += sinqEPICSApp/src/EL734Driver.cpp
|
||||
SOURCES += sinqEPICSApp/src/NanotecDriver.cpp
|
||||
SOURCES += sinqEPICSApp/src/stptok.cpp
|
||||
SOURCES += sinqEPICSApp/src/PhytronDriver.cpp
|
||||
SOURCES += sinqEPICSApp/src/EuroMoveDriver.cpp
|
||||
SOURCES += sinqEPICSApp/src/pmacAsynIPPort.c
|
||||
SOURCES += sinqEPICSApp/src/pmacAxis.cpp
|
||||
SOURCES += sinqEPICSApp/src/pmacController.cpp
|
||||
|
||||
# MISCS would be the place to keep the stream device template files
|
@ -168,6 +168,8 @@ asynStatus pmacAxis::getAxisInitialStatus(void)
|
||||
// Enable the axis. After startup, the axis are disabled on the controller...
|
||||
// Warning: Selene lift axis should not be automatically enabled
|
||||
|
||||
printf("/nautoEnable: %d\n\n", autoEnable);
|
||||
|
||||
if (autoEnable) {
|
||||
sprintf(command, "M%2.2d14=1\n", axisNo_);
|
||||
asynPrint(pC_->pasynUserSelf, ASYN_TRACE_ERROR, "Enable axis %d: %s",axisNo_,command);
|
||||
|
@ -143,7 +143,7 @@ class LiftAxis : public pmacAxis
|
||||
class pmacV3Axis : public pmacAxis {
|
||||
public:
|
||||
|
||||
pmacV3AxisAxis(pmacController *pController, int axisNo) : pmacAxis(pController,axisNo, false) {};
|
||||
pmacV3Axis(pmacController *pController, int axisNo) : pmacAxis(pController,axisNo, false) {};
|
||||
|
||||
protected:
|
||||
|
||||
|
@ -839,7 +839,7 @@ asynStatus pmacV3Controller::writeInt32(asynUser *pasynUser, epicsInt32 value) {
|
||||
asynPrint(this->pasynUserSelf, ASYN_TRACE_FLOW,
|
||||
"%s: Enable axis on controller %s, axis %d enable=%d\n",
|
||||
functionName, portName, pAxis->axisNo_, value);
|
||||
errlogPrintf("Enable axis %d: %d, command = %s\n", pAxis->axisNo_, value, command);
|
||||
//errlogPrintf("Enable axis %d: %d, command = %s\n", pAxis->axisNo_, value, command);
|
||||
}
|
||||
|
||||
// Execute the command.
|
||||
|
Reference in New Issue
Block a user