Compare commits

...

6 Commits

Author SHA1 Message Date
5298b5ef69 Fixed typo 2025-05-12 16:59:59 +02:00
29f23216ad Added some comments that this library now uses sinqMotor as static
dependency.
2025-05-12 16:43:57 +02:00
26bc3df876 Fixed bug where the motor could be in state -6 and the driver would
interpret this as "not moving"
2025-05-12 16:19:34 +02:00
87d3cbb3eb Specified new version for sinqMotor 2025-05-12 12:00:49 +02:00
66552d5ffc Pinned sinqMotor version 2025-05-12 11:58:56 +02:00
253f65b25b Added sinqMotor as a submodule for static linking 2025-05-12 08:52:10 +02:00
5 changed files with 17 additions and 14 deletions

6
.gitmodules vendored Normal file
View File

@ -0,0 +1,6 @@
[submodule "sinqmotor"]
path = sinqmotor
url = https://gitea.psi.ch/lin-epics-modules/sinqmotor
[submodule "sinqMotor"]
path = sinqMotor
url = https://gitea.psi.ch/lin-epics-modules/sinqMotor

View File

@ -1,4 +1,4 @@
# Use the PSI build system
# Include the external Makefile
include /ioc/tools/driver.makefile
MODULE=turboPmac
@ -8,28 +8,30 @@ ARCH_FILTER=RHEL%
# Additional module dependencies
REQUIRED+=motorBase
REQUIRED+=sinqMotor
# Specify the version of motorBase we want to build against
motorBase_VERSION=7.2.2
# Specify the version of sinqMotor we want to build against
sinqMotor_VERSION=mathis_s
# These headers allow to depend on this library for derived drivers.
HEADERS += src/pmacAsynIPPort.h
HEADERS += src/turboPmacAxis.h
HEADERS += src/turboPmacController.h
# Source files to build
SOURCES += sinqMotor/src/msgPrintControl.cpp
SOURCES += sinqMotor/src/sinqAxis.cpp
SOURCES += sinqMotor/src/sinqController.cpp
SOURCES += src/pmacAsynIPPort.c
SOURCES += src/turboPmacAxis.cpp
SOURCES += src/turboPmacController.cpp
# Store the record files
TEMPLATES += sinqMotor/db/asynRecord.db
TEMPLATES += sinqMotor/db/sinqMotor.db
TEMPLATES += db/turboPmac.db
# This file registers the motor-specific functions in the IOC shell.
DBDS += sinqMotor/src/sinqMotor.dbd
DBDS += src/turboPmac.dbd
USR_CFLAGS += -Wall -Wextra -Weffc++ -Wunused-result -Werror # -Wpedantic // Does not work because EPICS macros trigger warnings
USR_CFLAGS += -Wall -Wextra -Weffc++ -Wunused-result -Werror # -Wpedantic // Does not work because EPICS macros trigger warnings

View File

@ -73,4 +73,4 @@ Please see the documentation for the module sinqMotor: https://git.psi.ch/sinq-e
### How to build it
Please see the documentation for the module sinqMotor: https://git.psi.ch/sinq-epics-modules/sinqmotor/-/blob/main/README.md.
This driver can be compiled and installed by running `make install` from the same directory where the Makefile is located. However, since it uses the git submodule sinqMotor, make sure that the correct version of the submodule repository is checked out AND the change is commited (`git status` shows no non-committed changes). Please see the section "Usage as static dependency" in https://git.psi.ch/sinq-epics-modules/sinqmotor/-/blob/main/README.md for more details.

1
sinqMotor Submodule

Submodule sinqMotor added at 5689402375

View File

@ -392,13 +392,7 @@ asynStatus turboPmacAxis::doPoll(bool *moving) {
switch (axStatus) {
case -6:
// Axis is stopping
// If the axis was already idle during the last poll, it is not moving
if (previousStatusDone == 0) {
*moving = true;
} else {
*moving = false;
}
*moving = true;
break;
case -5:
// Axis is deactivated