On Fri, 24 May 2024 at 07:38, boj <[email protected]> wrote:
Thanks for the suggestion.
I read up om the BO record (I am running 3.15) using the HIGH field for the "Push bottom" behavior.
As I understand that documentation, the record is processed again when going low after the specified time.
I guess that will mean that the protocol is executed twice? Any way to avoid that?
Yes, correct. No decent way to avoid that.
Then, just don't set the HIGH field. Whatever value is being written to the record, the protocol will be executed.
This brings back the problem that the response from the device depends on its current state
(it is different when going from On -> Off, and from Off -> Off).
As Dirk was asking: Do you need the response? Can't you just ignore it?
A Simple push button that executes an protocol entry once will be very useful for me.
Switch or buttons is a design choice.
Buttons always need a status, else you never know the current device state.
A switch position needs to be readable from the device or persisted (autoSaveRestore), else it might end up in the wrong position after an IOC reboot.
Discussing with colleagues, I found some very strong, almost religious, opinions in the underlying "trigger by state or by pulse" question.
The EPICS database allows to implement one using the other. Flexibility is nice!
Cheers,
~Ralph
ps. Having a record named after you is pretty cool.