Skip to content

Commit

Permalink
event_log: add EventTable NTTable.
Browse files Browse the repository at this point in the history
Instead of requiring clients to combine multiple waveforms themselves,
provide a table with timestamp and event information. Since the tablej
uses a double value as the whole timestamp, it only supports up to
microsecond accuracy.

It was necessary to add a top level trigger mapping to rstSoftBuff,
otherwise, when resetting the buffers, the table would have one element
from each buffer, due to their spurious processing; so we needed to
fetch the values again after the buffer reset was completed.
  • Loading branch information
ericonr committed Dec 10, 2024
1 parent 5da45e7 commit 7098fdf
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions timingApp/Db/event_log.db
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,19 @@ record(compress, "$(P)$(R)SUBSECbuffer"){
field(FLNK, "$(P)$(R)TSbuffer")
}

record(aai, "$(P)$(R)bufferLABELS"){
field(ASG, "Reserved")
field(NELM, 2)
field(FTVL, "STRING")
field(INP, {const:["Timestamp", "Event"]})
info(Q:group, {
"$(P)$(R)EventTable-Mon": {
+id: "epics:nt/NTTable:1.0",
"labels": {+type: "plain", +channel: "VAL"}
}
})
}

record(compress, "$(P)$(R)TSbuffer"){
field(ASG, "Reserved")
field(DESC, "TS circular buffer")
Expand All @@ -213,6 +226,11 @@ record(compress, "$(P)$(R)TSbuffer"){
field(NSAM, "1000")
field(INP, "$(P)$(R)LOGTS")
field(FLNK, "$(P)$(R)EVENTbuffer")
info(Q:group, {
"$(P)$(R)EventTable-Mon": {
"value.A": {+type: "plain", +channel: "VAL"}
}
})
field(PREC, 6)
}

Expand All @@ -223,6 +241,11 @@ record(compress, "$(P)$(R)EVENTbuffer"){
field(NSAM, "1000")
field(INP, "$(P)$(R)LOGEVENT")
field(FLNK, "$(P)$(R)LOGSOFTCNT")
info(Q:group, {
"$(P)$(R)EventTable-Mon": {
"value.B": {+type: "plain", +channel: "VAL", +trigger: "*"}
}
})
}

record(calc, "$(P)$(R)LOGSOFTCNT"){
Expand Down Expand Up @@ -307,6 +330,11 @@ record(seq, "$(P)$(R)rstSoftBuffSeq"){
field(LNK7, "$(P)$(R)SUBSECbuffer.RES")
field(LNK8, "$(P)$(R)TSbuffer.RES")
field(LNK9, "$(P)$(R)EVENTbuffer.RES")
info(Q:group, {
"$(P)$(R)EventTable-Mon": {
"": {+type: "meta", +channel: "VAL", +trigger: "*"}
}
})
}

record(longout, "$(P)$(R)cmd_log_get"){
Expand Down

0 comments on commit 7098fdf

Please sign in to comment.