
#line 47 "velodorn.w"

/*---------------------------------------------------------------------------
                        V E L O D O R N

  a set of utility functions needed in order to communicate with a 
  Dornier velocity selector through the SINQ system. 

  Mark Koennecke, Juli 1997

  updated to support new format fo status messages, Mark Koennecke, July 2003

  copyright: see implementation file.
------------------------------------------------------------------------------*/
#ifndef VELODORN
#define VELODORN
/*-------------------- a data structure for status analysis ---------------*/
 typedef struct {
                 char echo[30]; /* echo of command */
                 char rm[10]; /* operation status: REG == adjusting, STB == idle, 
                         BRE == braking */
                 int nom_rpm; /* envisaged rotation */
                 int cur_rpm; /* actual rotation speed */        
                 int pwr;     /* loss current, only valid after check */
                 float curr;  /* electircal current */
                 int  rot_temp; /* temperature of rotor */
                 int cont_temp; /* temperature of housing */
                 int inl_temp;  /* in temperature of cooling water */
                 int outl_temp; /* temperature of cooling water after 
                                   velocity selector */
                 float cool_wat; /* cooling water flow (l/minute) */
                 float vacuum;  /* vacuum (mbar) */
                 float accel;   /* rotation acceleration (g) */
                 int komm;      /* communication status PC-Host,
                                   0 = enabled,  1 = disabled 
                                */
                 int iHz;
                 } DornierStatus, *pDornierStatus;                                   

/*--------- error codes */
#define NOCOMMAND -300
#define ECHOMISSING -302
#define BADANALYSIS -303
#define STARTTIMEOUT -304
#define INVALIDSTATUS -305
/*------ functions */

#line 41 "velodorn.w"

   int GetDornierStatus(void **pData, pDornierStatus pDornier);
   int DornierSend(void **pData, char *pCommand, char *pReply, int iLen);
   int DecodeNewDornierStatus(char *pText, pDornierStatus pDornier);

#line 92 "velodorn.w"


#endif










