Added some flags for NICOS and refactored some records from pmacv3 to
sinqMotor
This commit is contained in:
@@ -43,7 +43,7 @@ class epicsShareClass sinqAxis : public asynMotorAxis {
|
||||
- Reset motorStatusProblem_, motorStatusCommsError_ and motorMessageText_ if
|
||||
doPoll returned asynSuccess
|
||||
- If the movement timeout watchdog has been started, check it.
|
||||
- Update the parameter library entry enableMotorRBV_ by calling isEnabled.
|
||||
- Update the parameter library entry motorEnableRBV_ by calling isEnabled.
|
||||
- Run `callParamCallbacks`
|
||||
- Return the status of `doPoll`
|
||||
*
|
||||
@@ -162,6 +162,44 @@ class epicsShareClass sinqAxis : public asynMotorAxis {
|
||||
*/
|
||||
virtual asynStatus isEnabled(bool *on);
|
||||
|
||||
/**
|
||||
* @brief Populate the motor record fields VELO, VBAS and VMAX
|
||||
*
|
||||
* Populates the speed fields of the motor record. If the param lib
|
||||
* entry motorCanSetSpeed_ (connected to the PV x:VariableSpeed) is set to
|
||||
* 1, VBAS and VMAX are set to min and max respectively. Otherwise, they are
|
||||
* set to val. Additionally, the speed itself is set to velo.
|
||||
*
|
||||
* The units of the inputs are engineering units (EGU) per second (e.g. mm/s
|
||||
* if the EGU is mm).
|
||||
*
|
||||
* If the given configuration is invalid (min > max, velo < min, velo > max)
|
||||
* and the motor is configured as a variable speed motor (param lib entry
|
||||
* motorCanSetSpeed_ is 1), this function returns an asynError.
|
||||
*
|
||||
* @param velo Actual velocity (EGU / s)
|
||||
* @param vbas Minimum allowed velocity (EGU / s)
|
||||
* @param velo Maximum allowed velocity (EGU / s)
|
||||
*
|
||||
* @return asynStatus
|
||||
*/
|
||||
virtual asynStatus setVeloFields(double velo, double vbas, double vmax);
|
||||
|
||||
/**
|
||||
* @brief Populate the ACCL field of the motor record
|
||||
*
|
||||
* Populates the acceleration field of the motor record with the given
|
||||
* value. If accl is not positive, this function does not set the value and
|
||||
* returns an asynError.
|
||||
*
|
||||
* The unit of the input is engineering units (EGU) per second squared (e.g.
|
||||
* mm/s^2 if the EGU is mm).
|
||||
*
|
||||
* @param accl Actual acceleration (EGU / s^2)
|
||||
* @return asynStatus
|
||||
*/
|
||||
virtual asynStatus setAcclField(double accl);
|
||||
|
||||
/**
|
||||
* @brief Start the watchdog for the movement, if the watchdog is not
|
||||
disabled. See the documentation of checkMovTimeoutWatchdog for more details.
|
||||
|
||||
Reference in New Issue
Block a user