Hey all,
I have written a small program using the PVXS library. Trying to access
the PVs with Phoebus release 4.7.0 I encountered an issues:
I'm using a boolean button widget in Phoebus to access a NTScalar with
boolean type and get the message "Cannot decode ..."
In the shell I get the message:
2022-10-05 16:24:10 WARNING [org.phoebus.pv] Cannot decode
'PND:LMD:RUNCTRL:SHUTDOWN' [CID 2, SID 117768961 CONNECTED] =
epics:nt/NTScalar:1.0
boolean value false
alarm_t alarm [NO_ALARM]
int severity 0
int status 0
string message
time_t timeStamp [2022-10-05 16:23:26.000318114]
long secondsPastEpoch 1664979806
int nanoseconds 318114
int userTag 0
java.lang.Exception: Expected struct with scalar 'value', got
epics:nt/NTScalar:1.0
boolean value false
alarm_t alarm [NO_ALARM]
int severity 0
int status 0
string message
time_t timeStamp [2022-10-05 16:23:26.000318114]
long secondsPastEpoch 1664979806
int nanoseconds 318114
int userTag 0
at
org.phoebus.pv.pva.PVAStructureHelper.decodeScalar(PVAStructureHelper.java:148)
at
org.phoebus.pv.pva.PVAStructureHelper.getVType(PVAStructureHelper.java:99)
at org.phoebus.pv.pva.PVA_PV.handleMonitor(PVA_PV.java:88)
at
org.epics.pva.client.MonitorRequest.decodeValueUpdate(MonitorRequest.java:236)
at
org.epics.pva.client.MonitorRequest.handleResponse(MonitorRequest.java:198)
at
org.epics.pva.client.MonitorHandler.handleCommand(MonitorHandler.java:40)
at
org.epics.pva.client.MonitorHandler.handleCommand(MonitorHandler.java:21)
at
org.epics.pva.common.CommandHandlers.handleCommand(CommandHandlers.java:66)
at
org.epics.pva.client.ClientTCPHandler.handleApplicationMessage(ClientTCPHandler.java:331)
at org.epics.pva.common.TCPHandler.handleMessage(TCPHandler.java:394)
at org.epics.pva.common.TCPHandler.receiver(TCPHandler.java:294)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Is the boolean type not implemented in Phoebus? In that case I would
switch to an int value.
Cheers,
Florian
--
Ruhr-Universität Bochum
AG der Experimentalphysik I
Dr. Florian Feldbauer
NB 2/131 / Fach 125
Universitätsstr. 150
D-44801 Bochum
Office: NB 2/134
Phone: (+49)234 / 32-23563
Fax: (+49)234 / 32-14170
https://paluma.ruhr-uni-bochum.de