Menu

#32 gets fail for alarm and timeStamp fields of pvaSrv enum PV

None
closed
pvaSrv (12)
5
2015-06-10
2014-11-21
Dave Hickin
No

A pvget to the alarm or timeStamp field of an enum PV published by pvaSrv (from a record of type bi, bo, mbbi, mbbo or busy) fails:
$ pvget -r "field(timeStamp)" ColorMode
[ColorMode] failed to create channel get: Status [type=FATAL, message=Should never get here]
$ pvget -r "field(alarm)" ColorMode[ColorMode] failed to create channel get: Status [type=FATAL, message=Should never get here]

However a pvget to fetch all fields succeeds:
$ pvget -r "field()" ColorMode
ColorMode
epics:nt/NTEnum:1.0
enum_t value Mono
alarm_t alarm NO_ALARM NO_STATUS <no message="">
time_t timeStamp 2014-11-21T16:05:54.895 0

The issue isn't present for pvDatabaseCPP enum PVs:
$ pvget -r "field(timeStamp)" enumPV1
enumPV1
structure
time_t timeStamp 2014-11-21T17:14:00.047 0

It does not arise either for scalar PVs.

Strangely if you append an erroneous RTYP field (or PROC, DISA, DISV, PHAS, PACT, ZRST etc., ZRVL etc.) the get succeeds:

$ pvget -r "field(alarm)" ColorMode.RTYP
ColorMode.RTYP
structure
alarm_t alarm NO_ALARM NO_STATUS <no message="">

but this doesn't happen for SEVR (or STAT, PRIO, DISS, SDIS, FLNK, DTYP):

$ pvget -r "field(alarm)" ColorMode.SEVR
[ColorMode.SEVR] failed to create channel get: Status [type=FATAL, message=Should never get here]

Discussion

  • Ralph Lange

    Ralph Lange - 2015-06-10

    Moved to GitHub (pvaSrv Issue #4)

     
  • Ralph Lange

    Ralph Lange - 2015-06-10
    • status: open --> closed