unit i332_def;

interface

{$i .\i332.def}

CONST { Konstanten für IFCMode: }
      imNoIFC   =   0;     {kein Interface}

      imISA     = $08;     {ISA-Bus-Version}
      imPCI     = $0C;     {PCI-Bus-Version}
      imUSB     = $0D;     {USB-Version}
      imTCP     = $0E;     {TCP/IP-Version}

      imExt     = $000F;     {Erweitert: ifcPara --> String}

      imCOM     = $10;     {serielle Version}
      imCOM1    = imCOM+1;
      imCOM2    = imCOM+2;
      imCOM3    = imCOM+3;
      imCOM4    = imCOM+4;

      { Fehlerkonstanten: }
      ieNoErr          =   0;   {Fehlernummern, neg.: fatal}
      ieInternal       =  -1;
      ieNotImplemented =  -2;
      ieUnknown        =  -3;   {unbekannter Fehler}

      ieNoIFC          = -10;   {Interface nicht initialisiert}

      ieIFC            = -11;   {unzulässige Interface-Nr.}
      ieCOM            = -12;   {keine Schnittstelle mit dieser Nr.}
      ieDev            = -12;   {keine Schnittstelle mit dieser Nr.}
      ieInvalid        = -13;   {Funktionsaufruf nicht zulässig}

      ieNoI332         = -20;
      ieTimeOut        = -21;
      ieSync           = -22;

{********************************************************************}

{ allgemeine Konstanten- und Typ-Vereinbarungen }

CONST Axes   = 8;     { max. Anzahl der I332-Achsen }
      UndefL = INTEGER($80000000);
      Minus0 = INTEGER($80000000);
      FEilgang  = 0;  { Für i332_Ifc-Routinen: F = 0 --> Eilgang }

      fAbs  = $00000001; fRel = $00000000;
      fCW   = $00000004; fCCW = $00000000;

TYPE TAxes = 0..Axes-1;
     TAxisArray = ARRAY [TAxes] OF LONGINT;
     TAxLbls   = ARRAY [TAxes] OF Char;
     
TYPE TI332ID =  ARRAY[0..15] OF Char;
TYPE TI332Info = RECORD
       ifcMode: LONGINT;
       ifcPara: LONGINT;
       ifcErr:  LONGINT;
       i332Ver: LONGINT;
       i332ID:  TI332ID;
     END;

TYPE TI332InfoEx = RECORD
       Size:        LONGINT;
       i332Ver:     LONGINT;
       i332Dat:     LONGINT;
       i332Axes:    LONGINT;
       i332RAMSize: LONGINT;
       i332ID:      TI332ID;
     END;

CONST { Fehlernummern div. Routinen (fehlerhafte Daten/Parameter u.ä.) }
      deNoError =  0;
      deAxisNo  =  1;
      deSFAktiv =  2;
      deSFRtg0  =  3;
      deRtgLS   =  4;
      deSFDist0 =  5;
      deIPL_OV  =  6;

implementation

end.
