When a MasterMacs motor is powered for the first time, it does not have a target set. Therefore, the targetReached bit is 0, which the driver used to interpret as "moving". This is solved now by an additional flag which checks if the motor did a handshake. Additionally, the communication module was simplified and new utility scripts were added. It is now made sure that the communication timeout for enabling and sending move commands is now at least equal to PowerCycleTimeout defined in src/masterMacsAxis.cpp.
30 lines
783 B
Makefile
30 lines
783 B
Makefile
# Use the PSI build system
|
|
include /ioc/tools/driver.makefile
|
|
|
|
MODULE=masterMacs
|
|
BUILDCLASSES=Linux
|
|
EPICS_VERSIONS=7.0.7
|
|
ARCH_FILTER=RHEL%
|
|
|
|
# Additional module dependencies
|
|
REQUIRED+=sinqMotor
|
|
|
|
# Specify the version of asynMotor 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/masterMacsAxis.h
|
|
HEADERS += src/masterMacsController.h
|
|
|
|
# Source files to build
|
|
SOURCES += src/masterMacsAxis.cpp
|
|
SOURCES += src/masterMacsController.cpp
|
|
|
|
# This file registers the motor-specific functions in the IOC shell.
|
|
DBDS += src/masterMacs.dbd
|
|
|
|
USR_CFLAGS += -Wall -Wextra -Weffc++ -Wunused-result -Wpedantic -Wextra -Werror
|