Autobp Release Notes ==================== Version 1.3.1 ------------- * Fixed SNC line continuation error with RHEL 6 GCC 4.4.7 where SNC generates a syntax error when attempting to compile source with '%%' style escape lines that are continued with a backslash. Version 1.3.0 ------------- * Cancels pending asynchronous pvPuts before doing new pvPuts. This eliminates console errors like: sevr=major pvPut(ss Main, var ScanExecX, pv ioc23:Abp1:ScanX.EXSC): user error (there is already a put pending for this variable/state set combination) * Requires Seq 2.2.1 or newer because uses new pvPutCancel function. Version 1.2.6 ------------- * After a correction move, delays for the scan positioner settling time. * When a correction finishes, resets the intensity average to ensure it does not contain values corresponding to old positions (e.g. from the scan). * Avoids "no pending put request for this variable" warning for some moves. Version 1.2.5 ------------- * Made external pause work over CA. There was a bug in the external-pause-all and feedback axis 04 dependent-pause database interfaces where, if the target external pause PV was remote (i.e. not a local PV), it would not wait for the put to the remote target PV to complete thus meaning that the put would complete immediately even though the feedback may not have been paused yet. Fix this by using the "Async Soft Channel" device type for the record that does the put to the remote external pause PV. Version 1.2.4 ------------- * Increased the obtain-permit timeout to 195 seconds. The obtain-permit timeout (AUTOBP_OBTAIN_PERMIT_TIMEOUT) was set to 120 seconds, but this would time out fairly often for 3 minute Pilatus continuous rotation datasets. A timeout is not fatal, but it does result in entries being added to the log which might push important messages out, so we'd like to avoid timeouts if we can. Version 1.2.3 ------------- * Changed to abort a scan by writing 0 to the sscan record's EXSC field. If the scan does not stop after 5 seconds, writes 0 to EXSC two more times, forcing an immediate scan abort. * Changed to consider a criterion to be *not* OK-to-correct if a value being used to compute a criterion is invalid (i.e. SEVR is INVALID). This is important for the case of an IOC reboot where the CA connection to a PV being used to compute a criterion is lost. The last known value should not be used; instead the criterion should be marked as *not* OK-to-correct since the value is invalid. * Made ABORT button on scan diagnostic screen only abort the autobp scan, *not* all scans with the same prefix. Version 1.2.2 ------------- * Upgraded to Amy 1.2.3 and Seq 2.1.6. Version 1.2.1 ------------- * Reorganized source code distribution. Version 1.2.0 ------------- * Added "min <= attenuation <= max" OK-to-correct criterion to 02 feedback type. Version 1.1.4 ------------- * Upgraded to seq 2-0-14. * Removed use of 64-bit SNL variables used with CA since CA does not support 64-bit types. Version 1.1.3 ------------- * Upgraded to synApps 5.5 and asyn 4-15. Version 1.1.2 ------------- * Added support for building xdist make target on Mac OS X 10.6. * Fixed bug in options handling of scripts/*.sh. Version 1.1.1 ------------- * Fixed bug in external pause interface which caused 100% CPU usage on IOC. Version 1.1.0 ------------- * Modified autobp 04 behavior to not attempt to restore original position if BPPG permit is revoked. (The BPPG protocol needs to be improved to provide a way for a client to have time to perform needed "clean-up" tasks.) This violated the BPPG permit contract (and it didn't work correctly in that the move got stopped right after it was started). * Removed support for beam offset based on energy to offset breakpoint tables. It is now expected that the provided beam position has already been adjusted such that the centered beam position is (0,0). Autobp will always try to center the beam to (0,0). * Changed external pause interface to have 10 slots with one PV per slot for setting whether an external pause is requested. This improvement makes it easy to see which "client" has requested an external pause. It also makes it impossible for a client to request an external pause more than once thus avoiding one situation that could lead to an autobp instance being incorrectly paused forever. Added GUI to easily view which "clients" have requested an external pause. Version 1.0.4 ------------- * Fixed bug in autobpextpauseall.db so that forward links reference PROC field so that Channel Access links are supported. Version 1.0.3 ------------- * Fixed bug in intensity simulation (intensity.db) in ClcIntensity where missing parentheses caused the Gaussian function to be evaluated incorrectly. (Had to also adjust intensity.db macro values defining curve when loading intensity.db since the simulated intensity changed significantly with the correction to the Gassian function calculation.) * Added support for externally pausing all autobp instances. Version 1.0.2 ------------- * Removed "intensity < minimum intensity" from the set of conditions that cause a correction in 04 feedback type to be interrupted. This fixes the case where the intensity before a correction is just slightly above the minimum, and the beginning positions of the scan push the intensity below the minimum, thus interrupting the correction. The positioner is moved to its original position, and the correction is triggered again. This will continue indefinitely; the positioner is never moved to the peak intensity location because the correction scan is always immediately interrupted. Version 1.0.1 ------------- * Fixed bug in 04 feedback type where, when multiple scans are required to find the non-edge maximum, it would sometimes fail to drive the positioner to the edge maximum before starting the next scan. * Added a 1 second delay in the 04 feedback type before repeating a correction scan when the maximum is on an edge. Version 1.0.0 ------------- * Fixed typo in included file names in autobp0{2,4}_settings.req. * Changed autobpApp/Db/feedback04.db:DepR{q,l}sExtPause FLNK to reference PROC field of DEAP macro PV so will work as CA link. * Added interrupt support to 04 feedback type allowing for interrupting a scan and avoiding bogus aborts during a scan when the intensity deviation goes out of range (because performing a scan of the positioner). * Added support to 04 feedback type for skipping leading points in the scan data. This may be useful if, say, the first point is known to be bogus. * Added warning boxes around correction deadband for 02 feedback type when value is out of range. Changed default deadband to 1 instead of 0. 0 would likely result in non-stop very small corrections.