home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / inc&ad2.0 / text_autodocs / parallel.doc < prev    next >
Text File  |  1992-09-01  |  10KB  |  289 lines

  1. TABLE OF CONTENTS
  2.  
  3. parallel.device/CMD_CLEAR
  4. parallel.device/CMD_FLUSH
  5. parallel.device/CMD_READ
  6. parallel.device/CMD_RESET
  7. parallel.device/CMD_START
  8. parallel.device/CMD_STOP
  9. parallel.device/CMD_WRITE
  10. parallel.device/OpenDevice
  11. parallel.device/PDCMD_QUERY
  12. parallel.device/PDCMD_SETPARAMS
  13. parallel.device/CMD_CLEAR                           parallel.device/CMD_CLEAR
  14.  
  15.    NAME
  16.     Clear -- clear the parallel port buffer
  17.  
  18.    FUNCTION
  19.     This command just RTS's (no buffer to clear)
  20.  
  21.    IO REQUEST
  22.     io_Message      mn_ReplyPort initialized
  23.     io_Device       set by OpenDevice
  24.     io_Unit         set by OpenDevice
  25.     io_Command      CMD_CLEAR (05)
  26.  
  27. parallel.device/CMD_FLUSH                           parallel.device/CMD_FLUSH
  28.  
  29.    NAME
  30.     Flush -- clear all queued I/O requests for the parallel port
  31.  
  32.    FUNCTION
  33.     This command purges the read and write request queues for the
  34.     parallel device. The currently active request is not purged.
  35.  
  36.    IO REQUEST
  37.     io_Message      mn_ReplyPort initialized
  38.     io_Device       set by OpenDevice
  39.     io_Unit         set by OpenDevice
  40.     io_Command      CMD_FLUSH (08)
  41.  
  42. parallel.device/CMD_READ                             parallel.device/CMD_READ
  43.  
  44.    NAME
  45.     Read -- read input from parallel port
  46.  
  47.    FUNCTION
  48.     This command causes a stream of characters to be read from the
  49.     parallel I/O register. The number of characters is specified in
  50.     io_Length. The EOF and EOL modes are supported, but be warned that
  51.     using these modes can result in a buffer overflow if the proper
  52.     EOL or EOF character is not received in time. These modes should
  53.     be used only when the sender and receiver have been designed to
  54.     cooperate. A safety guard can be implemented to EOF by setting
  55.     io_Length to a maximum allowed value. That cannot be done with EOL
  56.     since the EOL mode is identified by io_Length=-1.
  57.  
  58.     The parallel.device has no internal buffer; if no read request has
  59.     been made, pending input (i.e. handshake request) is not
  60.     acknowledged.
  61.  
  62.    IO REQUEST
  63.     io_Message      mn_ReplyPort initialized
  64.     io_Device       set by OpenDevice
  65.     io_Unit         set by OpenDevice
  66.     io_Command      CMD_READ (02)
  67.     io_Flags        If IOF_QUICK is set, driver will attempt Quick IO
  68.     io_Length       number of characters to receive.
  69.     io_Data         pointer where to put the data.
  70.  
  71.    RESULTS
  72.     io_Error -- if the Read succeded, then io_Error will be null.
  73.         If the Read failed, then io_Error will contain an error code.
  74.  
  75.    SEE ALSO
  76.     parallel.device/PDCMD_SETPARAMS
  77.  
  78. parallel.device/CMD_RESET                           parallel.device/CMD_RESET
  79.  
  80.    NAME
  81.     Reset -- reinitializes the parallel device
  82.  
  83.    FUNCTION
  84.     This command resets the parallel device to its freshly initialized
  85.     condition. It aborts all I/O requests both queued and current and
  86.     sets the devices's flags and parameters to their boot-up time 
  87.     default values. At boot-up time the PTermArray is random, and it
  88.     will be so also here.
  89.  
  90.    IO REQUEST
  91.     io_Message      mn_ReplyPort initialized
  92.     io_Device       set by OpenDevice
  93.     io_Unit         set by OpenDevice
  94.     io_Command      CMD_RESET (01)
  95.  
  96.    RESULTS
  97.     Error -- if the Reset succeded, then io_Error will be null.
  98.              if the Reset failed, then the io_Error will be non-zero.
  99.  
  100. parallel.device/CMD_START                           parallel.device/CMD_START
  101.  
  102.    NAME
  103.     Start -- restart paused I/O over the parallel port
  104.  
  105.    FUNCTION
  106.     This command restarts the current I/O activity on the parallel
  107.     port by reactivating the handshaking sequence.
  108.  
  109.    IO REQUEST
  110.     io_Message      mn_ReplyPort initialized
  111.     io_Device       set by OpenDevice
  112.     io_Unit         set by OpenDevice
  113.     io_Command      CMD_START (07)
  114.  
  115.    SEE ALSO
  116.     parallel.device/CMD_STOP
  117.  
  118. parallel.device/CMD_STOP                             parallel.device/CMD_STOP
  119.  
  120.    NAME
  121.     Stop -- pause current activity on the parallel device
  122.  
  123.    FUNCTION
  124.     This command halts the current I/O activity on the parallel
  125.     device by discontinuing the handshaking sequence. The stop and
  126.     start commands may not be nested.
  127.  
  128.    IO REQUEST
  129.     io_Message      mn_ReplyPort initialized
  130.     io_Device       set by OpenDevice
  131.     io_Unit         set by OpenDevice
  132.     io_Command      CMD_STOP (06)
  133.  
  134.    SEE ALSO
  135.     parallel.device/CMD_START
  136.  
  137. parallel.device/CMD_WRITE                           parallel.device/CMD_WRITE
  138.  
  139.    NAME
  140.     Write -- send output to parallel port
  141.  
  142.    FUNCTION
  143.     This command causes a stream of characters to be written to the
  144.     parallel output register. The number of characters is specified in
  145.     io_Length, unless -1 is used, in which case output is sent until
  146.     a zero byte occurs in the data. This is independent of, and may be
  147.     used simultaneously with setting the EOFMODE in io_ParFlags and using
  148.     the PTermArray to terminate the read or write.
  149.  
  150.    IO REQUEST
  151.     io_Message      mn_ReplyPort initialized
  152.     io_Device       set by OpenDevice
  153.     io_Unit         set by OpenDevice
  154.     io_Command      CMD_WRITE (03)
  155.     io_Flags        If IOF_QUICK is set, driver will attempt Quick IO
  156.     io_Length       number of characters to transmit, or if set
  157.                     to -1 send until zero byte encountered
  158.     io_Data         pointer to block of data to transmit
  159.  
  160.    RESULTS
  161.     io_Error -- If the Write succeded, then io_Error will be null.
  162.          If the Write failed, then io_Error will contain an error code.
  163.  
  164.    SEE ALSO
  165.     parallel.device/PDCMD_SETPARAMS
  166.  
  167. parallel.device/OpenDevice                         parallel.device/OpenDevice
  168.  
  169.    NAME
  170.     Open -- a request to open the parallel port
  171.  
  172.    SYNOPSIS
  173.     error = OpenDevice("parallel.device", unit, ioExtPar, flags)
  174.     D0                  A0                D0    A1        D1
  175.  
  176.    FUNCTION
  177.     This function allows the requestor software access to the parallel
  178.     device.  Unless the shared-access bit (bit 5 of io_ParFlags) is
  179.     set, exclusive use is granted and no other access is allowed
  180.     until the owner closes the device.
  181.  
  182.     A FAST_MODE, can be specified (bit 3 of io_Parflags) to speed up
  183.     transfers to high-speed printers. Rather than waiting for the printer
  184.     to acknowledge a character using the *ACK interrupt, this mode will
  185.     send out data as long as the BUSY signal is low. The printer must be
  186.     able to raise the BUSY signal within 3 micro-seconds on A2630s,
  187.     otherwise data will be lost. Should be used only in an exclusive-
  188.     access Open().
  189.  
  190.     A SLOWMODE mode can be specified (bit 4 of io_ParFlags) when very
  191.     slow printers are used. If the printer acknowledges data at less
  192.     than 5000 bytes per second, then this mode will actually save CPU
  193.     time, although it consumes much more with high-speed printers.
  194.  
  195.     The PTermArray of the ioExtPar is initialized only if the EOFMODE
  196.     bit (bit 1 of io_ParFlags) is set. The PTermArray can be further
  197.     modified using the PDCMD_SETPARAMS command.
  198.  
  199.    INPUTS
  200.     "parallel.device" - a pointer to literal string "parallel.device"
  201.     unit - Must be zero for future compatibility
  202.     ioExtPar - pointer to an IO Request block of structure IOExtPar to
  203.            be initialized by the Open() function. The io_ParFlags
  204.            field must be set as desired.
  205.     flags - Must be zero for future compatibility
  206.  
  207.    RESULTS
  208.     d0 -- same as io_Error
  209.     io_Error -- if the Open succeded, then io_Error will be null.
  210.             If the Open failed, then io_Error will be non-zero.
  211.  
  212.    SEE ALSO
  213.     exec/CloseDevice
  214.  
  215. parallel.device/PDCMD_QUERY                       parallel.device/PDCMD_QUERY
  216.  
  217.    NAME
  218.     Query -- query parallel port/line status
  219.  
  220.    FUNCTION
  221.     This command return the status of the parallel port lines and
  222.     registers. 
  223.  
  224.    IO REQUEST
  225.     io_Message      must have mn_ReplyPort initialized
  226.     io_Device       set by OpenDevice
  227.     io_Unit         set by OpenDevice
  228.     io_Command      PDCMD_QUERY (09)
  229.  
  230.    RESULTS
  231.     io_Status        BIT  ACTIVE  FUNCTION
  232.  
  233.                      0     high   printer busy toggle (offline)
  234.                      1     high   paper out
  235.                      2     high   printer selected on the A1000
  236.                                   printer selected & serial "Ring
  237.                                   Indicator" on the A500/A2000
  238.                                   Use care when making cables.
  239.                      3      -     read=0,write=1
  240.                    4-7            reserved
  241.  
  242.    BUGS
  243.     In a earlier version of this AutoDoc, BUSY and PSEL were reversed.
  244.     The function has always been correct.
  245.  
  246. parallel.device/PDCMD_SETPARAMS               parallel.device/PDCMD_SETPARAMS
  247.  
  248.    NAME
  249.     SetParams -- change parameters for the parallel device
  250.  
  251.    FUNCTION
  252.     This command allows the caller to change the EOFMODE parameter for
  253.     the parallel port device. It will disallow changes if any reads or
  254.     writes are active or queued.  
  255.  
  256.     The PARB_EOFMODE bit of io_ParFlags controlls whether the
  257.     io_PTermArray is to be used as an additional termination criteria
  258.     for reads and writes.  It may be set directly without a call to
  259.     SetParams, setting it here performs the additional service of
  260.     copying the PTermArray into the device default array which is used
  261.     as the initial array for subsequent device opens. The Shared bit
  262.     can be changed here, and overrides the current device access mode
  263.     set at OpenDevice time.
  264.  
  265.    IO REQUEST
  266.     io_Message      mn_ReplyPort initialized
  267.     io_Device       preset by OpenDevice
  268.     io_Unit         preset by OpenDevice
  269.     io_Command      PDCMD_SETPARAMS (0A)
  270.               NOTE that the following fields of your IORequest
  271.                     are filled by Open to reflect the parallel device's
  272.                     current configuration.
  273.     io_PExtFlags    must be set to zero, unless used
  274.     io_ParFlags     see definition in parallel.i or parallel.h
  275.                     NOTE that x00 yields exclusive access, PTermArray
  276.                     inactive.
  277.     io_PTermArray   ASCII descending-ordered 8-byte array of
  278.                     termination characters. If less than 8 chars
  279.                     used, fill out array w/lowest valid value.
  280.                     Terminators are used only if EOFMODE bit of
  281.                     io_Parflags is set. (e.g. x512F040303030303 )
  282.                     This field is filled on OpenDevice only if the
  283.                     EOFMODE bit is set.
  284.  
  285.    RESULTS
  286.     io_Error -- if the SetParams succeded, then io_Error will be null.
  287.                 if the SetParams failed, then io_Error will be non-zero.
  288.  
  289.