The Gypsy has two timeouts relating to plotter response. When should the default timeouts be changed? How are these timeouts related to host system timeouts?
These timeouts are not required by the SCSI specification. They are an addition within Gypsy mode code page 20h. A SCSI driver should be able handle a situation in which a target device (Gypsy) disconnects and does not reconnect within a finite time. Because some hosts do not handle this situation with grace (they cause a bus-wide reset), these timeout are provided.
The two Gypsy timeouts have been added to allow a more graceful recovery in the event of a plotter mishap, such as 'paper out', or someone manually pausing the plotter.
The FORMAT timeout is the maximum time (in seconds) allowed for a FORMAT command to complete the handshaking of signals requested within the second byte of data (RFFED, RLTER, REOTR, CLEAR, and RESET). If none of these bits are set (hence no handshaking with the plotter), the timeout will not occur. The default is 30 seconds.
The PLOT timeout is the maximum time allowed for each DMA transfer (within the Gypsy) to the plotter. The default is 30 seconds.
There are variations related to disconnect privilege, use of the Automatic RLTER option, and buffered mode of operation. A table showing the possible combinations follows.
| combination | buffered mode |
disconnect privilege |
automatic RLTER |
|---|---|---|---|
| 1. | N | N | N |
| 2. | N | N | Y |
| 3. | N | Y | N |
| 4. | N | Y | Y |
| 5. | Y | N | N |
| 6. | Y | N | Y |
| 7. | Y | Y | N |
| 8. | Y | Y | Y |
Combination 1 does not enable any special processing, and requires the Gypsy remain on the SCSI bus until all plotter handshaking has been completed. This is not very effecient use of the SCSI bus, and is not a suggested operating mode. If the command is FORMAT and the FORMAT timeout expires, or if the command is PLOT and the PLOT timeout expires, the Gypsy will immediately report a CHECK CONDITION status and a COMMAND COMPLETE message to the initiator, and relinquish control of the SCSI bus.
Combination 2 enables automatic RLTER operation only. The PLOT timer is restarted for each 'automatic RLTER line length' bytes sent to the plotter, and will be true for the other even numbered combinations. Because the time required to send a single line of data to the plotter should be much less than a second (the resolution of the timer) the fact that the timer gets restarted for each line is not very significant. Aside from the PLOT timer being restarted for each line, this operation will be the same as in combination 1. The FORMAT timer operation will be the same as in combination 1.
Combinations 3 and 4 allow disconnection, so the Gypsy will most likely be disconnected from the SCSI bus when the timeout occurs. The Gypsy will reselect the initiator and return a CHECK CONDITION status for the command associated with the 'timeout data'.
Combinations 5 through 8 are in buffered mode of operation, and should always return GOOD status after handshaking the data from the initiator. If the timeout is exceeded, it will not be reported on the command which transferred the data, but on the next command issued after the timeout. The REQUEST SENSE data will show the timeout as a deferred error.