Hello,
the devMbboSoftRaw outputs the RVAL field (which has type DBF_ULONG) with
request type DBR_LONG. This means that if you point the OUT link to a calc
record's A field, an RVAL of e.g. 0xffff0000 (all 16 bits set, left shifted by
16) will result in a negative value. OTOH, if you use the INPA input link to
get the value, then A will contain a positive number, because the request type
in this case is DBR_DOUBLE. This behaviour is somewhat surprising to the
uninitiated. Off-hand, I do not know of a good way to fix this, but maybe
someone else has an idea?
(Life would be *so* much simpler if CA had been designed with support for
unsigned integer types. And, just BTW, as it stands CA for EPICS V4 (a.k.a.
pvAccess+pvData) will have exactly the same sort of problems. That is, unless
we promise that servers never use unsigned integer types for publicly
accessible record or struct fields.)
Cheers
Ben
________________________________
Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.
Aufsichtsrat: Vorsitzender Prof. Dr. Dr. h.c. mult. Joachim Treusch, stv. Vorsitzende Dr. Beatrix Vierkorn-Rudolph
Geschäftsführer: Prof. Dr. Anke Rita Kaysser-Pyzalla, Prof. Dr. Dr. h.c. Wolfgang Eberhardt, Dr. Ulrich Breuer
Sitz Berlin, AG Charlottenburg, 89 HRB 5583
Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin
http://www.helmholtz-berlin.de
- Navigate by Date:
- Prev:
AW: Re: alarm auto dialer Moeller, Markus
- Next:
Re: motor record RBV wmoore
- 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:
AW: Re: alarm auto dialer Moeller, Markus
- Next:
vxworks BSP sysBusToLocalAdrs not support PCI space 王林
- 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
|