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

SPI Programming Examples
SPI Programming Manual427506-006
E-6
Example E-1: Basic Buffer Manipulations in TAL
!
! Reset the SPI buffer "b1"
!
IF (err := ssputtkn (b1, zspi^tkn^reset^buffer, bufsize)) THEN
CALL display^spi^error (err, zspi^val^ssputtkn,
zspi^tkn^reset^buffer, true);
sline ':=' "After RESET BUFFER: " -> @sp;
CALL writex (term, sline, @sp '-' @sline);
CALL dump^buf (b1);
!
! Get the tokens in the SPI buffer "b1"
!
IF (err := ssgettkn (b1, tkn^1, val, 1)) THEN
CALL display^spi^error (err, zspi^val^ssgettkn, tkn^1, true);
sline ':=' "After GETTKN TKN^1: " -> @sp;
CALL writex (term, sline, @sp '-' @sline);
CALL dump^buf (b1);
IF (err := ssgettkn (b1, zspi^tkn^nexttoken, tkn^code,,, ssid)) THEN
CALL display^spi^error (err, zspi^val^ssgettkn,
zspi^tkn^nexttoken, true);
sline ':=' "After GETTKN NEXTTOKEN: " -> @sp;
CALL writex (term, sline, @sp '-' @sline);
CALL dump^buf (b1);
IF (err := ssgettkn (b1, tkn^2, val, 1)) THEN
CALL display^spi^error (err, zspi^val^ssgettkn, tkn^2, true);
sline ':=' "After GETTKN TKN^2: " -> @sp;
CALL writex (term, sline, @sp '-' @sline);
CALL dump^buf (b1);
IF (err := ssgettkn (b1, tkn^3, val, 2)) THEN
CALL display^spi^error (err, zspi^val^ssgettkn, tkn^3, true);
sline ':=' "After GETTKN second TKN^3: " -> @sp;
CALL writex (term, sline, @sp '-' @sline);
CALL dump^buf (b1);
sline ':=' "Program finished." -> @sp;
CALL writex (term, sline, @sp '-' @sline);
CALL stop;
END;
Example E-1. TAL File: Basic Buffer Manipulations (page2of2)