Hi,
How are you reading the lsi value and determining that it only has 40 characters?
Please try doing ‘caget -S RF:getString.VAL$’
If you do ‘cainfo RF:getString’ it will tell you that the VAL field is a normal DBF_STRING type, which can only transport up to 40 characters. You have to use the $ field modifier to gain access to the rest of the string, so ‘cainfo RF:getString.$’ will show the field as an array of 80 characters.
I don’t use StreamDevice myself but I’m assuming that it properly supports the lsi record. However I suspect trying to read your string at 5Hz as your SCAN field currently shows is probably not a good idea and may cause other problems.
- Andrew
--
Sent from my iPad
> On Nov 30, 2019, at 10:44 PM, dmnr infn via Tech-talk <[email protected]> wrote:
>
>
> Hi all,
> I have a .db e .proto made in this way:
>
> .db
> record(lsi, "RF:getString")
> {
> field(DESC, "String more than 40 chars")
> field(SIZV, "80")
> field(INP, "@MDO.proto getString L0")
> field(SCAN, ".2 second")
> }
>
> .proto
> getString {
> out "STT?";
> in "%s";
> }
>
> I want to get a String that is more than 40 characters, and I use a lsi record but I got always 40 chars.
> There is something wrong in my code?
> Thank you
>
- Navigate by Date:
- Prev:
Re: [Merge] ~anj/epics-base/+git/base-7.0:typed-dsets into epics-base:7.0 Andrew Johnson via Core-talk
- Next:
Re: lsi record for more than 40 characters doesn't work Ralph Lange via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Build completed: epics-base base-3.15-285 AppVeyor via Core-talk
- Next:
Re: lsi record for more than 40 characters doesn't work Ralph Lange via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
|