EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

<20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: RISC_pad in dbr_time_double
From: "Jeff Hill" <[email protected]>
To: "'Marty Kraimer'" <[email protected]>, "'TYLER, Paul'" <[email protected]>
Cc: "'Andrew Johnson'" <[email protected]>, "'Janet Anderson'" <[email protected]>, <[email protected]>
Date: Thu, 5 Dec 2002 11:42:26 -0700
I have used type long for the number of elements in some of the public
CA interfaces which can't be changed. I have been handling this problem
(hopefully thoroughly) by checking the range prior to converting to an
architecture independent type before shipping the element count over the
network. 

Jeff

> -----Original Message-----
> From: Marty Kraimer [mailto:[email protected]]
> Sent: Thursday, December 05, 2002 9:20 AM
> To: TYLER, Paul
> Cc: 'Jeff Hill'; 'Andrew Johnson'; 'Janet Anderson'; core-
> [email protected]; Marty Kraimer
> Subject: Re: RISC_pad in dbr_time_double
> 
> In the following I have only looked at changes for long,
> unsigned long, and enums.
> 
> I have modified the following files (all in <base>/src)
> 
> ca/db_access.h
> 
> Just added some ifdefs so that db_access.c can get it's
> structure definitions
> from this file.
> 
> libCom/cvtFast/cvtFast.*
> 
> long => epicsInt32
> unsigned long=> epicsUInt32
> 
> dbStatic/dbToRecordtypeH.c
> 
> In generated include files the following field definitions are
> changed
> 
> long => epicsInt32
> unsigned long=> epicsUInt32
> unsigned shot=> epicsEnum16 (for DBF_ENUM,DBF_MENU,DBF_DEVICE)
> 
> db/db_access.c
> 
> Get structure defs from db_access.h
> 
> short => dbr_short_t OR dbr_enum_t as necessary
> float => dbr_float_t
> char => dbr_char_t
> long => dbr_long_t
> double => dbr_double_t
> 
> dbAccessDefs.h
> 
> replace elementary types with epics types, e.g.
> long=>epicsInt32
> 
> 
> dbConvert.c and dbFastLinkConv.c
> 
> replaced all enums from unsigned short to epicsEnum16
> rplaced long by epicsInt32
> replaced unsigned long by epicsUInt32
> 
> 
> I am attaching a complete list of the diffs.
> 
> Questions
> 
> 1) What about all the other defs like float=>epicsFloat32 ?
> 2) What about all the other uses of long in base?
> 3) What about long for no_elements in dbAddr.h
> 4) Have I already gone too far?
> 
> Marty
> 
> 



Replies:
Re: RISC_pad in dbr_time_double Marty Kraimer
References:
Re: RISC_pad in dbr_time_double Marty Kraimer

Navigate by Date:
Prev: RE: RISC_pad in dbr_time_double Jeff Hill
Next: RE: Epics base3.14.beta2 for Tornado2.2 Jeff Hill
Index: <20022003  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: RISC_pad in dbr_time_double Marty Kraimer
Next: Re: RISC_pad in dbr_time_double Marty Kraimer
Index: <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·