HSIGETSTATUS(3H) — Pixar Programmer’s Manual
NAME
HsiGetStatus− obtain status of HSI
HsiErrorString− get ASCII string describing HSI error
SYNOPSIS
#include <hsidefs.h>
int HsiGetStatus(hsi, sp)
HSIDEV ∗hsi;
struct hsi_status ∗sp;
char ∗HsiErrorString(hsi)
HSIDEV ∗hsi;
DESCRIPTION
HsiGetStatus places HSI status information in the caller-supplied structure pointed to by sp. Return to the caller is always immediate. The fields of the hsi_status structure contain information concerning the state of the HSI:
hst_flags
Individual status bits: HSTF_ACTIVE − HSI has not yet completed the requested number of lines HSTF_PPEXTEN − parallel port device is asserting External Enable HSTF_PPEXTRCV − parallel port device wants to receive from the HSI
hst_fifolevel
The current depth (in 64-bit pixels) of the HSI yapbus FIFO. The capacity of the FIFO is 1024 pixels; if it overflows (either via writing to the data window or from input from the parallel port), the current transaction will be aborted with an error.
hst_error
This value represents the success or failure of the most recent HSI operation. Values and their meanings are described under the section HSI ERROR CODES. All values other than HSTE_NOERROR imply that the current HSI operation has been terminated.
HsiErrorString returns a pointer to a static NUL-terminated text string representing the status code that would appear in the hst_error field of the hsi_status structure. This string can be displayed to the user to assist in troubleshooting.
RETURN VALUE
HsiGetStatus returns the value in the hst_error field of the status structure. HsiErrorString always returns a pointer to a NUL-terminated character string.
HSI ERROR CODES
These codes appear in the hst_error field of the hsi_status structure.
HSTE_NOERROR No error has been detected yet. If the HSTF_ACTIVE bit is off, then the current HSI transaction has completed normally; otherwise, it is still in progress.
HSTE_BADPARAM An HSI data transfer function (see man pages HsiMem(3H), HsiSetup(3H), HsiDecomp(3H), and HsiPP(3H)) was called with an invalid parameter (for example, the npxl parameter specified a pixel count that was not a multiple of 16). This indicates an error in the application software that invoked the function. Refer to the manual page for the data transfer function for an explanation of the legal parameter values.
HSTE_FIFOUFLO FIFO underflow (attempt to read from data window when there was no data in the HSI FIFO).
HSTE_FIFOOFLO FIFO overflow (attempt to write into data window or parallel port when the FIFO is full).
HSTE_PPACTIVE This code does not represent an error, but instead indicates that the device connected to the parallel port has asserted PP.EXT.∗EN and the user program had requested notification of this event via HsiSignal. It is appropriate at this point to initiate a parallel port transfer using HsiSendPP or HsiRecvPP.
HSTE_XRETRY The HSI was attempting to transmit to a Chap, but the Chap did not respond with yapbus SSYN. Possible causes for this error are 1) no yapbus receiver program was running on the Chap when the HSI began its transmission, 2) the Chap was programmed to receive with a different yapbus address than the one that the HSI was sending to, and 3) there was a hardware failure in the HSI, Chap, or yapbus. Verify that 1) the Chap is running one of the yapbus receiver routines (e.g., YSCopy) before the HSI transfer is started by the host, 2) the rcvaddr argument to the yapbus receiver routine matches the address to which the HSI is sending, and 3) the number of lines expected by the Chap matches the number of lines sent by the host.
HSTE_ARETRY The HSI was attempting to transmit to a Chap, but the HSI could not arbitrate for the yapbus. Possible causes are 1) a Chap owned the yapbus and would not release it, 2) other yapbus devices were monopolizing the yapbus, and 3) there was a hardware failure in the HSI, Chap, or yapbus. Check the cabling between the HSI and the Chap.
HSTE_ESSYN The HSI was transmiting to a Chap, and the Chap terminated the yapbus protocol unexpectedly. One possible cause of this error is that the HSI pixel count is greater than the pixel count on the Chap.
HSTE_BADPIXCNT The HSI was receiving from a Chap, and the Chap terminated the yapbus protocol prematurely. One possible cause of this error is that the HSI pixel count is greater than the pixel count on the Chap.
HSTE_NODECOMP The requested decompression function cannot be performed because the decompression hardware does not appear to be present. If you have a decompression board installed (it is optional equipment), contact Pixar Field Service.
HSTE_DCFIFOOFLO The FIFO in the decompression board has overflowed (the Chap has not been accepting data from the HSI fast enough to keep up with the data arriving through the data window). This error occurs only when the decompression board is present and operating.
HSTE_DCWRONGDIR This error code represents either a hardware failure or a misprogramming of the HSI for decompression operation. It is indicative of malfunctioning hardware or an error in Pixar software. Contact Pixar Field Service.
HSTE_UNKNOWN The HSI hardware reported an undefined error code. This indicates a hardware problem in the HSI and should be reported to Pixar Field Service.
SEE ALSO
HsiOpen(3H), HsiSignal(3H), HsiWait(3H), hsi(4)
HSI Tutorial
HSI hardware documentation
Release β — Last change: 6/20/89