A.1 Requirements
The following tools and libraries are needed to compile, install and
run fsc2
:
- `
gmake
' GNU version of
make
- `
gcc
' GNU C compiler
, but other C compilers probably will also do)- `
flex
' - `
bison
' - `
install
' from the GNU coreutils package
- `
sed
' (GNU version of) stream editor
- `XForms library'
(version 1.0 or higher) with development package, i.e. the header files, see http://savannah.nongnu.org/projects/xforms/
- `GPIB library'
fsc2
can also be compiled and run without a GPIB library but with restricted functionality, i.e. without support for devices controlled via GPIB.
While optional you better should have:
- `
mail
andsendmail
' (or a
sendmail
replacement) or, if you want to use the built-in mail agent, thelibresolv.so
library- `
addr2line
' from the GNU binutils package
- `
Perl
' (version 5.6 or higher) with the pTk (Perl-Tk support) package
- `
pnmtopng
' - `
pnmtojpeg
'
If some of these are missing the basic functionality is still there (without
mail and addr2line no automatic bug reports can be sent and without Perl you
won't be able to wrap a GUI around EDL
scripts and the built-in web
server (which also requires the next two utilities) and the utility for
displaying pulse settings graphically won't work.
If you want to compile the module for Fast Fourier Transformation you will need the FFTaW library. Make sure to install version 3 of the library!
To create the complete documentation beside Perl you also need:
- `
makeinfo
andinstall-info
' the GNU texinfo documentation format
- `
TeX
' The TeX typesetting system - if missing no PostScript and PDF documentation can be created
- `
convert
andidentify
' from the ImageMagick package - or no PostScript and PDF documentation will be created
- `
dvips
' the TeX DVI output to PostScript converter - if missing no PostScript documentation will be created
- `
pdftex
' TeX package for creating PDF output - if missing no PDF documentation will be created
- `
gzip
'
• GPIB support | ||
• Support for other devices |
A.1.1 GPIB support
GPIB support requires a library and a driver to interface GPIB cards to
installed in your machine (if you don't have a GPIB card fsc2
can
also compiled without GPIB support, but many of the devices will then be
not usable). You can choose between the following ones:
- `SourceForge driver and library'
This is the successor to the Linux Lab Project library and drivers. It exists in versions for 2.4 and 2.6 kernels and supports an impressive number of different GPIB cards and I would recommend youtry this first. You can download it from http://linux-gpib.sourceforge.net/
- `National Instruments driver and library'
There exist two versions of the library if have been trying. The older, beta driver and library (version 0.86) works fine, but only with 2.4 kernels. The newer driver and library (version 2.xx, supposed to work also with 2.6 kernels) hasn't been tested, I didn't even get the driver to compile and linking against the library led to the program aborting immediately. I haven't any idea yet how to resolve that problem. If you want the older beta-driver but can't find it on the National Instruments web site anymore send me an email, I still have a copy of it around somewhere. You can download the newer version from the National Instruments web site.
- `Linux Lab Project driver and library'
This is a very old driver (only working with 2.0 kernels) and library, so you probably don't really want to use it anymore. I don't even know if it can still be downloaded...
- `my own driver and library'
This driver and library should work for 2.0 to 2.6 kernels and supports National Instruments ISA GPIB cards (but I was told that also cards by some other manufacturers can be used with the driver). You can download it from http://www.physik.fu-berlin.de/~toerring/GPIB.tar.gz.
From the documentations of the Linux Lab Project and SourceForge libraries and the one I have written it should already be clear that a GPIB configuration file (that is typically `/etc/gpib.conf') is required for the accompanying libraries to work correctly. In this configuration file all devices to be used with must be listed with their respective properties.
For the National Instruments libraries itself such a configuration
file isn't needed, but fsc2
does require it to find out about
the available devices. So you have to create one, following the
conventions used in the configuration files for the Linux Lab Project
library, which I also (mostly) used for my library. A typical entry in
this file looks like the following
device { name = "TDS744A" /* symbolic name */ pad = 26 /* primary address */ timeout = 3s /* device timeout */ eos = 0x0a /* EOS character */ set-reos = no set-xeos = no set-bin = no set-eot = yes } |
It specifies a symbolic name for the device, the primary GPIB address (you may also specify a secondary GPIB address, following the keyword 'sad'), the timeout to be used for communication with the device and a few more settings controlling the determination of the end of messages send to and read from the device. 'eos' is the character to be used as the end of transmission (EOS) character (none has to be set when no such character is to be used). When 'set-reos' is set he driver stops reading from a device whenever the EOS character is encountered in the message, even when the EOI line did not get raised while receiving the EOS character. When 'set-xeos' is set the EOI line is automatically raised when the EOS character is found in a message send to the device (even when there are more characters in the message). Setting 'set-bin' will make the driver check all 8 bits of each character for identity with the EOS character, while, when unset, only the lower 7 bits are tested (the top-most bit is excluded from the comparison). Finally, setting 'set-eot' makes the driver raise the EOI line automatically with the last byte of a message send to a device (which is also the default), while unsetting it will keep the driver from doing so.
Beside the entries for the devices another one for the GPIB board itself
is required as an interface
entry:
interface { name = "gpib" /* symbolic name */ pad = 0 /* primary address */ sad = 0 /* secondary address */ master /* flag for controller */ file = "/dev/gpib" /* device file */ } |
Here a symbolic name and the primary and secondary GPIB address are set for the board. The 'master' flag tells the driver that the board is the device controlling the GPIB bus and 'file' sets the name of the device file used for the board.
Please make sure that the GPIB library you want to use is already
compiled and installed before trying to compile fsc2
(unless you don't need GPIB support built into fsc2
).
A.1.2 Support for other devices
Devices that are controlled via the serial port are always supported
(at least as long as the variable WITHOUT_SERIAL_PORTS
isn't
set in the configuration for fsc2
).
Devices using USB-serial converters can be used as far there's support in kernel for them (in that case they can be used like a normal serial port device).
Other USB-controlled devices can be used via the libusb package, either verson 0.1 or 1.0 (which has to be installed on your machine).
Devices controlled via LAN can be used if you have a network card and networking support enabled in the kernel (which it usually is).
Also devices that are ISA or PCI cards (or connected to dedicated ISA
or PCI card) or that are controlled via the Rulbus (Rijksuniversiteit
Leiden BUS) can be used. All of those require additional libraries and
kernel drivers to be installed prior to building fsc2
. If these
come from the makers of the device (e.g. Roper Scientific Spec-10
CCD camera) please see the documentation coming with the device on how
to do that (and make sure that they are available for your kernel
version and CPU architecture). For others the sources for the required
libraries and kernel drivers are part of fsc2
, see the
subdirectories `me6x00', `ni6601', ni_daq
,
`rulbus' and `witio_48'). If you need any of them you must
create and install the libraries and kernel drivers before you can
create fsc2
. Typically it's as easy as going into the
subdirectory, typing ./INSTALL
and answering a few questions.
Please refer to the documentation (`README' files) in these
subdirectories for more details. After a successful installation
fsc2
should be able to find the libraries and include support
for the devices.
This document was generated by Jens Thoms Toerring on September 6, 2017 using texi2html 1.82.