Added dedicated interface function for setting the operation mode.
This commit is contained in:
@@ -331,6 +331,8 @@ available in the IOC shell.
|
||||
This function is also available in the IOC shell.
|
||||
- `setScaleMovTimeout`: Set a scaling factor for the expected movement time.
|
||||
This function is also available in the IOC shell.
|
||||
- `setMode`: This is an empty function which should be overwritten by concrete
|
||||
driver implementations.
|
||||
|
||||
#### msgPrintControl.h
|
||||
In addition to the two extension classes this library also includes a mechanism
|
||||
|
||||
@@ -732,6 +732,11 @@ void sinqAxis::setTargetPosition(double targetPosition) {
|
||||
pSinqA_->targetPosition = targetPosition;
|
||||
}
|
||||
|
||||
asynStatus sinqAxis::setMode(int mode) {
|
||||
(void)mode;
|
||||
return asynSuccess;
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// IOC shell functions
|
||||
extern "C" {
|
||||
|
||||
@@ -434,6 +434,18 @@ class HIDDEN sinqAxis : public asynMotorAxis {
|
||||
*/
|
||||
asynStatus assertConnected();
|
||||
|
||||
/**
|
||||
* @brief Set the operation mode (position or velocity) of the axis. It
|
||||
* should be implemented by a child class of sinqAxis.
|
||||
*
|
||||
* This function is called from within sinqController::writeInt32 if a new
|
||||
* operation mode has been set.
|
||||
*
|
||||
* @param mode: New operation mode. 0 is position mode, 1 is velocity mode.
|
||||
* @return asynStatus
|
||||
*/
|
||||
virtual asynStatus setMode(int mode);
|
||||
|
||||
/**
|
||||
* @brief Return a pointer to the axis controller.
|
||||
*
|
||||
|
||||
@@ -510,7 +510,7 @@ asynStatus sinqController::writeInt32(asynUser *pasynUser, epicsInt32 value) {
|
||||
// for velocity mode):
|
||||
if (value == 0 || value == 1) {
|
||||
setAxisParamChecked(axis, motorMode, value);
|
||||
return asynMotorController::writeInt32(pasynUser, value);
|
||||
return axis->setMode(value);
|
||||
} else {
|
||||
int axisNo;
|
||||
getAddress(pasynUser, &axisNo);
|
||||
|
||||
Reference in New Issue
Block a user