Hi,
Consider this templates:
test.template
record(calc,"$(NAME):rdbk") {
field(DESC,"calculation")
field(SCAN,".5 second")
field(CALC,"A")
field(INPA,"$(NAME):rd .PP.NMS")
field(HOPR,"$(HOPR)")
field(LOPR,"$(LOPR)")
}
test.template
record(ai,"$(NAME):$(SNAME):rd") {
field(DESC,"position readback")
field(HOPR,"$(HOPR)")
field(LOPR,"$(LOPR)")
}
and this substitution file:
file test.template {
{ NAME="X", HOPR="9", LOPR="1"}
}
file test1.template {
{ NAME="Y" }
}
Remark: The substittutions $HOPR and $LOPR are used in both files, but
in the .substitution files it is forgotten for the second file,
test1.template.
After the run of make dbloadTemplat will create:
record(calc,"X:rdbk") {
field(DESC,"calculation")
field(SCAN,".5 second")
field(CALC,"A")
field(INPA,"X:rd .PP.NMS")
field(HOPR,"9")
field(LOPR,"1")
}
record(ai,"Y:$(SNAME):rd") {
field(DESC,"position readback")
field(HOPR,"9")
field(LOPR,"1")
}
HOPR and LOPR will be set in both records, so the last defined value
from the former substituted file will be used for the actual file.
This is not correct.
Grüssle Bernhard
PS: the work I did when I found this was not such an easy EPICS database.