Link initialization from hex constants is broken
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
EPICS Base | Status tracked in 7.0 | |||||
3.15 |
Fix Released
|
Undecided
|
Andrew Johnson | |||
3.16 |
Fix Released
|
Undecided
|
Andrew Johnson | |||
7.0 |
Fix Released
|
Undecided
|
Andrew Johnson |
Bug Description
From Andrew Starrit <andrew.starritt AT synchrotron.
I recently upgraded many of my IOCs from base R3.14.12.5 to R3.15.5. I have noticed a
difference regarding literal hexadecimal numbers in INP fields as illustrated by the
following example (the transition was otherwise painless):
record (ai, "AI:HEX") {
field (SCAN, ".1 second")
field (INP, "0x0200")
}
record (longin, "LI:HEX") {
field (SCAN, ".1 second")
field (INP, "0x0200")
}
record (aSub, "AS:HEX") {
field (SCAN, ".1 second")
field (INPA, "0x0200")
field (FTA, "LONG")
field (INPB, "0x0200")
field (FTB, "DOUBLE")
}
For EPICS R3.14.12.5 I get:
$ caget AI:HEX LI:HEX AS:HEX.A AS:HEX.B
AI:HEX 512
LI:HEX 512
AS:HEX.A 512
AS:HEX.B 512
while for EPICS R3.15.5 I now get:
$ caget AI:HEX LI:HEX AS:HEX.A AS:HEX.B
AI:HEX 512
LI:HEX 0
AS:HEX.A 0
AS:HEX.B 512
EPICS 3.16.1 shows:
$ caget AI:HEX LI:HEX AS:HEX.A AS:HEX.B
AI:HEX 512
LI:HEX 0
AS:HEX.A 0
AS:HEX.B 0
Which is yet different.