GDSX Manual
DEVICE^HANDLER Example, Design
Extended General Device Support (GDSX) Manual–134303
5-6
Basic Structure of DEVICE^HANDLER Code
WAITED^IO[X], and WAIT^EVENT need to be considered when an analyst determines
when a task will be suspended.
Basic Structure of DEVICE^HANDLER Code
A DEVICE^HANDLER task starts when TSCODE calls the DEVICE^HANDLER
procedure. After any necessary initialization processing, the task runs in a continuous
loop, reading from the pseudo-$RECEIVE file and sending output to and receiving input
from its device, never doing a RETURN to TSCODE. This structure is shown in
Figure 5-3.
Figure 5-3. DEVICE^HANDLER Program Structure
PROCESS
SET^MD
PROCESS
CTRL
^RD
TERM
^WT^RD
TERM
^WT
TERM
PROCESS REQUEST
DATA
INIT
PROCESSING
WHILE (1)
DO
^READUPDATE
PSEUDO-$RCV
DECODE
REQUEST
PROCESS
REPLY DATA
^REPLY
WT WT^RD RD CTRL SET^MD