Chapter 6
Reporting KTx Scanner Status
6-7
Program CRC Failure
The scanner binary runs in program RAM, not EPROM. Because RAM
can be overwritten, the scanner verifies the integrity of the program binary
by performing a CRC-16 test. If for some reason the scanner binary
becomes corrupted, the scanner writes the failure code in
module_state
in
the dual port, interrupts the host, and halts.
Dualport RAM Failure
The integrity of data in dual-port RAM is protected by parity error
detection in the dual-port hardware. When a parity error is detected in
dual-port memory, the scanner interrupts the host and halts.
Program RAM Failure
The scanner verifies the integrity of RAM used for its internal variable
storage by testing a portion of RAM after transmission of each remote I/O
packet. When a program RAM failure is detected, the scanner writes the
failure code to
module_state
, interrupts the host, and halts.
Duplicate Node Failure
Exactly one scanner is required to operate a remote I/O link. If the KTx
scanner detects the presence of another scanner on the link, it writes TRUE
(0x01) in
duplicate_node
in the dual port, interrupts the host, and halts.
Confirmation Queue Overflow
The scanner maintains a queue of confirmations to host commands. The
queue is emptied as the host processes and acknowledges confirmations.
If the host continues to issue commands to the scanner without processing
the confirmations, the queue will eventually fill up and overflow. When
this happens, the scanner assumes the host application is out of control
(an unrecoverable error). The scanner sets the confirmation_queue_full bit
in the
operating_status
word, interrupts the host, and halts.
Host Dead
The host may enable the scanner’s watchdog timer (see page
host fails to perform its watchdog handshaking with the scanner in a timely
fashion, the scanner declares the host dead. When the host is declared
dead, the scanner sets the host_dead bit in the
operating_status
word in the