Experimental Physics and Industrial Control System
|
> I'm trying to use the relatively new 64 bit records in EPICS base..
> The output of 'camonitor sixtyfour', however, stops updating as the value grows beyond 0x87654321:
The reason is this section in int64inRecord.c:
/* DELTA calculates the absolute difference between its arguments
* expressed as an unsigned 32-bit integer */
#define DELTA(last, val) \
((epicsUInt32) ((last) > (val) ? (last) - (val) : (val) - (last)))
It only checks for changes in the lower 32 bits of the value.
Maybe the motivation was to always perform an _unsigned_ comparison, but "UInt32" was copy/pasted instead of "UInt64"?
-Kay
- Replies:
- Re: int64in record not sending monitors for larger value changes Johnson, Andrew N. via Tech-talk
- References:
- int64in record not sending monitors for larger value changes Kasemir, Kay via Tech-talk
- Navigate by Date:
- Prev:
int64in record not sending monitors for larger value changes Kasemir, Kay via Tech-talk
- Next:
Re: int64in record not sending monitors for larger value changes Johnson, Andrew N. via Tech-talk
- 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:
int64in record not sending monitors for larger value changes Kasemir, Kay via Tech-talk
- Next:
Re: int64in record not sending monitors for larger value changes Johnson, Andrew N. via Tech-talk
- 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
|
ANJ, 29 Jul 2021 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|