Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2c9de618ec | |||
| b834dc3f8d |
3
Makefile
3
Makefile
@@ -42,4 +42,5 @@ DBDS += turboPmac/sinqMotor/src/sinqMotor.dbd
|
|||||||
DBDS += turboPmac/src/turboPmac.dbd
|
DBDS += turboPmac/src/turboPmac.dbd
|
||||||
DBDS += src/seleneGuide.dbd
|
DBDS += src/seleneGuide.dbd
|
||||||
|
|
||||||
USR_CFLAGS += -Wall -Wextra -Wunused-result -Wextra -Werror -fvisibility=hidden# -Wpedantic // Does not work because EPICS macros trigger warnings
|
USR_CFLAGS += -Wall -Wextra -Wunused-result -Wextra -Werror # -Wpedantic // Does not work because EPICS macros trigger warnings
|
||||||
|
USR_CXXFLAGS += -Wall -Wextra -Wunused-result -Wextra -Werror
|
||||||
@@ -50,8 +50,15 @@ asynStatus seleneAngleAxis::stop(double acceleration) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
asynStatus seleneAngleAxis::doMove(double position, int relative,
|
asynStatus seleneAngleAxis::doMove(double position, int relative,
|
||||||
double min_velocity, double max_velocity,
|
double minVelocity, double maxVelocity,
|
||||||
double acceleration) {
|
double acceleration) {
|
||||||
|
|
||||||
|
// Suppress unused variable warnings
|
||||||
|
(void)relative;
|
||||||
|
(void)minVelocity;
|
||||||
|
(void)maxVelocity;
|
||||||
|
(void)acceleration;
|
||||||
|
|
||||||
double motorRecResolution = 0.0;
|
double motorRecResolution = 0.0;
|
||||||
|
|
||||||
getAxisParamChecked(this, motorRecResolution, &motorRecResolution);
|
getAxisParamChecked(this, motorRecResolution, &motorRecResolution);
|
||||||
|
|||||||
@@ -48,12 +48,12 @@ class HIDDEN seleneAngleAxis : public turboPmacAxis {
|
|||||||
*
|
*
|
||||||
* @param position
|
* @param position
|
||||||
* @param relative
|
* @param relative
|
||||||
* @param min_velocity
|
* @param minVelocity
|
||||||
* @param maxOffset_velocity
|
* @param maxOffset_velocity
|
||||||
* @param acceleration
|
* @param acceleration
|
||||||
* @return asynStatus
|
* @return asynStatus
|
||||||
*/
|
*/
|
||||||
asynStatus doMove(double position, int relative, double min_velocity,
|
asynStatus doMove(double position, int relative, double minVelocity,
|
||||||
double maxOffset_velocity, double acceleration);
|
double maxOffset_velocity, double acceleration);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -23,7 +23,8 @@ seleneGuideController::seleneGuideController(
|
|||||||
const char *portName, const char *ipPortConfigName, int numAxes,
|
const char *portName, const char *ipPortConfigName, int numAxes,
|
||||||
double movingPollPeriod, double idlePollPeriod, double comTimeout)
|
double movingPollPeriod, double idlePollPeriod, double comTimeout)
|
||||||
: turboPmacController(portName, ipPortConfigName, numAxes, movingPollPeriod,
|
: turboPmacController(portName, ipPortConfigName, numAxes, movingPollPeriod,
|
||||||
idlePollPeriod, NUM_seleneGuide_DRIVER_PARAMS)
|
idlePollPeriod, comTimeout,
|
||||||
|
NUM_seleneGuide_DRIVER_PARAMS)
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -145,7 +146,8 @@ static const iocshArg *const CreateControllerArgs[] = {
|
|||||||
&CreateControllerArg0, &CreateControllerArg1, &CreateControllerArg2,
|
&CreateControllerArg0, &CreateControllerArg1, &CreateControllerArg2,
|
||||||
&CreateControllerArg3, &CreateControllerArg4, &CreateControllerArg5};
|
&CreateControllerArg3, &CreateControllerArg4, &CreateControllerArg5};
|
||||||
static const iocshFuncDef configSeleneGuideCreateController = {
|
static const iocshFuncDef configSeleneGuideCreateController = {
|
||||||
"seleneGuideController", 6, CreateControllerArgs};
|
"seleneGuideController", 6, CreateControllerArgs,
|
||||||
|
"Create a new instance of a Selene controller."};
|
||||||
static void configSeleneGuideCreateControllerCallFunc(const iocshArgBuf *args) {
|
static void configSeleneGuideCreateControllerCallFunc(const iocshArgBuf *args) {
|
||||||
seleneGuideCreateController(args[0].sval, args[1].sval, args[2].ival,
|
seleneGuideCreateController(args[0].sval, args[1].sval, args[2].ival,
|
||||||
args[3].dval, args[4].dval, args[5].dval);
|
args[3].dval, args[4].dval, args[5].dval);
|
||||||
|
|||||||
@@ -381,8 +381,15 @@ asynStatus seleneLiftAxis::doPoll(bool *moving) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
asynStatus seleneLiftAxis::doMove(double position, int relative,
|
asynStatus seleneLiftAxis::doMove(double position, int relative,
|
||||||
double min_velocity, double max_velocity,
|
double minVelocity, double maxVelocity,
|
||||||
double acceleration) {
|
double acceleration) {
|
||||||
|
|
||||||
|
// Suppress unused variable warnings
|
||||||
|
(void)relative;
|
||||||
|
(void)minVelocity;
|
||||||
|
(void)maxVelocity;
|
||||||
|
(void)acceleration;
|
||||||
|
|
||||||
double motorRecResolution = 0.0;
|
double motorRecResolution = 0.0;
|
||||||
getAxisParamChecked(this, motorRecResolution, &motorRecResolution);
|
getAxisParamChecked(this, motorRecResolution, &motorRecResolution);
|
||||||
setTargetPosition(position * motorRecResolution);
|
setTargetPosition(position * motorRecResolution);
|
||||||
@@ -440,6 +447,9 @@ asynStatus seleneLiftAxis::stop(double acceleration) {
|
|||||||
|
|
||||||
// =========================================================================
|
// =========================================================================
|
||||||
|
|
||||||
|
// Suppress unused variable warnings
|
||||||
|
(void)acceleration;
|
||||||
|
|
||||||
// Stop all axes
|
// Stop all axes
|
||||||
status = pC_->writeRead(axisNo_, "P150=8", response, 0);
|
status = pC_->writeRead(axisNo_, "P150=8", response, 0);
|
||||||
|
|
||||||
@@ -466,6 +476,10 @@ asynStatus seleneLiftAxis::doReset() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
asynStatus seleneLiftAxis::enable(bool on) {
|
asynStatus seleneLiftAxis::enable(bool on) {
|
||||||
|
|
||||||
|
// Suppress unused variable warnings
|
||||||
|
(void)on;
|
||||||
|
|
||||||
setAxisParamChecked(this, motorMessageText,
|
setAxisParamChecked(this, motorMessageText,
|
||||||
"Axis cannot be enabled / disabled");
|
"Axis cannot be enabled / disabled");
|
||||||
return asynSuccess;
|
return asynSuccess;
|
||||||
@@ -479,6 +493,12 @@ asynStatus seleneLiftAxis::readEncoderType() {
|
|||||||
asynStatus seleneLiftAxis::doHome(double minVelocity, double maxVelocity,
|
asynStatus seleneLiftAxis::doHome(double minVelocity, double maxVelocity,
|
||||||
double acceleration, int forwards) {
|
double acceleration, int forwards) {
|
||||||
|
|
||||||
|
// Suppress unused variable warnings
|
||||||
|
(void)minVelocity;
|
||||||
|
(void)maxVelocity;
|
||||||
|
(void)acceleration;
|
||||||
|
(void)forwards;
|
||||||
|
|
||||||
char response[pC_->MAXBUF_] = {0};
|
char response[pC_->MAXBUF_] = {0};
|
||||||
|
|
||||||
// No answer expected
|
// No answer expected
|
||||||
@@ -636,8 +656,9 @@ static const iocshArg *const CreateAxisArgs[] = {
|
|||||||
&CreateAxisArg3, &CreateAxisArg4, &CreateAxisArg5,
|
&CreateAxisArg3, &CreateAxisArg4, &CreateAxisArg5,
|
||||||
&CreateAxisArg6, &CreateAxisArg7, &CreateAxisArg8,
|
&CreateAxisArg6, &CreateAxisArg7, &CreateAxisArg8,
|
||||||
};
|
};
|
||||||
static const iocshFuncDef configSeleneVirtualCreateAxes = {"seleneVirtualAxes",
|
static const iocshFuncDef configSeleneVirtualCreateAxes = {
|
||||||
9, CreateAxisArgs};
|
"seleneVirtualAxes", 9, CreateAxisArgs,
|
||||||
|
"Creates instances of Selene axes."};
|
||||||
static void configSeleneVirtualCreateAxesCallFunc(const iocshArgBuf *args) {
|
static void configSeleneVirtualCreateAxesCallFunc(const iocshArgBuf *args) {
|
||||||
seleneVirtualCreateAxes(args[0].sval, args[1].ival, args[2].ival,
|
seleneVirtualCreateAxes(args[0].sval, args[1].ival, args[2].ival,
|
||||||
args[3].ival, args[4].ival, args[5].ival,
|
args[3].ival, args[4].ival, args[5].ival,
|
||||||
|
|||||||
@@ -65,12 +65,12 @@ class HIDDEN seleneLiftAxis : public turboPmacAxis {
|
|||||||
*
|
*
|
||||||
* @param position
|
* @param position
|
||||||
* @param relative
|
* @param relative
|
||||||
* @param min_velocity
|
* @param minVelocity
|
||||||
* @param maxOffset_velocity
|
* @param maxOffset_velocity
|
||||||
* @param acceleration
|
* @param acceleration
|
||||||
* @return asynStatus
|
* @return asynStatus
|
||||||
*/
|
*/
|
||||||
asynStatus doMove(double position, int relative, double min_velocity,
|
asynStatus doMove(double position, int relative, double minVelocity,
|
||||||
double maxOffset_velocity, double acceleration);
|
double maxOffset_velocity, double acceleration);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -283,10 +283,15 @@ seleneOffsetAxis::setPositionsFromEncoderPosition(double encoderPosition) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
asynStatus seleneOffsetAxis::doMove(double position, int relative,
|
asynStatus seleneOffsetAxis::doMove(double position, int relative,
|
||||||
double min_velocity,
|
double minVelocity, double maxVelocity,
|
||||||
double maxOffset_velocity,
|
|
||||||
double acceleration) {
|
double acceleration) {
|
||||||
|
|
||||||
|
// Suppress unused variable warnings
|
||||||
|
(void)relative;
|
||||||
|
(void)minVelocity;
|
||||||
|
(void)maxVelocity;
|
||||||
|
(void)acceleration;
|
||||||
|
|
||||||
double motorRecResolution = 0.0;
|
double motorRecResolution = 0.0;
|
||||||
getAxisParamChecked(this, motorRecResolution, &motorRecResolution);
|
getAxisParamChecked(this, motorRecResolution, &motorRecResolution);
|
||||||
|
|
||||||
@@ -299,6 +304,9 @@ asynStatus seleneOffsetAxis::doMove(double position, int relative,
|
|||||||
}
|
}
|
||||||
|
|
||||||
asynStatus seleneOffsetAxis::enable(bool on) {
|
asynStatus seleneOffsetAxis::enable(bool on) {
|
||||||
|
// Suppress unused variable warnings
|
||||||
|
(void)on;
|
||||||
|
|
||||||
setAxisParamChecked(this, motorMessageText,
|
setAxisParamChecked(this, motorMessageText,
|
||||||
"Axis cannot be enabled / disabled");
|
"Axis cannot be enabled / disabled");
|
||||||
return asynSuccess;
|
return asynSuccess;
|
||||||
@@ -384,7 +392,8 @@ static const iocshArg *const CreateAxisArgs[] = {
|
|||||||
&CreateAxisArg3,
|
&CreateAxisArg3,
|
||||||
};
|
};
|
||||||
static const iocshFuncDef configSeleneOffsetAxisCreateAxis = {
|
static const iocshFuncDef configSeleneOffsetAxisCreateAxis = {
|
||||||
"seleneOffsetAxis", 4, CreateAxisArgs};
|
"seleneOffsetAxis", 4, CreateAxisArgs,
|
||||||
|
"Creates a new instance of a Selene offset axis."};
|
||||||
static void configSeleneOffsetAxisCreateAxisCallFunc(const iocshArgBuf *args) {
|
static void configSeleneOffsetAxisCreateAxisCallFunc(const iocshArgBuf *args) {
|
||||||
seleneOffsetAxisCreateAxis(args[0].sval, args[1].ival, args[2].dval,
|
seleneOffsetAxisCreateAxis(args[0].sval, args[1].ival, args[2].dval,
|
||||||
args[3].dval);
|
args[3].dval);
|
||||||
|
|||||||
@@ -51,12 +51,12 @@ class HIDDEN seleneOffsetAxis : public turboPmacAxis {
|
|||||||
*
|
*
|
||||||
* @param position
|
* @param position
|
||||||
* @param relative
|
* @param relative
|
||||||
* @param min_velocity
|
* @param minVelocity
|
||||||
* @param maxOffset_velocity
|
* @param maxOffset_velocity
|
||||||
* @param acceleration
|
* @param acceleration
|
||||||
* @return asynStatus
|
* @return asynStatus
|
||||||
*/
|
*/
|
||||||
asynStatus doMove(double position, int relative, double min_velocity,
|
asynStatus doMove(double position, int relative, double minVelocity,
|
||||||
double maxOffset_velocity, double acceleration);
|
double maxOffset_velocity, double acceleration);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Submodule turboPmac updated: 1ee483f8e9...62ccf046fd
Reference in New Issue
Block a user