added clearing functionality

This commit is contained in:
2024-11-15 18:14:08 +01:00
parent 92fb7aa7ca
commit bdc8b49716
2 changed files with 19 additions and 0 deletions

View File

@ -23,6 +23,12 @@ record(bi, "$(SYSTEM):REMOVE") {
field(ONAM, "proc")
}
record(bi, "$(SYSTEM):CLEAR") {
field(DESC, "Remove all currently defined PVs")
field(ZNAM, "idle")
field(ONAM, "proc")
}
record(waveform, "$(SYSTEM):LIST") {
field(DESC, "List of currently defined PVs")
field(FTVL, "CHAR")

View File

@ -46,12 +46,25 @@ def cb_remove(value=None, **kwargs):
pv_list.put(mk_printable_data(data))
@toggle
def cb_clear(value=None, **kwargs):
log.info(f"clear: {kwargs}")
data = {}
save_data(data, FN_ENTRIES)
mk_db(data, FN_DB_TMPL)
log.info(f"data: {data}")
pv_list.put(mk_printable_data(data))
pv_add = PV("SATES20-DYNA:ADD")
pv_add.add_callback(cb_add)
pv_remove = PV("SATES20-DYNA:REMOVE")
pv_remove.add_callback(cb_remove)
pv_clear = PV("SATES20-DYNA:CLEAR")
pv_clear.add_callback(cb_clear)
def mk_printable_data(data):
return "\n".join(f"{k} ({v})" for k, v in sorted(data.items()))