switched to new PV names; added toggle logic

This commit is contained in:
2024-11-13 21:53:49 +01:00
parent 9a4469b173
commit 42e042811f
2 changed files with 59 additions and 19 deletions

View File

@ -0,0 +1,29 @@
import functools
import threading
from epics import get_pv as PV
from log import log
def toggle(func):
@functools.wraps(func)
def wrapper(value=None, pvname=None, **kwargs):
fn = func.__name__
if not value:
log.info(f"{fn}: ignoring value={repr(value)}")
return
func(value=value, pvname=pvname, **kwargs)
pv = PV(pvname)
call_later(pv.put, 0)
log.info(f"{fn}: done")
return wrapper
def call_later(func, *args, **kwargs):
threading.Thread(target=func, args=args, kwargs=kwargs).start()