- New drivers for EL737 and EL734 high performance
- Changes to makefiles SKIPPED: psi/dornier2.c psi/el734hp.c psi/el737driv.c psi/el737hpdriv.c psi/make_gen psi/makefile_alpha psi/psi.c psi/velodorn.c psi/velodorn.h psi/velodorn.w psi/hardsup/el737_utility.c psi/hardsup/makefile_alpha psi/tecs/makefile_alpha
This commit is contained in:
@ -23,6 +23,8 @@ This class provides the basic communication facilities for an arbitrary
|
||||
mkChannel *pSock;
|
||||
char *pHost;
|
||||
int iPort;
|
||||
int debug;
|
||||
int registered;
|
||||
} rs232, *prs232;
|
||||
|
||||
@}
|
||||
@ -36,6 +38,10 @@ The fields are:
|
||||
\item[mkChannel] Our very own structure for a network connection.
|
||||
\item[pHost]The host (mostly the terminal server) to connect to.
|
||||
\item[iPort] The port at host to which to connect.
|
||||
\item[debug] a flag which switches logging of the communication to
|
||||
stdout on.
|
||||
\item[registered] a flag which is set if the registration of the rs232
|
||||
controllers network port has succeeded.
|
||||
\end{description}
|
||||
|
||||
The following interface functions are provided:
|
||||
@ -49,14 +55,22 @@ The following interface functions are provided:
|
||||
void setRS232SendTerminator(prs232 self, char *term);
|
||||
void setRS232ReplyTerminator(prs232 self, char *term);
|
||||
void setRS232Timeout(prs232 self, int timeout);
|
||||
void setRS232Debug(prs232 self, int deb);
|
||||
|
||||
int writeRS232(prs232 self, void *data, int dataLen);
|
||||
int readRS232(prs232 self, void *data, int *dataLen);
|
||||
int readRS232TillTerm(prs232 self, void *data, int *datalen);
|
||||
int availableRS232(prs232 self);
|
||||
int availableNetRS232(prs232 self);
|
||||
int transactRS232(prs232 self, void *send, int sendLen,
|
||||
void *reply, int replylen);
|
||||
|
||||
void getRS232Error(int iCode, char *errorBuffer,
|
||||
int errorBufferLen);
|
||||
|
||||
int initRS232(prs232 self);
|
||||
prs232 createRS232(char *host, int iPort);
|
||||
void KillRS232(void *pData);
|
||||
@}
|
||||
|
||||
All functions take a pointer to their daat structure as a parameter.
|
||||
@ -80,10 +94,16 @@ The functions have the following meanings:
|
||||
replyLen bytes of reply are copied to reply.
|
||||
\item[availableRS232] returns 1 if data is available, o if none is available
|
||||
and a negative value if an error occurs.
|
||||
\item[availableNetRS232] returns 1 when data is pending at the network
|
||||
reader for this port, else 0. This function also resets the network reader for
|
||||
further use. This could lead to trouble if pending data is not
|
||||
directly followed by a read.
|
||||
\item[getRS232Error] gets a string representation for the error code
|
||||
iCode.
|
||||
\item[initRS232] tries to close and reopen the RS232 connection. This is
|
||||
useful for the automatic fixing of communication problems encountered.
|
||||
\item[createRS232] creates a new rs232 data structure with all
|
||||
parameters at default values. The connection is NOT opened.
|
||||
\end{description}
|
||||
|
||||
@o rs232controller.h @{
|
||||
@ -102,6 +122,14 @@ The functions have the following meanings:
|
||||
#ifndef RS232CONTROLLER
|
||||
#define RS232CONTROLLER
|
||||
#include "network.h"
|
||||
/*
|
||||
own error codes
|
||||
*/
|
||||
#define NOTCONNECTED -2700
|
||||
#define BADMEMORY -2701
|
||||
#define TIMEOUT -2702
|
||||
#define FAILEDCONNECT -2703
|
||||
#define INCOMPLETE -2704
|
||||
|
||||
/*----------------------- a data structure ----------------------------*/
|
||||
@<rs232dat@>
|
||||
|
Reference in New Issue
Block a user