-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change UDF logic for output records with asyn:READBACK.
Change logic for output records with asyn:READBACK so they set udf=0 in the outputcallbackcallback() function, and not in the processXX function. This is needed to correctly clear the UDF status and severity. This problem is happening because for EPICS output records the only way to clear a UDF alarm is to put a value into the record, either from an external put from a CA or DB link (in which case code in the dbAccess.c dbPut() routine clears UDF and the record would get processed) or by reading a value through the DOL link during record processing triggered by some other means. In both cases UDF will have been cleared before the call to checkAlarms() in the boRecord::process() routine, which is where the UDF field is checked. Unfortunately for asyn all output records call the checkAlarms() routine before the device support's write_bo() routine, so clearing UDF in processBo() is too late for this process cycle, the UDF_ALARM has already been registered. This also means that if the bo record is configured with non-zero alarms in ZSV or OSV the initial read wouldn't trigger the appropriate STATE_ALARM either, since they get set in that routine as well.
- Loading branch information
1 parent
603d54f
commit fdfca2f
Showing
5 changed files
with
10 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters