
Add asynchronous output link support. When triggered, re-process record(s) after put completes
56 lines
1.0 KiB
Plaintext
56 lines
1.0 KiB
Plaintext
|
|
# used by testGet()
|
|
record(int64in, "target:i") {
|
|
field(VAL, "42")
|
|
}
|
|
record(ai, "target:ai") {
|
|
field(VAL, "4.0")
|
|
}
|
|
|
|
record(int64in, "src:i1") {
|
|
field(INP, {"pva":"target:i"})
|
|
}
|
|
|
|
# used by testPut()
|
|
record(int64in, "target:i2") {
|
|
field(VAL, "43")
|
|
}
|
|
|
|
record(int64out, "src:o2") {
|
|
field(OUT, {"pva":"target:i2"})
|
|
}
|
|
|
|
# used by testPutAsync()
|
|
record(calc, "async:seq") {
|
|
field(CALC, "VAL+1")
|
|
field(VAL , "0")
|
|
field(TPRO, "1")
|
|
}
|
|
|
|
record(longout, "async:trig") {
|
|
field(OMSL, "closed_loop")
|
|
field(DOL , "async:seq PP")
|
|
field(DTYP, "Async Soft Channel")
|
|
field(OUT , { "pva":{"pv":"async:slow.A", "proc":true} })
|
|
field(FLNK, "async:after")
|
|
field(TPRO, "1")
|
|
}
|
|
|
|
record(calcout, "async:slow") {
|
|
field(ODLY, "1")
|
|
field(CALC, "A")
|
|
field(FLNK, "async:slow2")
|
|
field(TPRO, "1")
|
|
}
|
|
|
|
record(longin, "async:slow2") {
|
|
field(INP , "async:seq PP")
|
|
field(TPRO, "1")
|
|
}
|
|
|
|
record(longin, "async:after") {
|
|
field(INP , "async:seq PP")
|
|
field(MDEL, "-1")
|
|
field(TPRO, "1")
|
|
}
|