Added doReset wrapper around reset and added two functions to set and
retrieve the motor position which handle the conversion via motorRecResolution.
This commit is contained in:
@@ -32,9 +32,9 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
pAxes_ which has the length specified here. When getting an axis, the
|
||||
`getAxis` function indexes into this array. A length of 8 would therefore
|
||||
mean that the axis slots 0 to 7 are available. However, in order to keep the
|
||||
axis enumeration in sync with the electronics counting logic, we start
|
||||
counting the axes with 1 and end at 8. Therefore, an offset of 1 is added
|
||||
when forwarding this number to asynMotorController.
|
||||
axis enumeration identical to that of the hardware, we start counting the
|
||||
axes with 1 and end at 8. Therefore, an offset of 1 is added when forwarding
|
||||
this number to asynMotorController.
|
||||
* @param movingPollPeriod Time between polls when moving (in seconds)
|
||||
* @param idlePollPeriod Time between polls when not moving (in
|
||||
seconds)
|
||||
@@ -82,7 +82,7 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
*
|
||||
* If accessing the parameter library failed (return status !=
|
||||
asynSuccess), calling this function writes a standardized message to both
|
||||
the IOC shell and the motor message text PV. It then returns the input
|
||||
the IOC shell and the motorMessageText PV. It then returns the input
|
||||
status.
|
||||
*
|
||||
* @param status Status of the failed parameter library access
|
||||
@@ -90,7 +90,7 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
error messages.
|
||||
* @param functionName Name of the caller function. It is recommended
|
||||
to use a macro, e.g. __func__ or __PRETTY_FUNCTION__.
|
||||
* @param line Source code line where this function is
|
||||
* @param line Source code line where this function is
|
||||
called. It is recommended to use a macro, e.g. __LINE__.
|
||||
* @return asynStatus Returns input status.
|
||||
*/
|
||||
@@ -115,7 +115,7 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
called. It is recommended to use a macro, e.g. __LINE__.
|
||||
* @return asynStatus Returns asynError.
|
||||
*/
|
||||
asynStatus errMsgCouldNotParseResponse(const char *command,
|
||||
asynStatus couldNotParseResponse(const char *command,
|
||||
const char *response, int axisNo,
|
||||
const char *functionName, int line);
|
||||
|
||||
@@ -131,7 +131,7 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
* @brief This function should be called when a communication timeout
|
||||
occured. It calculates the frequency of communication timeout events and
|
||||
creates an error message, if an threshold has been exceeded.
|
||||
*
|
||||
|
||||
Occasionally, communication timeouts between the IOC and the motor
|
||||
controller may happen, usually because the controller takes too long to
|
||||
respond. If this happens infrequently, this is not a problem. However, if it
|
||||
@@ -181,7 +181,7 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
|
||||
/**
|
||||
* @brief Inform the user, if the number of timeouts exceeds the threshold
|
||||
* specified with setMaxSubsequentTimeouts
|
||||
* specified with `setMaxSubsequentTimeouts`.
|
||||
*
|
||||
* @param timeoutNo Number of subsequent timeouts which already
|
||||
* happened.
|
||||
@@ -192,10 +192,10 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
class sinqAxis *axis);
|
||||
|
||||
/**
|
||||
* @brief See documentation of checkMaxSubsequentTimeouts(sinqAxis * axis)
|
||||
* @brief See documentation of `checkMaxSubsequentTimeouts(sinqAxis * axis)`
|
||||
*
|
||||
* @param userMessage Buffer for the user message
|
||||
* @param userMessageSize Buffer size in chars
|
||||
* @param userMessage Buffer for the user message
|
||||
* @param userMessageSize Buffer size in chars
|
||||
* @return asynStatus
|
||||
*/
|
||||
virtual asynStatus checkMaxSubsequentTimeouts(int timeoutNo, int axisNo,
|
||||
@@ -216,8 +216,8 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
|
||||
/**
|
||||
* @brief Get a reference to the map used to control the maximum number of
|
||||
* message repetitions. See the documentation of printRepetitionWatchdog in
|
||||
* msgPrintControl.h for details.
|
||||
* message repetitions. See the documentation of `printRepetitionWatchdog`
|
||||
* in msgPrintControl.h for details.
|
||||
*/
|
||||
msgPrintControl &getMsgPrintControl();
|
||||
|
||||
@@ -253,7 +253,7 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
int motorStatus() { return motorStatus_; }
|
||||
int motorUpdateStatus() { return motorUpdateStatus_; }
|
||||
|
||||
// Accessors for sztatus bits (integers)
|
||||
// Accessors for status bits (integers)
|
||||
int motorStatusDirection() { return motorStatusDirection_; }
|
||||
int motorStatusDone() { return motorStatusDone_; }
|
||||
int motorStatusHighLimit() { return motorStatusHighLimit_; }
|
||||
@@ -295,6 +295,8 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
|
||||
// Additional members
|
||||
int numAxes() { return numAxes_; }
|
||||
double idlePollPeriod() { return idlePollPeriod_; }
|
||||
double movingPollPeriod() { return movingPollPeriod_; }
|
||||
asynUser *asynUserSelf() { return pasynUserSelf; }
|
||||
asynUser *ipPortUser() { return ipPortUser_; }
|
||||
|
||||
@@ -302,7 +304,7 @@ class epicsShareClass sinqController : public asynMotorController {
|
||||
|
||||
protected:
|
||||
// Pointer to the port user which is specified by the char array
|
||||
// ipPortConfigName in the constructor
|
||||
// `ipPortConfigName` in the constructor
|
||||
asynUser *ipPortUser_;
|
||||
double movingPollPeriod_;
|
||||
double idlePollPeriod_;
|
||||
|
||||
Reference in New Issue
Block a user