2 Commits

Author SHA1 Message Date
179bd6aa22 Use ecmc 11.0 2025-10-13 11:54:03 +02:00
377a28c95f Adapt to ecmc v11 2025-09-10 13:44:56 +02:00
5 changed files with 18 additions and 34 deletions

2
.gitignore vendored
View File

@@ -20,3 +20,5 @@ tools/bin
tools/lib
tools/lib64
tools/pyvenv.cfg
tools/.*

View File

@@ -17,7 +17,7 @@ USR_CXXFLAGS += -std=c++17
OPT_CXXFLAGS_YES = -O3
# dependencies
ecmc_VERSION = 10.0
ecmc_VERSION = 11.0
# ethercat
# debian 12

View File

@@ -839,22 +839,22 @@ void ecmcMotionPlg::executeMotionObject() {
// protect axis_ if axis object id is changed over asyn
epicsMutexLock(axisMutex_);
ecmcAxisStatusType *tempAxisStat = axis_->getDebugInfoDataPointer();
ecmcAxisDataStatus *tempAxisStat = axis_->getAxisStatusStruct();
// Fill the buffers
actPosBuffer_->addData(tempAxisStat->onChangeData.positionActual);
setPosBuffer_->addData(tempAxisStat->onChangeData.positionSetpoint);
diffPosBuffer_->addData(tempAxisStat->onChangeData.positionError);
enableBuffer_->addData(tempAxisStat->onChangeData.statusWd.enable);
enabledBuffer_->addData(tempAxisStat->onChangeData.statusWd.enabled);
busyBuffer_->addData(tempAxisStat->onChangeData.statusWd.busy);
executeBuffer_->addData(tempAxisStat->onChangeData.statusWd.execute);
trajSourceBuffer_->addData(tempAxisStat->onChangeData.statusWd.trajsource);
encSourceBuffer_->addData(tempAxisStat->onChangeData.statusWd.encsource);
atTargetBuffer_->addData(tempAxisStat->onChangeData.statusWd.attarget);
errorIdBuffer_->addData(tempAxisStat->onChangeData.error);
actPosBuffer_->addData(tempAxisStat->currentPositionActual);
setPosBuffer_->addData(tempAxisStat->currentPositionSetpoint);
diffPosBuffer_->addData(tempAxisStat->cntrlError);
enableBuffer_->addData(tempAxisStat->statusWord_.enable);
enabledBuffer_->addData(tempAxisStat->statusWord_.enabled);
busyBuffer_->addData(tempAxisStat->statusWord_.busy);
executeBuffer_->addData(tempAxisStat->statusWord_.execute);
trajSourceBuffer_->addData(tempAxisStat->statusWord_.trajsource);
encSourceBuffer_->addData(tempAxisStat->statusWord_.encsource);
atTargetBuffer_->addData(tempAxisStat->statusWord_.attarget);
errorIdBuffer_->addData(tempAxisStat->errorCode);
epicsInt32 *temp=(epicsInt32*)&(tempAxisStat->onChangeData.statusWd); // A bit nasty
epicsInt32 *temp=(epicsInt32*)&(tempAxisStat->statusWord_); // A bit nasty
statusWdBuffer_->addData(*temp);
xTime_+=xdt_;
@@ -870,24 +870,6 @@ void ecmcMotionPlg::executeMotionObject() {
epicsMutexUnlock(axisMutex_);
}
//void ecmcMotionPlg::setModeFFT(FFT_MODE mode) {
// cfgMode_ = mode;
// setIntegerParam(asynFFTModeId_,(epicsInt32)mode);
//}
//
//FFT_STATUS ecmcMotionPlg::getStatusFFT() {
// return status_;
//}
//void ecmcMotionPlg::updateStatus(FFT_STATUS status) {
// status_ = status;
// setIntegerParam(asynFFTStatId_,(epicsInt32) status);
//
// setIntegerParam(asynElementsInBuffer_, (epicsInt32)elementsInBuffer_);
//
// callParamCallbacks();
//}
asynStatus ecmcMotionPlg::writeInt32(asynUser *pasynUser, epicsInt32 value) {
int function = pasynUser->reason;
if( function == asynEnableId_ ) {

View File

@@ -579,7 +579,7 @@ class ecmcMtnMainGui(QtWidgets.QDialog):
axId = axIdPV.get()
if axId > 0:
self.cmbBxSelectAxis.addItem(str(int(ax)))
self.cmbBxSelectAxis.addItem(str(int(axId)))
def changeAxisIndex(self,xxx):
if self.cmbBxSelectAxis.currentData() is not None:

View File

@@ -19,4 +19,4 @@ fi
echo "Prefix=${P=c6025a-04}"
echo "plugin id=${ID=0}"
python ecmcMotionMainPyQtGraph.py ${P=c6025a-04} ${ID=0}
python3 ecmcMotionMainPyQtGraph.py ${P=c6025a-04} ${ID=0}