home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / jËzyki_programowania / oberon / system / amigaserial.mod (.txt) < prev    next >
Oberon Text  |  1977-12-31  |  4KB  |  77 lines

  1. Syntax10.Scn.Fnt
  2. Syntax10i.Scn.Fnt
  3. Syntax10b.Scn.Fnt
  4. MODULE AmigaSerial;   (* RD 31 Dec 95 *)
  5. IMPORT E:=AmigaExec;
  6. CONST
  7.     defaultCtlChar * = 011130000H;    (* default chars for xON,xOFF *)
  8.     (* You may change these via SETPARAMS.  At this time, parity is not
  9.         calculated for xON/xOFF characters.  You must supply them with the
  10.         desired parity.
  11.     query* = E.nonstd;       (* 09H *)
  12.     break* = E.nonstd+1;     (* 0AH *)
  13.     setparams* = E.nonstd+2;     (* 0BH *)
  14.     xDisabled* = 7;       (* serFlags xOn-xOff feature disabled bit *)
  15.     eofMode* = 6;       (*    "     EOF mode enabled bit *)
  16.     shared* = 5;       (*    "     non-exclusive access bit *)
  17.     radBoogie* = 4;       (*    "     high-speed mode active bit *)
  18.     queuedBrk* = 3;       (*    "     queue this Break ioRqst *)
  19.     sevenWire* = 2;       (*    "     RS232 7-wire protocol *)
  20.     partyOdd* = 1;       (*    "     parity feature enabled bit *)
  21.     partyOn* = 0;       (*    "     parity-enabled bit *)
  22. (* These now refect the actual bit positions in the io_Status UWORD *)
  23.     xOffRead* = 12;      (* status receive currently xOFF'ed bit  *)
  24.     xOffWrite* = 11;      (*    "   transmit currently xOFF'ed bit *)
  25.     readBreak* = 10;      (*    "   break was latest input bit     *)
  26.     wroteBreak* =  9;      (*    "   break was latest output bit    *)
  27.     overRun* =  8;      (*    "   status word RBF overrun bit    *)
  28.     mSpOn* = 1;        (* io_ExtFlags. Use mark-space parity, *)
  29.                          (*          instead of odd-even. *)
  30.     mark* = 0;        (*    "     if mark-space, use mark *)
  31. (* SerErrs: *)
  32.     devBusy* =  1;
  33.     baudMismatch* =  2;  (* baud rate not supported by hardware *)
  34.     bufErr* =  4;  (* Failed to allocate new read buffer *)
  35.     invParam* =  5;
  36.     lineErr* =  6;
  37.     parityErr* =  9;
  38.     timerErr* = 11;  (*(See the serial/OpenDevice autodoc)*)
  39.     bufOverflow* = 12;
  40.     noDSR* = 13;
  41.     detectedBreak* = 15;
  42.     serialName* = "serial.device";
  43.     IOExtSerPtr* = LONGINT;
  44.     IOExtSer* = RECORD(E.IOStdReq)
  45.         ctlChar*: LONGINT;    (* control char's (order = xON,xOFF,INQ,ACK) *)
  46.         rBufLen*: LONGINT;    (* length in bytes of serial port's read buffer *)
  47.         extFlags*: SET;   (* additional serial flags (see bitdefs below) *)
  48.         baud*: LONGINT;       (* baud rate requested (true baud) *)
  49.         brkTime*: LONGINT;    (* duration of break signal in MICROseconds *)
  50.         termArray0*, termArray1*: LONGINT; (* termination character array *)
  51.         readLen*: SHORTINT;   (* bits per read character (# of bits) *)
  52.         writeLen*: SHORTINT;  (* bits per write character (# of bits) *)
  53.         stopBits*: SHORTINT;  (* stopbits for read (# of bits) *)
  54.         serFlags*: SHORTINT;  (* see SerFlags bit definitions below  *)
  55.         status*: INTEGER;
  56.     END;
  57.    (* status of serial port, as follows:
  58. *                  BIT  ACTIVE  FUNCTION
  59. *                   0    ---    reserved
  60. *                   1    ---    reserved
  61. *                   2    high   Connected to parallel "select" on the A1000.
  62. *                               Connected to both the parallel "select" and
  63. *                               serial "ring indicator" pins on the A500
  64. *                               & A2000.  Take care when making cables.
  65. *                   3    low    Data Set Ready
  66. *                   4    low    Clear To Send
  67. *                   5    low    Carrier Detect
  68. *                   6    low    Ready To Send
  69. *                   7    low    Data Terminal Ready
  70. *                   8    high   read overrun
  71. *                   9    high   break sent
  72. *                  10    high   break received
  73. *                  11    high   transmit x-OFFed
  74. *                  12    high   receive x-OFFed
  75. *               13-15           reserved
  76. END AmigaSerial.
  77.