GSE Scale Systems - 291
Chapter 33 (OIML) Technical Reference Manual
While there are numerous ways of accomplishing various
tasks on the 550 (including the one at hand) below is one
possible method.
Note: This example requires the use of M550
firmware dated Dec, 1993 or later (per
P60102). The Block Proof character used in
he Epson BT-90 interface is known as
"LRCC-8".
This implementation uses Macro 0, 1, 2, 3 , Custom
Transmit 1, and Reg 91.
Macro 1 is named Print Block so that it can be started
from the ID menu.
Macro 0 which is invoked by setpoint 1 upon indicator
power-up or after exiting setup mode clears Reg 91.
<91> is used to keep track of the state of the interface.
Step 1: When macro 1 is executed, it checks Reg 91 to
determine if a print is in progress. If no print is
in progress, <ENQ> is sent out the COM port
to indicate the beginning of a transmission and
Reg 91 is incremented to 1 to prevent other
transmissions. If a print is in progress, the
message "Can't Send" is displayed if macro 1 is
invoked.
Step 2: The input interpreter #1 is set to execute macro
2 when a <ACK>is received. Macro 2 checks
if Reg 91 is 1. If it is, custom transmit 1 is sent
and Reg 91 is set to 2.
Step 3: After the transmission is sent, the printer will
respond with either an <ACK> or a <NAK>. If
<ACK> is received at this point (reg 91 not =1)
then macro 2 changes Reg 91 back to 0. This
means another transmission could be initiated.
If <AK> is received, the input interpreter #2 will cause
macro 3 to run. This macro will send an <ACK> to the
printer and set Reg 91 to 1. Then step 2 is repeated.
Custom transmit 1 describes the format of a custom
transmit usings CRCs. The file, (LRCC8.SET) contains
this implementation.
100%s23640%i%e Access Setup Modes,
Allowing Changes
65010%s1%e%e P65010. dbase Reset
101%s2%e P101.02 Scl 1 Enbld
800%s%c%e P800.06 Macro # 0
0;91%%C%e 0001 copy register
801%s%c%e P801.36 Macro # 1
PrintBlock
91=%%'%e 0001 compare
1%%"%e 0005 select port
2%%)%e 0007 flush keys
1;91%%C%e 0009 copy register
5%%&%e 0014 send code
%%N%e 0016 if not
Can'tSend!%%P%e 0017 pause
%%E%e 0028 end if
802%s%c%e P802.25 Macro # 2
91=1%%'%e 0001 compare
2;91%%C%e 0006 copy register
1%%Q%e 0011 custom transmit
%%N%e 0013 if not
0;91%%C%e 0014 copy register
%%E%e 0019 end if
803%s%c%e P803.18 Macro # 3
91=2%%'%e 0001 compare
1%%"%e 0006 select port
1;91%%C%e 0008 copy register
6%%&%e 0013 send code
851%sPrintBlock%e P851.-- Mac 1 PrintBlock
900%s1%e P900.01 RxInp Enbld
901%s0%e P901.00 RxTrm <NUL>
902%s1%e P902.01 RxPas Enbld
910%s1%e P910.01 RxTyp Char
911%s%c%e P911.01 RxFmt
.006%e <ACK>^F=06
912%s2%e P912.02 RxMac 2
920%s1%e P920.01 RxTyp Char
921%s%c%e P921.01 RxFmt
.021%e <NAK>^U=21
922%s3%e P922.03 RxMac 3
1000%s%c1000%e P1000. Custom Transmit #1
.002%e <STX>
.306%e Check LRCC8
%e0%e%e0%e%e Gross Format = 0
.256%e <CR> <LF>
.003%e <ETX>
SECTION - 33.5