Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f9fbccbe6e | |||
| edc5e93eae | |||
| b2acc86a33 | |||
| 36cb878f68 | |||
| c8bd7755b7 | |||
| b7bc762cec | |||
| 5258ac6be6 | |||
| 5e61af6625 |
30
.gitea/workflows/action.yaml
Normal file
30
.gitea/workflows/action.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
name: Test And Build
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
Lint:
|
||||
runs-on: linepics
|
||||
steps:
|
||||
- name: checkout repo
|
||||
uses: actions/checkout@v4
|
||||
- name: cppcheck
|
||||
run: cppcheck --std=c++17 --addon=cert --addon=misc --error-exitcode=1 src/*.cpp
|
||||
- name: formatting
|
||||
run: clang-format --style=file --Werror --dry-run src/*.cpp src/*.h
|
||||
Build:
|
||||
runs-on: linepics
|
||||
steps:
|
||||
- name: checkout repo
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: 'true'
|
||||
- run: |
|
||||
pushd turboPmac
|
||||
sed -i 's/ARCH_FILTER=.*/ARCH_FILTER=linux%/' Makefile
|
||||
echo -e "\nIGNORE_SUBMODULES += sinqmotor" >> Makefile
|
||||
make install
|
||||
popd
|
||||
- run: |
|
||||
sed -i 's/ARCH_FILTER=.*/ARCH_FILTER=linux%/' Makefile
|
||||
echo -e "\nIGNORE_SUBMODULES += turboPmac" >> Makefile
|
||||
make install
|
||||
3
Makefile
3
Makefile
@@ -35,4 +35,5 @@ DBDS += turboPmac/sinqMotor/src/sinqMotor.dbd
|
||||
DBDS += turboPmac/src/turboPmac.dbd
|
||||
DBDS += src/beamShift.dbd
|
||||
|
||||
USR_CFLAGS += -Wall -Wextra -Weffc++ -Wunused-result -Werror # -Wpedantic // Does not work because EPICS macros trigger warnings
|
||||
USR_CFLAGS += -Wall -Wextra -Wunused-result -Werror # -Wpedantic // Does not work because EPICS macros trigger warnings
|
||||
USR_CXXFLAGS += -Wall -Wextra -Wunused-result -Werror
|
||||
|
||||
@@ -146,7 +146,7 @@ asynStatus beamShiftAxis::doPoll(bool *moving) {
|
||||
asynStatus errorStatus = asynSuccess;
|
||||
|
||||
// Status of read-write-operations of ASCII commands to the controller
|
||||
asynStatus rw_status = asynSuccess;
|
||||
asynStatus status = asynSuccess;
|
||||
|
||||
// Status of parameter library operations
|
||||
asynStatus pl_status = asynSuccess;
|
||||
@@ -182,9 +182,9 @@ asynStatus beamShiftAxis::doPoll(bool *moving) {
|
||||
- Lower limit
|
||||
*/
|
||||
snprintf(command, sizeof(command), "P154 Q110 P158 P159 Q113 Q114");
|
||||
rw_status = pC_->writeRead(axisNo(), command, response, 6);
|
||||
if (rw_status != asynSuccess) {
|
||||
return rw_status;
|
||||
status = pC_->writeRead(axisNo(), command, response, 6);
|
||||
if (status != asynSuccess) {
|
||||
return status;
|
||||
};
|
||||
|
||||
nvals = sscanf(response, "%d %lf %d %d %lf %lf", (int *)moving,
|
||||
@@ -393,10 +393,7 @@ asynStatus beamShiftAxis::doMove(double position, int relative,
|
||||
double acceleration) {
|
||||
|
||||
// Status of read-write-operations of ASCII commands to the controller
|
||||
asynStatus rw_status = asynSuccess;
|
||||
|
||||
// Status of parameter library operations
|
||||
asynStatus pl_status = asynSuccess;
|
||||
asynStatus status = asynSuccess;
|
||||
|
||||
char command[pC_->MAXBUF_] = {0};
|
||||
char response[pC_->MAXBUF_] = {0};
|
||||
@@ -406,6 +403,12 @@ asynStatus beamShiftAxis::doMove(double position, int relative,
|
||||
|
||||
// =========================================================================
|
||||
|
||||
// Suppress unused variables warnings
|
||||
(void)relative;
|
||||
(void)minVelocity;
|
||||
(void)maxVelocity;
|
||||
(void)acceleration;
|
||||
|
||||
getAxisParamChecked(this, motorEnableRBV, &enabled);
|
||||
getAxisParamChecked(this, motorRecResolution, &motorRecResolution);
|
||||
|
||||
@@ -430,8 +433,8 @@ asynStatus beamShiftAxis::doMove(double position, int relative,
|
||||
motorCoordinatesPosition);
|
||||
|
||||
// We don't expect an answer
|
||||
rw_status = pC_->writeRead(axisNo(), command, response, 0);
|
||||
if (rw_status != asynSuccess) {
|
||||
status = pC_->writeRead(axisNo(), command, response, 0);
|
||||
if (status != asynSuccess) {
|
||||
|
||||
asynPrint(
|
||||
pC_->pasynUser(), ASYN_TRACE_ERROR,
|
||||
@@ -441,7 +444,7 @@ asynStatus beamShiftAxis::doMove(double position, int relative,
|
||||
motorCoordinatesPosition);
|
||||
setAxisParamChecked(this, motorStatusProblem, true);
|
||||
}
|
||||
return rw_status;
|
||||
return status;
|
||||
}
|
||||
|
||||
asynStatus beamShiftAxis::stop(double acceleration) {
|
||||
@@ -450,6 +453,9 @@ asynStatus beamShiftAxis::stop(double acceleration) {
|
||||
|
||||
// =========================================================================
|
||||
|
||||
// Suppress unused variables warnings
|
||||
(void)acceleration;
|
||||
|
||||
return pC_->writeRead(axisNo(), "P150=8", response, 0);
|
||||
}
|
||||
|
||||
@@ -466,8 +472,15 @@ asynStatus beamShiftAxis::doReset() {
|
||||
/*
|
||||
This is a no-op.
|
||||
*/
|
||||
asynStatus beamShiftAxis::doHome(double min_velocity, double max_velocity,
|
||||
asynStatus beamShiftAxis::doHome(double minVelocity, double maxVelocity,
|
||||
double acceleration, int forwards) {
|
||||
|
||||
// Suppress unused variables warnings
|
||||
(void)minVelocity;
|
||||
(void)maxVelocity;
|
||||
(void)acceleration;
|
||||
(void)forwards;
|
||||
|
||||
return asynSuccess;
|
||||
}
|
||||
|
||||
@@ -483,7 +496,6 @@ asynStatus beamShiftAxis::enable(bool on) {
|
||||
char command[pC_->MAXBUF_] = {0};
|
||||
char response[pC_->MAXBUF_] = {0};
|
||||
char userMessage[pC_->MAXBUF_] = {0};
|
||||
asynStatus status = asynSuccess;
|
||||
int nvals = 0;
|
||||
int error = 0;
|
||||
int enabled = 0;
|
||||
@@ -495,7 +507,10 @@ asynStatus beamShiftAxis::enable(bool on) {
|
||||
if (on) {
|
||||
// Check if the axis is currently switched off
|
||||
snprintf(command, sizeof(command), "P158 P159");
|
||||
status = pC_->writeRead(axisNo(), command, response, 2);
|
||||
asynStatus status = pC_->writeRead(axisNo(), command, response, 2);
|
||||
if (status != asynSuccess) {
|
||||
return status;
|
||||
}
|
||||
|
||||
nvals = sscanf(response, "%d %d", &enabled, &error);
|
||||
if (nvals != 2) {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "turboPmacAxis.h"
|
||||
#include "turboPmacController.h"
|
||||
|
||||
class beamShiftAxis : public turboPmacAxis {
|
||||
class HIDDEN beamShiftAxis : public turboPmacAxis {
|
||||
public:
|
||||
/**
|
||||
* @brief Construct a new beamShiftAxis
|
||||
|
||||
Submodule turboPmac updated: f423002d23...62ccf046fd
Reference in New Issue
Block a user