Experimental Physics and Industrial Control System
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
<2020>
2021
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
<2020>
2021
2022
2023
2024