111 lines
4.5 KiB
TeX
111 lines
4.5 KiB
TeX
\subsubsection{LTC-11 Driver}
|
|
This is a driver for the Kyocera LTC-11 temperature controller which
|
|
is used with the Kryo furnace at SINQ (funny idea, a kryo
|
|
furnace). As with the ITC-4 this device has a few special functions
|
|
and requires an additional interpreter function which delegates to the
|
|
standard one for the general stuff. This is mainly the switching of
|
|
the operation mode of the LTC-11. It has two modes: analog mode and
|
|
heater mode. For more details about this see the controller
|
|
manual. The driver is implemented in the
|
|
file ltc11.h and ltc11.c. The following functions, besides those
|
|
required for the standard driver, are defined:
|
|
|
|
\begin{verbatim}
|
|
pEVDriver CreateLTC11Driver(int argc, char *argv[]);
|
|
|
|
int LTC11GetMode(pEVDriver self, int *iMode);
|
|
int LTC11SetMode(pEVDriver self, int iMode);
|
|
|
|
int LTC11Action(SConnection *pCon, SicsInterp *pSics, void *pData,
|
|
int argc, char *argv[]);
|
|
\end{verbatim}
|
|
These are:
|
|
\begin{description}
|
|
\item[CreateLTC11Driver] creates a driver for a LTC-11. Returns a
|
|
pointer to a newly allocated LTC-11 driver or NULL in case of failure.
|
|
\item[LTC11GetMode] retrieves the current operation mode of the
|
|
LTC-11.
|
|
\item[LTC11SetMode] sets the operation mode for the LTC-11.
|
|
\item[LTC11Action] The interpreter interface function for the
|
|
LTC-11. Implements the special commands for the LTC-11 and calls
|
|
EVControlWrapper for anything else.
|
|
\end{description}
|
|
|
|
|
|
\subsubsection{The Dillution Cryostat}
|
|
This is the old monster cryostat inherited from Saphir. Its driver is
|
|
implemented in dilludriv.h and dilludriv.c. There is additional code
|
|
for this device in the hardsup subdirectory in the file dillutil.h and
|
|
dillutil.c. This device has a fairly involved command protocoll. A
|
|
change of the set point requires heater output and and various
|
|
parameters for the resistance bridge used for temperature measurement
|
|
to be set. Then the set value has to be formatted in a range specific
|
|
way in a hexidecimal format. Most of this code is a C adaption of an
|
|
earlier F77 code from Elsenhans. Additionally this controller does not
|
|
provide a temperature but a resistance value. This resistance value
|
|
has to be converted to temperature through a calibration table. Thus
|
|
there is an additional file, dilu.tem, which holds this conversion
|
|
table.
|
|
|
|
\subsubsection{Eurotherm Temperature Controller}
|
|
SANS is Eurotherm temperature controller somewhere. These controllers
|
|
are quite common and the problem may come up again. The Eurotherm
|
|
supports not one but several command protocolls, each weirder then the
|
|
other. The implementation here serves the EI-Bisynch protocoll. The
|
|
thing ahs to be configured manually to run this protocoll. This
|
|
protocoll uses specific message formats for communication, the command
|
|
protocoll is not plain ASCII. For more details about the protocoll see
|
|
the documentation coming with the gadget. Due to this protocoll
|
|
restriction the usual Send function of the driver just returns an
|
|
error. The driver is impelemwnted
|
|
in file eurodriv.h and eurodriv.c. The following functions are
|
|
provided:
|
|
\begin{verbatim}
|
|
pEVDriver CreateEURODriv(int argc, char *argv[]);
|
|
|
|
/*
|
|
these are hooks to implement further functionality which,
|
|
I'am sure, Joachim Kohlbrecher will request.
|
|
*/
|
|
int EuroGetParameter(void **pData, char *pPar, int iLen, float *fVal);
|
|
int EuroSetParameter(void **pData, char *pPar, int iLen,
|
|
char *pFormat, float fVal);
|
|
|
|
\end{verbatim}
|
|
These are:
|
|
\begin{description}
|
|
\item[CreateEuroDriver] creates a driver for a Eurotherm controller. Returns a
|
|
pointer to a newly allocated Eurotherm driver or NULL in case of failure.
|
|
\item[EuroGetParameter] gets one out of many parameters possible with
|
|
the Eurotherm. This is a hook to implement further functionality. For
|
|
possible values for parameter names pPar see the Eurotherm
|
|
documentation. iLen is the length of pPar.
|
|
\item[LTC11SetParameter] retrieves the value of a parameter from the
|
|
Eurotherm. Again a hook for further expansion. pFormat is the format
|
|
how to print the parameter into the command string.
|
|
\end{description}
|
|
|
|
\subsubsection{EL755 Magnet Controller}
|
|
This is a driver for the PSI manufactured EL755 magnet
|
|
controller. There is additional code for this in the hardsup directory
|
|
with files el755\_utility.*. The functions there are documented in that
|
|
file. For SICS there is only an adapter to this implemented in
|
|
el755driv.h and el755driv.c. The only external function is a driver
|
|
creation function with the usual parameters and return values.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|