forked from epics_driver_modules/motorBase
- Fix for excessive FLNK processing reported by Alexander Söderqvist (Cosylab). Modified so that recGblFwdLink() is only called on a False to True transition of DMOV.
- Incremented VERSION # to 6.10. - Updated comments.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
Motor Module R6-9 Release Notes
|
||||
Motor Module R6-10 Release Notes
|
||||
===============================================================================
|
||||
|
||||
The motor module software in this release is compatible with EPICS base
|
||||
@@ -147,6 +147,17 @@ Known Problems
|
||||
Modification Log for R6-9
|
||||
=========================
|
||||
|
||||
1) Alexander Aulin Söderqvist (Cosylab) reported illogical motor record FLNK
|
||||
processing. Corrected FLNK processing so that recGblFwdLink() is only
|
||||
called on a False to True transition of DMOV.
|
||||
|
||||
Files modified: motorApp/MotorSrc/motorRecord.cc
|
||||
motorApp/MotorSrc/motorRecord.dbd
|
||||
|
||||
|
||||
Modification Log for R6-9
|
||||
=========================
|
||||
|
||||
1) Kevin Peterson added support for the Micronix MMC-200 & MMC-100 controllers.
|
||||
|
||||
Files added: motorApp/MicronixSrc
|
||||
|
||||
@@ -183,9 +183,11 @@ HeadURL: $URL$
|
||||
* - Fix for LOAD_POS not posting RVAL.
|
||||
* - Reversed order of issuing SET_VEL_BASE and SET_VELOCITY commands. Fixes MAXv
|
||||
* command errors.
|
||||
* .71 02-25-15 rls - Fix for excessive motor record forward link processing.
|
||||
*
|
||||
*/
|
||||
|
||||
#define VERSION 6.9
|
||||
#define VERSION 6.10
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -1164,9 +1166,10 @@ Exit:
|
||||
Update record timestamp, call recGblGetTimeStamp().
|
||||
Process alarms, call alarm_sub().
|
||||
Monitor changes to record fields, call monitor().
|
||||
IF Done Moving field (DMOV) is TRUE.
|
||||
IF Done Moving field (DMOV) is TRUE, AND, Last Done Moving (LDMV) was False.
|
||||
Process the forward-scan-link record, call recGblFwdLink().
|
||||
ENDIF
|
||||
Update Last Done Moving (LDMV).
|
||||
Set Processing Active indicator field (PACT) false.
|
||||
Exit.
|
||||
|
||||
@@ -1402,9 +1405,10 @@ process_exit:
|
||||
alarm_sub(pmr); /* If we've violated alarm limits, yell. */
|
||||
monitor(pmr); /* If values have changed, broadcast them. */
|
||||
|
||||
if (pmr->dmov)
|
||||
recGblFwdLink(pmr); /* Process the forward-scan-link record. */
|
||||
|
||||
if (pmr->dmov != 0 && pmr->ldmv == 0) /* Test for False to True transition. */
|
||||
recGblFwdLink(pmr); /* Process the forward-scan-link record. */
|
||||
pmr->ldmv = pmr->dmov;
|
||||
|
||||
pmr->pact = 0;
|
||||
Debug(4, "process:---------------------- end; motor \"%s\"\n", pmr->name);
|
||||
return (status);
|
||||
@@ -1590,8 +1594,7 @@ LOGIC:
|
||||
ELSE
|
||||
Calculate....
|
||||
|
||||
IF Retry enabled, AND, [(encoder present, AND, use encoder true),
|
||||
OR, use readback link true]
|
||||
IF Retry enabled, AND, Retry mode is Not "In-Position", AND, [(encoder present, AND, use encoder true), OR, use readback link true]
|
||||
Set relative positioning indicator true.
|
||||
ELSE
|
||||
Set relative positioning indicator false.
|
||||
|
||||
@@ -589,6 +589,11 @@ recordtype(motor) {
|
||||
special(SPC_NOMOD)
|
||||
initial("1")
|
||||
}
|
||||
field(LDMV,DBF_SHORT) {
|
||||
prompt("Last Done moving value")
|
||||
special(SPC_NOMOD)
|
||||
initial("1")
|
||||
}
|
||||
field(MOVN,DBF_SHORT) {
|
||||
prompt("Motor is moving")
|
||||
special(SPC_NOMOD)
|
||||
|
||||
Reference in New Issue
Block a user