The field definition for an EPICS database record allows for the
specification of a base radix with the syntax:
base(<base-type>)
where <base-type> can be DECIMAL or HEX with DECIMAL the default, c.f.
"EPICS IOC Application Developer's Guide"; Release 3.14beta1; page 67-68.
I would interpret this to mean that any numeric value assigned to this
field when defining an instance of an EPICS record would be interpreted
according to the designated (or default) base radix. This does not, however,
appear to be the case.
Here is a field definition from a .dbd file:
field(BADR,DBF_ULONG) {
prompt("VME base address (hex)")
promptgroup(GUI_DISPLAY)
base(HEX)
interest(1)
initial("0")
}
and here is an instance of a record definition in a .db file:
record(vme,"TRG_CSEQ_M001/NXTA:R") {
field(DESC, "CSEQ Next Address Read")
field(SCAN, "Passive")
field(BADR, "400000")
field(ADDR, "0x8000")
field(AMOD, "A24")
field(DSIZ, "D16")
field(RDWT, "Read")
field(NMAX, "2048")
field(NUSE, "1113")
field(AINC, "2")
field(ASND, "1")
field(EXPR, "0")}
The value that appears in the BADR field is decimal 400000. If the value is
prefixed by "0x", i.e. "0x400000", the field value is hexadecimal 400000.
Am I missing something?
Fritz Bartlett