EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Backward compatibility problems in LanGPIB Version 2.4
From: Benjamin Franksen <[email protected]>
To: EPICS Techtalk <[email protected]>
Cc: Korhonen Timo <[email protected]>, Andrew Johnson <[email protected]>
Date: Mon, 20 Mar 2000 22:56:32 +0100
Andrew Johnson wrote:
> Thanks for the reply.  I have added a bunch of #includes to
> devCommonGpib.h - IMHO if a header file requires declarations from other
> headers it should include those itself.  In my case I had to add dbScan.h
> (for IOSCANPVT) and the xxRecord.h headers (my device doesn't need them
> all so some like eventRecord weren't included by the devXx.c file and
> caused warning messages).  I also notice that the struct devGpibParmBlock
> has renamed the old member dmaTimeout to timeout (which doesn't quite
> match the documentation's claim of complete backwards compatibility for
> old device support).

Korhonen Timo wrote:
> I was installing the latest version of the lanGPIB driver for tests
> with the newest EPICS release (3.13.2). I stumbled on compilation
> of some old drivers that come with the release.
> 
> I would like to confirm if the (quick) fixes I made to get the modules
> to compile make sense.
> 
> Fix one:
> 
> compiler stumbled at a place where IOSCANPVT was not defined. I added
> #include <dbScan.h>
> where IOSCANPVT is declared as a pointer to void.
> 
> Fix two:
> 
> the compiler complained about a missing member (dmaTimeout) in the
> structure of type devGpibParmBlock. A comparison with the older version
> showed that this has been renamed to timeout. Is it OK to change the
> original source dmaTimeout -> timeout?
> (like
>     devSupParms.dmaTimeout = DMA_TIME;
> to
>     devSupParms.timeout = DMA_TIME;
> )

Shame on me!

Yes, these changes are correct and necessary for version 2.4. I
apologize for the inconvenience this has caused. I have made a patched
version (2.4.a) that has

- all the necessary #includes
- a macro for the dmaTimeout structure tag

so that compatibility to old device supports is restored. This version
also includes a number of other bug-fixes included. See release notes
for 2.4.a. For completeness, I also added some of the older versions of
lanGpib to the web-page for download.

Ben

P.S.: The 'dmaTimeout -> timeout' problem appears only if you use newer
versions of EPICS base. Marty fixed the GPIB device supports in base to
get around a compiler bug in the newest vxWorks release. In the original
versions, the assignments to the devSupParms structure was done by
aggregate initialization which doesn't mention the tag name. I didn't
realize this at the time Marty announced his changes.
P.P.S.: Sorry for the delayed answer.
P.P.P.S.: The 'unbundled' version is still not ready yet :(
-- 
The Notorious Neb Nesknarf


Replies:
Extended talker/listener support in LanGPIB Version 2.4? Eric Norum

Navigate by Date:
Prev: ethernet switches john sinclair
Next: Summary of ethernet switch discussion john sinclair
Index: 1994  1995  1996  1997  1998  1999  <20002001  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: ethernet switches john sinclair
Next: Extended talker/listener support in LanGPIB Version 2.4? Eric Norum
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·