2 Commits
1.2.2 ... 1.2.3

Author SHA1 Message Date
2c9de618ec Made code compile with compiler flags
Some checks failed
Test And Build / Lint (push) Successful in 4s
Test And Build / Build (push) Failing after 7s
2025-12-23 14:00:08 +01:00
b834dc3f8d Updated turboPmac version 2025-12-23 13:51:18 +01:00
9 changed files with 57 additions and 17 deletions

View File

@@ -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

View File

@@ -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);

View File

@@ -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);
/** /**

View File

@@ -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);

View File

@@ -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,

View File

@@ -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);
/** /**

View File

@@ -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);

View File

@@ -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);
/** /**