Make longout record only write on change
Created by: joaopaulosm
This pull request refers to bug 1398215 on Launchpad (https://bugs.launchpad.net/epics-base/+bug/1398215), which is "Make output records only write on change". The first record to have this feature implemented is the longout record.
Two fields were added to the record: OOPT and OVAL. The first one is a menu field with usual options from other records, the second holds the last value written and its used for the comparison during the record process routine.
OOPT can assume the following options:
- Every Time (default)
- On Change
- When Zero
- When non-zero
- When Transition to Zero
- When Transition to non-zero
- Write Once then On Change (*)
If the OUT field is changed during runtime and OOPT is "On Change", the record special function will force OOPT to be "Write Once then On Change". This will cause output record write to new destination even if the value is equal the previous one.
The second commit refers to test routines of the feature that was implemented.