From: Tech-talk <
tech-talk-bounces at aps.anl.gov> on behalf of Ralph Lange via Tech-talk <
tech-talk at aps.anl.gov>
Sent: Friday, July 10, 2020 8:54 AM
To: EPICS Tech Talk
Subject: Re: Long String support in phoebus
On Fri, 10 Jul 2020 at 15:34, Mark Rivers via Tech-talk <
tech-talk at aps.anl.gov<
mailto:tech-talk at aps.anl.gov>> wrote:
[...]
It would probably be good to mention that the .VAL$ syntax is required in the lso record documentation here:
https://epics.anl.gov/base/R7-0/4-docs/lsoRecord.html
Actually, there is nothing special about the long string output record.
There are *two* sides to the issue (client and server), and - depending on the field type of the record - there are *two* related switches you may have to activate for long strings to work across Channel Access.
1. The client must be told to send a string as an array of char, and to show an array of char as a string. This is a representation issue on the client side, and done using '-S' with the command line tools.
2. The server must be told to show fields that are supposed to be long strings as arrays of char to Channel Access. This is a data type issue on the server side, and done by adding the '$' to the PV name.
The waveform record doesn't need the server side switch, because its native data type of the VAL field is already an array of char.
Any string type field that is longer than 40 characters (DESC, link fields, lsi/lso VAL fields, ...) need the '$' switch to be shown as array of char instead of string.
Cheers,
~Ralph