EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  <20202021  2022  2023  2024  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  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: device support for IK342
From: Heinz Junkes via Tech-talk <tech-talk at aps.anl.gov>
To: "Sintschuk, Michael" <michael.sintschuk at bam.de>
Cc: tech-talk <tech-talk at aps.anl.gov>
Date: Thu, 17 Sep 2020 16:32:50 +0200
Hello, Michael,

I had once adapted an interferometer 
from HP for rtems4.9 for a MVME3100/2100.

/*****************************************************************
*
*      Device Support for the Hewlett-Packard 10895A Laser Axis board
*
*      Author: Tim Mooney
*      Date: 8/7/95
*

and this is what the include header section looks like:


#include 	<string.h>
#include 	<stdio.h>
#include 	<stdlib.h>
#include 	<dbCommon.h>
#include 	<drvSup.h>
#include 	<epicsVersion.h>
#include 	<epicsString.h>
#include 	<devLib.h>
#include 	<dbAccess.h>
#include 	<epicsThread.h>
#include 	<epicsInterrupt.h>
#include 	<epicsExit.h>
#include <epicsPrint.h>
#include 	<cantProceed.h>

#include	<alarm.h>
#include	<dbDefs.h>
#include	<dbAccess.h>
#include	<recSup.h>
#include	<devSup.h>
#include	<link.h>
#include	<epicsMutex.h>

#include	<recGbl.h>
#include	<aiRecord.h>
#include	<aoRecord.h>
#include	<biRecord.h>
#include	<boRecord.h>
#include	<mbbiRecord.h>
#include	<mbboRecord.h>
#include	<longinRecord.h>
#include	<longoutRecord.h>

#include	<dbScan.h>
#include	<epicsExport.h>
#include	<epicsTypes.h>
#include	<iocsh.h>

/* Define for return test on devNoResponseProbe() */
#define PROBE_SUCCESS(STATUS) ((STATUS)==S_dev_addressOverlap)

/* Are we using VME-Bus/devLib */

#if (defined(vxWorks) || defined(__rtems__))
   #define USE_DEVLIB
#endif
...


Viele Grüße
Heinz Junkes
--
Experience directly varies with equipment ruined.

> On 17. Sep 2020, at 15:37, Sintschuk, Michael via Tech-talk <tech-talk at aps.anl.gov> wrote:
> 
> The page https://www.gmca.aps.anl.gov/makarov/IK342_driver.html is accessible for me now. I don’t know what the issue was…
> But anyway, I cannot compile the EPICS driver & record support following the instructions given there. This is my approach:
>  
> 	• I create an application directory:
> bam01:/soft/epics/inst-3.15.7/IK342 # ${EPICS_BASE}/bin/linux-x86_64/makeBaseApp.pl -t ioc
> 	• Then I follow the instructions on the page (copy the files in the named directorys)
> 	• Execute make:
>  
> bam01:/soft/epics/inst-3.15.7/IK342 # make
> make -C ./configure install 
> make[1]: Entering directory '/soft/epics/inst-3.15.7/IK342/configure'
> perl -CSD /soft/epics/base/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../..
> perl -CSD /soft/epics/base/bin/linux-x86_64/makeMakefile.pl O.RTEMS-mvme2100 ../..
> mkdir O.Common
> make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
>     T_A=linux-x86_64 install
> make[2]: Entering directory '/soft/epics/inst-3.15.7/IK342/configure/O.linux-x86_64'
> perl -CSD /soft/epics/base/bin/linux-x86_64/convertRelease.pl checkRelease
> make[2]: Leaving directory '/soft/epics/inst-3.15.7/IK342/configure/O.linux-x86_64'
> make -C O.RTEMS-mvme2100 -f ../Makefile TOP=../.. \
>     T_A=RTEMS-mvme2100 install
> make[2]: Entering directory '/soft/epics/inst-3.15.7/IK342/configure/O.RTEMS-mvme2100'
> perl -CSD /soft/epics/base/bin/linux-x86_64/convertRelease.pl checkRelease
> make[2]: Leaving directory '/soft/epics/inst-3.15.7/IK342/configure/O.RTEMS-mvme2100'
> make[1]: Leaving directory '/soft/epics/inst-3.15.7/IK342/configure'
> make -C ./IK342App install 
> make[1]: Entering directory '/soft/epics/inst-3.15.7/IK342/IK342App'
> make -C ./src install 
> make[2]: Entering directory '/soft/epics/inst-3.15.7/IK342/IK342App/src'
> perl -CSD /soft/epics/base/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../../..
> perl -CSD /soft/epics/base/bin/linux-x86_64/makeMakefile.pl O.RTEMS-mvme2100 ../../..
> mkdir O.Common
> make -C O.linux-x86_64 -f ../Makefile TOP=../../.. \
>     T_A=linux-x86_64 install
> make[3]: Entering directory '/soft/epics/inst-3.15.7/IK342/IK342App/src/O.linux-x86_64'
> /usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE            -D_X86_64_  -DUNIX  -Dlinux     -O3   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/soft/epics/base/include/compiler/gcc -I/soft/epics/base/include/os/Linux -I/soft/epics/base/include        -MM -MF IK342Main.d  ../IK342Main.cpp
> perl -CSD /soft/epics/base/bin/linux-x86_64/registerRecordDeviceDriver.pl   -I. -I.. -I../O.Common -I../../../dbd -I/soft/epics/base/dbd    -o IK342_registerRecordDeviceDriver.cpp ../IK342.dbd IK342_registerRecordDeviceDriver /soft/epics/inst-3.15.7/IK342
> Device using unknown record type 'ai', declaration created
> /usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE            -D_X86_64_  -DUNIX  -Dlinux     -O3   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/soft/epics/base/include/compiler/gcc -I/soft/epics/base/include/os/Linux -I/soft/epics/base/include        -MM -MF IK342_registerRecordDeviceDriver.d  IK342_registerRecordDeviceDriver.cpp
> Installing dbd file ../../../dbd/IK342.dbd
> mkdir ../../../dbd
> /usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE            -D_X86_64_  -DUNIX  -Dlinux     -O3   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/soft/epics/base/include/compiler/gcc -I/soft/epics/base/include/os/Linux -I/soft/epics/base/include        -c IK342_registerRecordDeviceDriver.cpp
> /usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE            -D_X86_64_  -DUNIX  -Dlinux     -O3   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/soft/epics/base/include/compiler/gcc -I/soft/epics/base/include/os/Linux -I/soft/epics/base/include        -c ../IK342Main.cpp
> /usr/bin/g++ -o IK342  -L/soft/epics/inst-3.15.7/IK342/lib/linux-x86_64 -L/soft/epics/base-3.15.7/lib/linux-x86_64 -Wl,-rpath,/soft/epics/inst-3.15.7/IK342/lib/linux-x86_64 -Wl,-rpath,/soft/epics/base-3.15.7/lib/linux-x86_64           -rdynamic -m64            IK342_registerRecordDeviceDriver.o IK342Main.o    -ldbRecStd -ldbCore -lca -lCom  
> /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: IK342_registerRecordDeviceDriver.o: in function `_GLOBAL__sub_I_IK342_registerRecordDeviceDriver':
> IK342_registerRecordDeviceDriver.cpp:(.text.startup+0x7): undefined reference to `pvar_dset_devAiIK342'
> /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: IK342_registerRecordDeviceDriver.cpp:(.text.startup+0x15): undefined reference to `pvar_drvet_drvIK342'
> collect2: error: ld returned 1 exit status
> make[3]: *** [/soft/epics/base/configure/RULES_BUILD:204: IK342] Error 1
> make[3]: Leaving directory '/soft/epics/inst-3.15.7/IK342/IK342App/src/O.linux-x86_64'
> make[2]: *** [/soft/epics/base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2
> make[2]: Leaving directory '/soft/epics/inst-3.15.7/IK342/IK342App/src'
> make[1]: *** [/soft/epics/base/configure/RULES_DIRS:84: src.install] Error 2
> make[1]: Leaving directory '/soft/epics/inst-3.15.7/IK342/IK342App'
> make: *** [/soft/epics/base/configure/RULES_DIRS:84: IK342App.install] Error 2
> bam01:/soft/epics/inst-3.15.7/IK342 #
>  
>  
> Also I doubt, that the driver can be build for RTEMS because of these lines in drvIK342.c (looks more like VxWorks only):
>  
> * IK342_drv_init  Finds and initializes IK342 (currently assumes one card)
>  * IK342_driver    interfaces to IK342, writes cmd registers, reads data
> */
>  
> #include <vxWorks.h>           /* defines VX_READ; STATUS - types/vxTypesOld.h */
> #include <stdlib.h>            /* calloc() */
> #include <logLib.h>            /* logMsg() */
> #include <vme.h>               /* VME_AM_SUP_SHORT_IO */
> #include <vxLib.h>             /* vxMemProbe() */
> #include <dbDefs.h>            /* ->  epicsTypes.h  ->  stdio.h  ->  printf() */
> #include <drvSup.h>            /* DRVSUPFUN */
> #include <devLib.h>            /* devRegisterAddress() */
> #include <intLib.h>            /* intLevelSet() */
>  
> Is there a way that I can compile these drivers for RTEMS-4.10.2?
>  
> Regards 
> Michael
>  
> Von: Sintschuk, Michael 
> Gesendet: Donnerstag, 17. September 2020 10:06
> An: 'tech-talk' <tech-talk at aps.anl.gov>
> Betreff: device support for IK342
>  
> Hello all,
>  
> is someone using the IK342 board from Heidenhain with an RTEMS-mvme2100 IOC?
> I found this site: https://epics.anl.gov/modules/manufacturer.php#Heidenhain
> But the link for the IK342 device support isn’t working anymore.
>  
> Best regards
> Michael
>  
> Michael Sintschuk 
> Bundesanstalt für Materialforschung und –prüfung (BAM)
> 8.5 Mikro-ZfP 
> 
> Unter den Eichen 87
> 12205 Berlin 
> GERMANY 
> 
> P: +49 30 8104-5736 (BESSY, Adlershof)
> P: +49 30 8104-4065 (BAM, Steglitz)
> michael.sintschuk at bam.de

Attachment: smime.p7s
Description: S/MIME cryptographic signature


References:
device support for IK342 Sintschuk, Michael via Tech-talk
AW: device support for IK342 Sintschuk, Michael via Tech-talk

Navigate by Date:
Prev: AW: device support for IK342 Sintschuk, Michael via Tech-talk
Next: Re: ASLO doesn't work Ben Franksen 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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: AW: device support for IK342 Sintschuk, Michael via Tech-talk
Next: Re: device support for IK342 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  <20202021  2022  2023  2024 
ANJ, 17 Sep 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·