8 Commits
1.1.0 ... 1.2.3

Author SHA1 Message Date
f9fbccbe6e Fixed compiler warnings
Some checks failed
Test And Build / Lint (push) Successful in 3s
Test And Build / Build (push) Failing after 6s
2025-12-23 13:33:23 +01:00
edc5e93eae Updated turboPmac driver 2025-12-23 13:29:15 +01:00
b2acc86a33 Updated turboPmac to fix segfault originated in sinqMotor 2025-12-23 12:17:30 +01:00
36cb878f68 Removed C++ only flag and updated turboPmac
All checks were successful
Test And Build / Lint (push) Successful in 3s
Test And Build / Build (push) Successful in 13s
2025-08-22 15:32:49 +02:00
c8bd7755b7 Updated sinqMotor to fix bug in forcedPoll
All checks were successful
Test And Build / Lint (push) Successful in 2s
Test And Build / Build (push) Successful in 13s
2025-08-14 17:27:54 +02:00
b7bc762cec Updated turboPmac to 1.4.0
All checks were successful
Test And Build / Lint (push) Successful in 3s
Test And Build / Build (push) Successful in 13s
2025-08-12 09:33:26 +02:00
5258ac6be6 adds gitea action
All checks were successful
Test And Build / Lint (push) Successful in 2s
Test And Build / Build (push) Successful in 14s
2025-07-04 14:38:57 +02:00
5e61af6625 Removed unneeded variables 2025-06-18 08:55:12 +02:00
5 changed files with 63 additions and 17 deletions

View 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

View File

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

View File

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

View File

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