Throttle record — rate-limits value changes to prevent device damage.
Ported from EPICS std module throttleRecord.c.
When VAL is written, the record checks drive limits, optionally clips
the value, sets WAIT=True, then writes SENT to the OUT link only after
the minimum delay (DLY) has elapsed since the last output. If a new
value arrives during the delay, it queues the latest value and sends
it when the delay expires.
Return pre-process actions (ReadDbLink) that the framework should
execute BEFORE calling process(). This is called once per cycle.
Default returns empty. Override in records that need link reads
to be available during process().
Whether async processing has completed and put_notify can respond.
Records that return AsyncPendingNotify should return false while
async work is in progress, and true when done.
Default: true (synchronous records are always complete).
Internal field write that bypasses read-only checks.
Used by the framework to write values from ReadDbLink actions
into fields that are normally read-only (e.g., epid.CVAL).
Default implementation delegates to put_field().
Called by the framework before process() to indicate whether device
support’s read() already performed the record’s compute step.
Override in records that have a built-in compute (e.g., epid PID)
to skip it when device support already ran it.
Default: ignore.