- Rearranged directory structure for forking out ANSTO
- Refactored site specific stuff into a site module - PSI specific stuff is now in the PSI directory. - The old version has been tagged with pre-ansto
This commit is contained in:
124
hardsup/itc4util.h
Normal file
124
hardsup/itc4util.h
Normal file
@@ -0,0 +1,124 @@
|
||||
/*---------------------------------------------------------------------------
|
||||
I T C L 4 U T I L
|
||||
|
||||
A few utility functions for talking to a Oxford Instruments ITCL-4
|
||||
temperature controller via the SINQ setup: TCP/IP--MAC--RS-232--
|
||||
ITC-4.
|
||||
|
||||
Mark Koennecke, Juli 1997
|
||||
|
||||
----------------------------------------------------------------------------*/
|
||||
#ifndef SINQITCL4
|
||||
#define SINQITCL4
|
||||
|
||||
/*----------------------- ERRORCODES--------------------------------------
|
||||
Most functions return a negative error code on failure. Error codes
|
||||
defined are those defined for serialsinq plus a few additional ones:
|
||||
*/
|
||||
|
||||
#define ITC4__BADCOM -501
|
||||
/* command not recognized */
|
||||
#define ITC4__BADPAR -502
|
||||
/* bad parameter to command */
|
||||
#define ITC4__BADMALLOC -503
|
||||
/* error allocating memory */
|
||||
#define ITC4__BADREAD -504
|
||||
/* error analysing command string on Read */
|
||||
#define ITC4__NOITC -510
|
||||
/* Controller is no ITC-4 */
|
||||
#define ITC4__BADSET -530
|
||||
/* failed three times to set temperature */
|
||||
#define ITC4__READONLY -531
|
||||
/*------------------------------------------------------------------------*/
|
||||
typedef struct __ITC4 {
|
||||
int iRead;
|
||||
int iControl;
|
||||
void *pData;
|
||||
char pAns[80];
|
||||
float fDiv;
|
||||
float fMult;
|
||||
int iReadOnly;
|
||||
int i503; /* flag for model 503, understanding float*/
|
||||
} ITC4;
|
||||
|
||||
typedef struct __ITC4 *pITC4;
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
int ITC4_Open(pITC4 *pData,char *pHost, int iPort, int iChannel, int iMode);
|
||||
/***** creates an ITC4 datastructure and opens a connection to the ITCL4
|
||||
controller. Input Parameters are:
|
||||
the hostname
|
||||
the port number
|
||||
the RS-232 channel number on the Mac.
|
||||
iMode: 1 for ReadOnly, 0 for normal mode
|
||||
|
||||
Return values are 1 for success, a negative error code on
|
||||
failure.
|
||||
|
||||
*/
|
||||
|
||||
void ITC4_Close(pITC4 *pData);
|
||||
/****** close a connection to an ITC4controller and frees its
|
||||
data structure. The only parameter is a pointer to the data
|
||||
structure for this controller. This pointer will be invalid after
|
||||
this call.
|
||||
*/
|
||||
|
||||
int ITC4_Config(pITC4 *pData, int iTmo, int iRead,
|
||||
int iControl, float fDiv, float fMult);
|
||||
/***** configure some aspects of a ITC4temperature controller.
|
||||
The parameter are:
|
||||
- a pointer to the data structure for the controller as
|
||||
returned by OpenITCL4
|
||||
- a value for the connection timeout
|
||||
- the temperature sensor to use for reading the
|
||||
temperature.
|
||||
- the temperature sensor used by the ITC4controller
|
||||
for regulating the temperature.
|
||||
- the divisor needed to calculate the real temperature
|
||||
from the sensor.
|
||||
The function returns 1 on success, a negative error code on
|
||||
failure.
|
||||
*/
|
||||
|
||||
int ITC4_Send(pITC4 *pData, char *pCommand, char *pReply, int iLen);
|
||||
/******* send a the command in pCommand to the ITC4controller.
|
||||
A possible reply is returned in the buffer pReply.
|
||||
Maximum iLen characters are copied to pReply.
|
||||
The first parameter is a pointer to a ITC4data structure
|
||||
as returned by OpenITCL4.
|
||||
|
||||
Return values are 1 for success, a negative error code on
|
||||
failure.
|
||||
*/
|
||||
|
||||
int ITC4_Read(pITC4 *pData, float *fVal);
|
||||
/******* reads the current actual temperature of the sensor
|
||||
configured by ConfigITC4for reading. The value is returned
|
||||
in fVal. The first parameter is a pointer to a ITCL4
|
||||
data structure as returned by OpenITCL4.
|
||||
|
||||
Return values are 1 for success, a negative error code on
|
||||
failure.
|
||||
*/
|
||||
|
||||
int ITC4_Set(pITC4 *pData, float fVal);
|
||||
/****** sets a new preset temperature in the ITC4temperature
|
||||
controller. Parameters are:
|
||||
- a pointer to a ITC4data structure as returned by OpenITCL4.
|
||||
- the new preset value.
|
||||
|
||||
Return values are 1 for success, a negative error code on
|
||||
failure.
|
||||
*/
|
||||
|
||||
void ITC4_ErrorTxt(pITC4 *pData, int iCode, char *pError, int iLen);
|
||||
/******* translates one of the negative error ITC4error codes
|
||||
into text. Maximum iLen bytes will be copied to the
|
||||
buffer pError;
|
||||
*/
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user