SPI Programming Manual (G06.24+, H06.03+, J06.03+)

SPI Programming Examples
SPI Programming Manual427506-006
E-28
Example E-9: A Simple SPI Requester in TAL
Example E-9. TAL File: A Simple SPI Requester (page 1 of 8)
-- File name: SETREQR
-- SPI EXAMPLE TAL Basic Requester model.
--
?SYMBOLS, INSPECT
LITERAL
max^bufsize = 560, ! in bytes
version = %H4414; ! Set to the value: "D20"
?SOURCE SETCDECS
?SOURCE SETRDECS
INT
buflen,
debug^flag, ! Flag to startup server in INSPECT
dest^idx, ! Destination index for SSMOVETKN
display^spi^buffer := false,
file^error,
file^num,
open^flags,
process^id [0:11] := " ",
process^name [0:3] := "$SPIX ", ! Server's process
name.
read^count,
server^name [0:11] := "$NONE NONE SETSERVO", ! Server's object
server^up,
source^idx, ! Source index for SSMOVETKN
spi^command := 0,
srvr^file^num,
srvr^retry^count := 0,
tkn^count,
tkn^retcode;
INT(32)
time^to^wait := 1000D; ! In centi-seconds = 10 seconds
DEFINE sav^buffer = b2#; ! Saved command buffer (same as b2)
?NOLIST, SOURCE $SYSTEM.SYSTEM.EXTDECS0 (AWAITIOX, CANCEL, CLOSE,
? DEBUG, DNUMOUT, FILEINFO, FNAMECOLLAPSE,
? MYTERM, NEWPROCESS, NUMIN, NUMOUT,
? OPEN, READUPDATEX, REPLYX,
? SPI_BUFFER_FORMATFINISH_, SPI_BUFFER_FORMATNEXT_,
? SPI_BUFFER_FORMATSTART_,
? SSGET, SSGETTKN, SSINIT, SSMOVETKN, SSPUT, SSPUTTKN,
? STOP, WRITEREADX, WRITEX)
?LIST
?PAGE "FORWARD DECLARATIONS"
PROC open^server;
FORWARD;
?SOURCE SETCUTIL
?SOURCE SETRUTIL
?PAGE "get^string"
!==========================================================================!
! Proc : get^string !
! Function : This procedure will prompt the home term for the function !
! and the string data on which to perform the !
! function. !
!==========================================================================!