Files
epics-base/modules/database/test/std/rec/asyncproctest.db
Michael Davidsaver 688f32cff0 RPRO/PUTF test all three link types
Shouldn't be any difference, but check IN_LINK
and FWD_LINK to be sure.
2019-02-06 16:07:40 -08:00

94 lines
1.9 KiB
Plaintext

# simple case
# stand alone async record
record(calcout, "chain1") {
field(CALC, "A:=A+1;B")
field(ODLY, "0.1")
field(TPRO, "$(TPRO=)")
field(FLNK, "done1")
}
record(sub, "done1") {
field(SNAM, "doneSubr")
field(TPRO, "$(TPRO=)")
}
# original problem case
# async record chained after syncronous record
record(calcout, "chain2:1") {
field(CALC, "A:=A+1;B")
# ODLY=0 synchronous
field(OUT , "chain2:2.B PP")
field(TPRO, "$(TPRO=)")
}
record(ai, "chain2:3") {
field(INP, "chain2:1 CPP")
field(FLNK, "chain2:2")
field(TPRO, "$(TPRO=)")
}
record(calcout, "chain2:2") {
field(CALC, "A:=A+1;B")
field(ODLY, "0.5")
field(TPRO, "$(TPRO=)")
field(FLNK, "done2")
}
record(sub, "done2") {
field(SNAM, "doneSubr")
field(TPRO, "$(TPRO=)")
}
# ANJ's error case
# async record FLNK's to itself (via done3)
record(calcout, "chain3") {
field(CALC, "A:=A+1;B")
field(ODLY, "0.1")
field(FLNK, "done3")
field(TPRO, "$(TPRO=)")
}
record(sub, "done3") {
field(SNAM, "doneSubr")
field(FLNK, "chain3")
field(TPRO, "$(TPRO=)")
}
# loop breaking regression
# should _not_ RPRO
record(calcout,"chain4_pos") {
field(CALC, "E:=E+1;E")
field(OUT,"chain4_rel.A PP")
field(TPRO, "$(TPRO=)")
}
record(calc,"chain4_rel") {
field(CALC, "E:=E+1;E")
field(FLNK,"chain4_lim")
field(TPRO, "$(TPRO=)")
}
record(calc,"chain4_lim") {
field(CALC, "E:=E+1;E")
field(INPA,"chain4_pos PP")
field(INPB,"chain4_pos.HIGH PP")
field(INPC,"chain4_pos.LOW PP")
field(FLNK,"chain4_pos")
field(TPRO, "$(TPRO=)")
}
record(bo, "chain4_dummy") {
field(TPRO, "$(TPRO=)")
}
# loop breaking regression part 2
# selft link should _not_ RPRO
record(calcout,"chain5_cnt") {
field(CALC, "E:=E+1;E")
field(INPA,"chain5_cnt.A PP")
field(OUT,"chain5_cnt.A PP")
field(FLNK,"chain5_cnt")
field(TPRO, "$(TPRO=)")
}