Instrument control package: Difference between revisions

Jump to navigation Jump to search
m
Remove redundant Category:Packages.
(→‎Windows (cygwin): small fix, in cleanup)
m (Remove redundant Category:Packages.)
(7 intermediate revisions by 4 users not shown)
Line 71: Line 71:
# Prerequisits are that during install of the NI drivers, the C/C++ support  
# Prerequisits are that during install of the NI drivers, the C/C++ support  
# and the NI Measurement & Automation explorer has been enabled.
# and the NI Measurement & Automation explorer has been enabled.
# set the base for includes and libraries on your system
# it is usually /usr, but on newer windows installs of octave, it will be
# /mingw64
INSTALL_BASE=/usr


# this define should find the NI header file, if properly installled
# this define should find the NI header file, if properly installled
Line 79: Line 84:


# symlink NI header file
# symlink NI header file
mkdir -p /usr/include/gpib/
mkdir -p ${INSTALL_BASE}/include/gpib/
ln -sf "${NI_H_FILE}" /usr/include/gpib/ib.h
ln -sf "${NI_H_FILE}" ${INSTALL_BASE}/include/gpib/ib.h


# generate .def for all functions in the NI header file with a NI488CC prefix
# generate .def for all functions in the NI header file with a NI488CC prefix
echo LIBRARY ${NI_DLL_FILE} > ${NI_DEF_FILE}
echo LIBRARY ${NI_DLL_FILE} > ${NI_DEF_FILE}
echo EXPORTS >> ${NI_DEF_FILE}
echo EXPORTS >> ${NI_DEF_FILE}
grep "NI488CC  *[A-Za-z]" /usr/include/gpib/ib.h \
grep "NI488CC  *[A-Za-z]" ${INSTALL_BASE}/include/gpib/ib.h \
   | sed "s/^.*NI488CC  *//" \
   | sed "s/^.*NI488CC  *//" \
   | sed "s/(.*$//" >> ${NI_DEF_FILE}
   | sed "s/(.*$//" >> ${NI_DEF_FILE}


# generate the wrapper library simulating gpib-linux
# generate the wrapper library simulating gpib-linux
dlltool -d ${NI_DEF_FILE} -l /usr/lib/libgpib.a
dlltool -d ${NI_DEF_FILE} -l ${INSTALL_BASE}/lib/libgpib.a


#cleanup  
#cleanup  
Line 98: Line 103:
== MacOS ==
== MacOS ==


You need to build rpcgen from source [http://mirror.ancl.hawaii.edu/pub/FreeBSD/FreeBSD-current/src/usr.bin/rpcgen].
You need to build '''rpcgen''' from source [http://mirror.ancl.hawaii.edu/pub/FreeBSD/FreeBSD-current/src/usr.bin/rpcgen].
 
If rpcgen cannot be build from source, the following error might be obtained:
<syntaxhighlight lang="text"  style="font-size:13px">
pkg: error running `make' for the instrument-control package.
error: called from
    configure_make at line 99 column 9
    install at line 184 column 7
    pkg at line 437 column 9
</syntaxhighlight>
 
If the '''VXI-11 interface''' is not required, a workarround is proposed in [https://stackoverflow.com/questions/46720092/make-error-when-installing-instrument-control-package-for-octave/52860282#52860282] after the bug reported on [https://savannah.gnu.org/bugs/?54842].


= Examples =
= Examples =
Line 439: Line 455:
* Every read or write command opens and closes a new gpib session, since the linux-gpib session pointer is only valid for single command.
* Every read or write command opens and closes a new gpib session, since the linux-gpib session pointer is only valid for single command.


[[Category:Octave-Forge]]
[[Category:Octave Forge]]

Navigation menu