Motor Record: Known problems with Release 4-5
Backlash Correction Bug Fixes - see Release
With release 4-5, DBE_LOG was omitted from the event select mask of all
db_post_events() calls. This prevented archival clients from being
notified of process variable changes.
Communication with the Newport MM3000 motor controller was getting out of
synchronization whenever the MM3000 responded with an error message. This
problem was resolved by having recv_mess() in drvMM3000.c detect an error
message response, print the error message and then, recursively, call itself.
This restored communication transmit/receive synchronization.
The Newport ESP300 would randomly crash at boot-up because an internal parameter
("drive_resolution") was not always, under all configurations, initialized. With
this release, the "drive_resolution" is set based on the response to the ESP300
"SU?" command. In addition, the user is required to set MRES to the resolution
of the controller as explained in the new document /motorApp/NewportSrc/README.
A bug was introduced in R4-5-1 while fixing another bug; see item#2 under
Modification Log from R4-5 to R4-5-1 in the distribution README file. This error
exhibited itself only under the following conditions; BDST != 0, DLY != 0 and a
new target position is issued before the backlash correction move. Under these
conditions the motor record became unresponsive; i.e., it locked up.
Although there is no explicit statement in the motor record documentation, most
user's would expect the "Readback settle time" field (DLY) to update the
readback after the delay timeout. It did not do this. With this release, the
readback is updated one time after the timeout.
An error occurred when the SET/USE field was in the SET mode and the FOFF field
was in the FROZEN mode. Under these conditions, if the user entered a new RVAL,
the record ignored every other new RVAL; with every other new DVAL that the user
entered, RVAL was not updated. VAL always worked.
Soft Channel Device Support - see Release
Fixed with R4-5-4.
Replace <motor>/motorApp/MotorSrc/motorRecord.c with the following updated