Experimental Physics and Industrial Control System
|
Hi,
Your database and protocol look fine. Why do you think you are only getting 40 characters? Have you checked the lsi record's contents from the iocShell? Have you checked its LEN field? Have you switched on debugging for StreamDevice and/or ASYN?
If you are reading your string over Channel Access, note that the CA string type is limited to 40 characters. For longer strings, your application will have to fetch the value as an array of characters (by adding the '$' tag to the channel name) and convert that array to a string. The command line 'caget' for your lsi record would be: caget -S RF:getString.VAL$
Cheers, ~Ralph
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: lsi record for more than 40 characters doesn't work Johnson, Andrew N. via Core-talk
- Next:
Re: lsi record for more than 40 characters doesn't work Eric Norum 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:
Re: lsi record for more than 40 characters doesn't work Johnson, Andrew N. via Core-talk
- Next:
Re: lsi record for more than 40 characters doesn't work Eric Norum 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
|
ANJ, 02 Dec 2019 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|