| 1 | LAMSP ;SLC/DLG - MICROSCAN PROTOCALL ROUTINE W/O ACK-NAK ;7/20/90  09:49 ; | 
|---|
| 2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;;Sep 27, 1994 | 
|---|
| 3 | A L ^LA(T,"P") I '$D(^LA(T,"P")) S ^("P")="MICROSCAN^IN" | 
|---|
| 4 | S MODE=$P(^LA(T,"P"),"^",2),CTRL=$S($F(IN,"~")=$L(IN):$P(IN,"~",2),1:" ") D @MODE L  Q | 
|---|
| 5 | ; | 
|---|
| 6 | IN ;C= <STX>+<LF>+<CR> or there replaced values. | 
|---|
| 7 | G:CTRL["D" SETOUT S:CTRL["E" OUT=$C(6),$P(^LA(T,"P"),"^",2)="IN" Q | 
|---|
| 8 | OUT Q | 
|---|
| 9 | SETOUT ;Change to output | 
|---|
| 10 | Q:'$D(^LA(T,"O",0))  Q:^LA(T,"O")'>^LA(T,"O",0)  S $P(^LA(T,"P"),"^",2)="OUT" Q | 
|---|
| 11 | ;The MicroScan needs to have the field delimiter set to | (124) | 
|---|
| 12 | ;LF is set to @ (64). Set " to 0. | 
|---|
| 13 | ;Timeout set to a min of 20, Protocall set to ACK/NAK. | 
|---|
| 14 | ;STX = ~B, ETX = ~C, EOT = ~D, ENQ = ~E, ACK = ~F, NAK = ~U | 
|---|