Hi Marty -
So you are reading 2 unsigned 32 bit integers into 2 longin records (and longin's are signed 32 bit integers even on 64bit machines).
Could you instead read into 2 ai records? Or into A and B fields of an aSub record where FTA and FTB are "ULONG"?
Stephanie Allison
> -----Original Message-----
> From: [email protected] [mailto:tech-talk-
> [email protected]] On Behalf Of Martin L. Smith
> Sent: Monday, November 12, 2012 12:21 PM
> To: [email protected]
> Subject: streamDevice 32-bit hex value read problem
>
> I'm trying to read a 32-bit hex value like ffffffff ffffffff using
> EPICS R3.14.12.2, streamDevice 2-5, and asyn 4-19 on 64-bit Linux OS.
>
> When I read these values using the following protocol:
> get_ilock {
> out "din";
> in "%(\$1FirstInterlockWord.VAL)8R ",
> "%(\$1SecondInterlockWord.VAL)0R";
>
> ExtraInput = Ignore;
> }
>
> Both records are longin records and no matter if I use the 8R or 0R I
> always get the same result:
>
> ID06ds:FirstInterlockWord 11/12/12 14:03:02.743812335 -2147483648
> ID06ds:SecondInterlockWord 11/12/12 14:03:02.743823268 -2147483648
>
> Turns out that this is hex value 80000000
>
> If I use a strngin record I can see that I'm getting the expected data.
>
> Is this the largest value that I can read using streamDevice or is there
> some other way that I should try to read these values?
>
> Thanks,
> Marty
- References:
- streamDevice 32-bit hex value read problem Martin L. Smith
- Navigate by Date:
- Prev:
Re: strange EPICS glitch Andrew Johnson
- Next:
question of Hytec 8516 added in synApps-5.3 李芳
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
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:
streamDevice 32-bit hex value read problem Martin L. Smith
- Next:
Re: streamDevice 32-bit hex value read problem Dirk Zimoch
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
<2012>
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|