From f4ec47cc7a2abb4abce0f6a2d8f44493270f5ab0 Mon Sep 17 00:00:00 2001 From: Freddie Akeroyd Date: Sat, 21 Dec 2024 13:43:15 +0000 Subject: [PATCH 1/2] Refactor to avoid WT --- GalilSup/Db/galil_Home_ForwLimit.dmc | 43 ++++++++++++++++++---------- GalilSup/src/GalilAxis.cpp | 4 ++- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/GalilSup/Db/galil_Home_ForwLimit.dmc b/GalilSup/Db/galil_Home_ForwLimit.dmc index c021834..a606451 100644 --- a/GalilSup/Db/galil_Home_ForwLimit.dmc +++ b/GalilSup/Db/galil_Home_ForwLimit.dmc @@ -1,4 +1,5 @@ NO*****************AXIS ${AXIS}******************** + NO*******HOME - Forward Limit************ #HOME${AXIS} IF ((home${AXIS}=1)) @@ -9,37 +10,49 @@ IF ((home${AXIS}=1)) hjog${AXIS}=1 ENDIF IF ((_LR${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1)) - home${AXIS}=0;MG "home${AXIS}", home${AXIS};ENDIF + home${AXIS}=0;MG "home${AXIS}", home${AXIS} + ENDIF IF ((hjog${AXIS}=1) & (_BG${AXIS}=1) & (home${AXIS}=1)) - ST${AXIS};ENDIF + ST${AXIS} + ENDIF IF ((hjog${AXIS}=1) & (_BG${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1)) oldecel${AXIS}=_DC${AXIS};speed${AXIS}=_SP${AXIS}; DC${AXIS}=@ABS[hjgdc${AXIS}] JG${AXIS}=@ABS[hjgsp${AXIS}]*-1 - SH${AXIS};WT50;BG${AXIS};hjog${AXIS}=2 + IF (_MO${AXIS}=1);SH${AXIS};ENDIF + hjog${AXIS}=2 + ENDIF + IF ((hjog${AXIS}=2) & (_MO${AXIS}=0) & (home${AXIS}=1)) + BG${AXIS};hjog${AXIS}=3 ENDIF IF ((hjog${AXIS}=1) & (_BG${AXIS}=0) & (_LF${AXIS}=1) & (home${AXIS}=1)) - hjog${AXIS}=3 + hjog${AXIS}=4 ENDIF - IF ((hjog${AXIS}=2) & (_BG${AXIS}=1) & (_LF${AXIS}=1) & (home${AXIS}=1)) - ST${AXIS} - hjog${AXIS}=3 + IF ((hjog${AXIS}=3) & (_BG${AXIS}=1) & (_LF${AXIS}=1) & (home${AXIS}=1)) + ST${AXIS};hjog${AXIS}=4 ENDIF - IF ((hjog${AXIS}=3) & (_BG${AXIS}=0) & (_LF${AXIS}=1) & (home${AXIS}=1)) + IF ((hjog${AXIS}=4) & (_BG${AXIS}=0) & (_LF${AXIS}=1) & (home${AXIS}=1)) DC${AXIS}=@ABS[hjgdc${AXIS}] JG${AXIS}=@ABS[hjgsp${AXIS}] - SH${AXIS};WT50;BG${AXIS};hjog${AXIS}=4 + IF (_MO${AXIS}=1);SH${AXIS};ENDIF + hjog${AXIS}=5 + ENDIF + IF ((hjog${AXIS}=5) & (_MO${AXIS}=0) & (home${AXIS}=1)) + BG${AXIS};hjog${AXIS}=6 ENDIF - IF ((hjog${AXIS}=4) & (_BG${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1)) + IF ((hjog${AXIS}=6) & (_BG${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1)) DC${AXIS}=@ABS[hjgdc${AXIS}] JG${AXIS}=@ABS[hjgsp${AXIS}]/-10 - SH${AXIS};WT50;BG${AXIS};hjog${AXIS}=5 + IF (_MO${AXIS}=1);SH${AXIS};ENDIF + hjog${AXIS}=7 ENDIF - IF ((hjog${AXIS}=5) & (_BG${AXIS}=1) & (_LF${AXIS}=1) & (home${AXIS}=1)) - ST${AXIS} - hjog${AXIS}=6 + IF ((hjog${AXIS}=7) & (_MO${AXIS}=0) & (home${AXIS}=1)) + BG${AXIS};hjog${AXIS}=8 + ENDIF + IF ((hjog${AXIS}=8) & (_BG${AXIS}=1) & (_LF${AXIS}=1) & (home${AXIS}=1)) + ST${AXIS};hjog${AXIS}=9 ENDIF - IF ((hjog${AXIS}=6) & (_BG${AXIS}=0) & (home${AXIS}=1)) + IF ((hjog${AXIS}=9) & (_BG${AXIS}=0) & (home${AXIS}=1)) hjog${AXIS}=0;home${AXIS}=0;homed${AXIS}=1 MG "home${AXIS}", home${AXIS};MG "homed${AXIS}", homed${AXIS} ENDIF diff --git a/GalilSup/src/GalilAxis.cpp b/GalilSup/src/GalilAxis.cpp index c4c93db..b1d421d 100644 --- a/GalilSup/src/GalilAxis.cpp +++ b/GalilSup/src/GalilAxis.cpp @@ -1999,6 +1999,8 @@ void GalilAxis::checkEncoder(void) double sc_code = getGalilAxisVal("_SC"); // get axis moving state double bg_code = getGalilAxisVal("_BG"); + // in case we are homing record hjog + int hjog_code = getGalilAxisVal("hjog"); //Pass stall status to higher layers setIntegerParam(pC_->motorStatusSlip_, 1); //Set the stop reason so limit deceleration is applied during stop @@ -2011,7 +2013,7 @@ void GalilAxis::checkEncoder(void) sprintf(message, "Encoder stall stop motor %c", axisName_); //Set controller error mesg monitor pC_->setCtrlError(message); - std::cerr << "STALL: pestall_time=" << pestall_time << " (>" << estall_time << ") encoderMove_=" << encoderMove_ << " encDirOk_=" << encDirOk_ << " _SC" << axisName_ << "=" << sc_code << " [" << lookupStopCode((int)sc_code) << "] _BG" << axisName_ << "=" << bg_code << std::endl; + std::cerr << "STALL: pestall_time=" << pestall_time << " (>" << estall_time << ") encoderMove_=" << encoderMove_ << " encDirOk_=" << encDirOk_ << " _SC" << axisName_ << "=" << sc_code << " [" << lookupStopCode((int)sc_code) << "] _BG" << axisName_ << "=" << bg_code << " hjog" << axisName_ << "=" << hjog_code << std::endl; } } } From 46a6cbf63d2d976aa8a9c35c3a247e1a0792dab7 Mon Sep 17 00:00:00 2001 From: Freddie Akeroyd Date: Sat, 21 Dec 2024 17:34:04 +0000 Subject: [PATCH 2/2] space to tab --- GalilSup/Db/galil_Home_ForwLimit.dmc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/GalilSup/Db/galil_Home_ForwLimit.dmc b/GalilSup/Db/galil_Home_ForwLimit.dmc index a606451..1ebfc3f 100644 --- a/GalilSup/Db/galil_Home_ForwLimit.dmc +++ b/GalilSup/Db/galil_Home_ForwLimit.dmc @@ -3,25 +3,25 @@ NO*****************AXIS ${AXIS}******************** NO*******HOME - Forward Limit************ #HOME${AXIS} IF ((home${AXIS}=1)) - inhome${AXIS}=1 + inhome${AXIS}=1 IF ((home${AXIS}=1) & (hjog${AXIS}=0)) - slimfl${AXIS}=_FL${AXIS};FL${AXIS}=2147483647 + slimfl${AXIS}=_FL${AXIS};FL${AXIS}=2147483647 slimbl${AXIS}=_BL${AXIS};BL${AXIS}=-2147483648 hjog${AXIS}=1 ENDIF IF ((_LR${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1)) home${AXIS}=0;MG "home${AXIS}", home${AXIS} - ENDIF + ENDIF IF ((hjog${AXIS}=1) & (_BG${AXIS}=1) & (home${AXIS}=1)) ST${AXIS} - ENDIF + ENDIF IF ((hjog${AXIS}=1) & (_BG${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1)) oldecel${AXIS}=_DC${AXIS};speed${AXIS}=_SP${AXIS}; DC${AXIS}=@ABS[hjgdc${AXIS}] JG${AXIS}=@ABS[hjgsp${AXIS}]*-1 - IF (_MO${AXIS}=1);SH${AXIS};ENDIF - hjog${AXIS}=2 - ENDIF + IF (_MO${AXIS}=1);SH${AXIS};ENDIF + hjog${AXIS}=2 + ENDIF IF ((hjog${AXIS}=2) & (_MO${AXIS}=0) & (home${AXIS}=1)) BG${AXIS};hjog${AXIS}=3 ENDIF @@ -34,8 +34,8 @@ IF ((home${AXIS}=1)) IF ((hjog${AXIS}=4) & (_BG${AXIS}=0) & (_LF${AXIS}=1) & (home${AXIS}=1)) DC${AXIS}=@ABS[hjgdc${AXIS}] JG${AXIS}=@ABS[hjgsp${AXIS}] - IF (_MO${AXIS}=1);SH${AXIS};ENDIF - hjog${AXIS}=5 + IF (_MO${AXIS}=1);SH${AXIS};ENDIF + hjog${AXIS}=5 ENDIF IF ((hjog${AXIS}=5) & (_MO${AXIS}=0) & (home${AXIS}=1)) BG${AXIS};hjog${AXIS}=6 @@ -43,7 +43,7 @@ IF ((home${AXIS}=1)) IF ((hjog${AXIS}=6) & (_BG${AXIS}=0) & (_LF${AXIS}=0) & (home${AXIS}=1)) DC${AXIS}=@ABS[hjgdc${AXIS}] JG${AXIS}=@ABS[hjgsp${AXIS}]/-10 - IF (_MO${AXIS}=1);SH${AXIS};ENDIF + IF (_MO${AXIS}=1);SH${AXIS};ENDIF hjog${AXIS}=7 ENDIF IF ((hjog${AXIS}=7) & (_MO${AXIS}=0) & (home${AXIS}=1)) @@ -60,7 +60,7 @@ ELSE hjog${AXIS}=0 ENDIF IF ((home${AXIS}=0) & (inhome${AXIS}=1)) - FL${AXIS}=slimfl${AXIS} + FL${AXIS}=slimfl${AXIS} BL${AXIS}=slimbl${AXIS} inhome${AXIS}=0 ENDIF