From c42d2b1d7b7f9ff07771d52419bca0064997b440 Mon Sep 17 00:00:00 2001 From: Ron Sluiter Date: Thu, 23 Jun 2005 18:50:30 +0000 Subject: [PATCH] motorRecord.cc fixes: - Bug fix for STOP not working after target position changed. - Don't send SET_ACCEL command when acceleration = 0.0. - Avoid STUP errors from devices that do not have "GET_INFO" command (e.g. Soft Channel). --- README | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/README b/README index 6e0e7f9c..213ec382 100644 --- a/README +++ b/README @@ -117,7 +117,7 @@ Modification Log from R5-6 to R5-7 previous move. - Immediately (e.g., < 1ms) ask the controller for status information that includes the motor's direction. - - For OMS controllers the required dealy is 10ms. Intermittently, the + - For OMS controllers the required delay is 10ms. Intermittently, the status information returned from the OMS controller would indicate that the direction had not changed; hence the term "stale data". @@ -145,7 +145,47 @@ Modification Log from R5-6 to R5-7 - "targs" modified in all drivers with "update_delay" initialization. +5) With this release, if the absolute values of both the save/restore's target + position and the controller's commanded position are greater than the + re-try deadband (RDBD) at boot-up, then DVAL will be initialized from + the controller's value. In other words, if the absolute value of + the controller's commanded position is greater than the re-try deadband + at boot-up, than the controller's position takes precedence over the + save/restore value. + - Modified motor_init_record_com() in motordevCom.c so that a "Load + Pos" command is issued only if, + |controller's commanded position| > RDBD. + +6) Bug fix for DMOV going true before last readback update when LS error occurs. + + File modified: process() in motorRecord.cc restores DMOV to false and + UNMARK's it so it is not posted until after the last + readback update. + +7) A bug was introduced with R5-1 item #2 below. This bug resulted in the STOP + field not functioning after a target position change. For example, if + the user tweaked (TWF) the target position while the motor was moving, + activating the STOP field would not stop motor motion the first time; a + second STOP field activation would work. + + File modified: process() in motorRecord.cc. Before calling + postProcess(), if the target position has changed + and MIP is not MIP_STOP or MIP_JOG_STOP, then set MIP + to MIP_DONE and let do_work() process the new target + position. + +8) In order to avoid device level "Overriding invalid acceleration" warning + messages, record support does not send SET_ACCEL commands when + acceleration = 0. + + File modified: postProcess() and do_work() in motorRecord.cc. + +9) Avoid STUP errors from devices that do not have a "GET_INFO" command (i.e., + Soft Channel). + + File modified: do_work in motorRecord.cc. If WRITE_MSG(GET_INFO, NULL) + returns an error, set STUP to motorSTUP_OFF. Modification Log from R5-5 to R5-6