1 DISABLE 2 PRINT "Full JB-077V1.03":SLEEP 2000:ON ERROR GOTO 580 3 COMMON SclDa$,ScrSt$,SPO%,TCM%,LVar$,HMITerm$,IOP%,PIO%,IOF%,IOMAP%,IP# 4 COMMON RxD%,Cfg%,TxD%,WtG!,WtD$,WtS$,WrkGW!,NumScales%,AxlWt!,SerDisp$ 5 COMMON WtUn$,WtGr$,WtNt$,WtInc%,WtS%,MFunc%,OMS$,OMT$,OMR%,OMIP$,browser% 6 COMMON RxDMsg%,TxDMsg%,TxDTrg%,SVC$,SVPtr%,SVStr$,Cheat%,TCDGWt#,JagDisp$,JagSum$ 7 COMMON BeTheScl,Thresh#,SclTyp%,ExcTm%,ExcWt#,EndTm%,TCDM%,TCDZ%,TCDO%,TCDU% 8 COMMON TCDN%,TCDX$,WghRng%,WtMot%,WtNet%,WtUnZ%,WtOvC%,WtCOZ%,WtRng%,LNS 9 COMMON SclState%,SPTRef#,SPTerm%,SPFilt%,LRxDMsg%,TransStat%,JS%,SKT%,ZScl% 10 COMMON SOMmsg$,SOMstr$,SOMsrc$,SOMterm$,SlavDsp$,RemoteNode%,RemNdScl% 11 EVENT key:ON EVENT key GOSUB 495 12 EVENT TIME 13 GOSUB 451:GOSUB 72:GoSub 327 14 ENABLE 15 Msg54%=1:CrLf$=Chr$(13)+Chr$(10):NetErrors%=0 16 IF browser%>0 THEN GOTO 582 17 IF LNS<1 THEN GOTO 20 18 IF BeTheScl=1 THEN GOTO 20 19 GOSUB 28 20 GOSUB 567 21 GOSUB 135 22 GOSUB 58 23 GOSUB 98 24 GOSUB 129 25 GOSUB 174 26 GOSUB 53 27 GOTO 16 28 IF RemNdScl%>0 THEN fw%=RemNdScl%:GOTO 30 29 fw%=1:IF LNS>1 THEN fw%=5 30 ON ERROR GOTO 38 31 WtG!(1)=TCDGWt#(fw%):WtS%(1)=0 32 IF TCDO%(fw%)<>0 THEN WtS%(1)=2:GOTO 36 33 IF TCDU%(fw%)<>0 THEN WtS%(1)=1:GOTO 36 34 IF TCDM%(fw%)<>0 THEN WtS%(1)=3:GOTO 36 35 IF TCDZ%(fw%)<>0 THEN WtS%(1)=4 36 WtMot%(1)=TCDM%(fw%):WtNet%(1)=TCDN%(fw%):WtOvC%(1)=TCDO%(fw%):WtUnZ%(1)=TCDU%(fw%) 37 WtCOZ%(1)=TCDZ%(fw%):WtUn$=TCDX$(fw%):WtRng%(1)=WghRng%(fw%):GoTo 41 38 IF ERR()<>32 THEN GOTO 580 39 NetErrors%=NetErrors%+1:IF NetErrors%>30000 THEN NetErrors%=30000 40 WtMot%(1)=1:GoTo 42 41 NetErrors%=0 42 ON ERROR GOTO 580:RETURN 43 RxDMsg%=0 44 IOF%(S1EnGrn%)=1:IOF%(S1ExGrn%)=1:IOF%(S2EnGrn%)=1:IOF%(S2ExGrn%)=1 45 IOF%(S1EnRed%)=1:IOF%(S1ExRed%)=2:IOF%(S2EnRed%)=1:IOF%(S2ExRed%)=2 46 RETURN 47 RxDMsg%=0 48 IOF%(S1EnGrn%)=0:IOF%(S1ExGrn%)=0:IOF%(S2EnGrn%)=0:IOF%(S2ExGrn%)=0 49 IOF%(S1EnRed%)=0:IOF%(S1ExRed%)=0:IOF%(S2EnRed%)=0:IOF%(S2ExRed%)=0:RETURN 50 IF IOF%(S1EnRed%)<2 THEN GOTO 52 51 IOF%(S1EnRed%)=1:IOF%(S1ExRed%)=2:IOF%(S2EnRed%)=1:IOF%(S2ExRed%)=2:RETURN 52 IOF%(S1EnRed%)=2:IOF%(S1ExRed%)=1:IOF%(S2EnRed%)=2:IOF%(S2ExRed%)=1:RETURN 53 FOR WO%=13 TO 24 54 IF IOF%(WO%)=0 THEN IOP%(WO%)=PIO%(WO%):GOTO 56 55 IF IOF%(WO%)=1 THEN IOP%(WO%)=0 ELSE IOP%(WO%)=1 56 NEXT WO% 57 RETURN 58 IF LNS>0 THEN GoTo 64 59 GSum#=0:MtSum%=0:NtSum%=0:OvSum%=0:UnSum%=0:CZSum%:RgSum%=0 60 IF NumScales%<1 THEN GOTO 65 61 FOR WTSN%=1 TO NumScales% 62 WrkGW!(WTSN%)=WtG!(WTSN%):GSum#=GSum#+WrkGW!(WTSN%):NEXT WTSN% 63 GoTo 65 64 GSum#=WtG!(1):MtSum%=WtMot%(1):NtSum%=WtNet%(1):OvSum%=WtOvC%(1):UnSum%=WtUnZ%(1):CZSum%=WtCOZ%(1):RgSum%=WtRng%(1) 65 RETURN 66 IF WtInc%=0 THEN GOTO 68 67 BeTheScl=1:DHWt$=LTRIM$(SerDisp$):GOTO 70 68 IF LNS>1 THEN DHWt$=LTRIM$(JagSum$):GOTO 70 69 DHWt$=LTRIM$(JagDisp$) 70 DHWt$=PADL$(DHWt$,6," ") 71 RETURN 72 ON ERROR GOTO 78 73 LCDCn%=55:LCDBr%=80 74 OPEN "Settings.LCD" FOR INPUT AS #0 75 INPUT #0,LCDCn$,LCDBr$ 76 LCDCn%=VAL(LCDCn$):LCDBr%=VAL(LCDBr$) 77 CLOSE #0 78 ON ERROR GOTO 580 79 LCDInit$=CHR$(4)+CHR$(20)+CHR$(23)+CHR$(15)+CHR$(LCDCn%)+CHR$(14)+CHR$(LCDBr%) 80 SFLSt$=LCDInit$+CHR$(12)+CHR$(1)+" JB-077, V1.03 MA "+" Full Length Scale " 81 SFLSt$=SFLSt$+"IP: "+IPS$(IP#) 82 SlavDsp$(1)=" JB-077, V1.03 SL ":SlavDsp$(2)=" Full Length Scale " 83 SlavDsp$(3)=" Mettler Toledo ":SlavDsp$(4)=" " 84 GOSUB 85:SLEEP 1000:RETURN 85 IF Cfg%(1)=1 THEN Print #1,SFLSt$; 86 IF Cfg%(2)=1 THEN Print #2,SFLSt$; 87 IF MFunc%<>1 THEN RETURN 88 IF Cfg%(3)=1 THEN Print #3,SFLSt$; 89 IF Cfg%(4)=1 THEN Print #4,SFLSt$; 90 RETURN 91 SlavDsp$(1)=" ":SlavDsp$(2)=" ":SlavDsp$(3)=" ":SlavDsp$(4)=" " 92 IF Cfg%(1)=1 THEN Print #1,CHR$(12); 93 IF Cfg%(2)=1 THEN Print #2,CHR$(12); 94 IF MFunc%<>1 THEN RETURN 95 IF Cfg%(3)=1 THEN Print #3,CHR$(12); 96 IF Cfg%(4)=1 THEN Print #4,CHR$(12); 97 RETURN 98 IF JS%(4)<>0 THEN GOTO 100 99 OGWtSt$=CHR$(17)+CHR$(16)+CHR$(255)+CHR$(3)+SPACE$(20):SlavDsp$(4)=" ":GOTO 116 100 IF NetErrors%<3 THEN GoTo 102 101 OGWtSt$=CHR$(17)+CHR$(16)+CHR$(255)+String$(20," "):SlavDsp$(4)=" ":GoTo 116 102 DHWR$=" ":IF RgSum%=0 THEN GOTO 104 103 Tmp$=Str$(RgSum%):DHWR$="W"+LTRIM$(Tmp$) 104 DHMT$=" ":IF MtSum%>0 then DHMT$=" "+CHR$(206)+" " 105 DHDNG$=WtGr$:IF GSum#=0 THEN GOSUB 66:DHMT$=">0<":GOTO 110 106 IF WtInc%=0 THEN GOTO 108 107 DHWt$=LTRIM$(SerDisp$):GOTO 110 108 IF LNS>1 THEN DHWt$=LTRIM$(JagSum$):GOTO 110 109 DHWt$=LTRIM$(JagDisp$) 110 DHWt$=PADL$(DHWt$,6," ") 111 IF OvSum%<>0 THEN DHWt$=STRING$(6,CHR$(222)):GOTO 113 112 IF UnSum%<>0 THEN DHWt$=STRING$(6,CHR$(224)) 113 OGWtSt$=CHR$(17)+CHR$(16)+CHR$(255)+CHR$(3)+DHDNG$+": "+DHWt$+" "+WtUn$ 114 OGWtSt$=OGWtSt$+" "+DHMT$+" "+DHWR$:OGWtSt$=PADR$(OGWtSt$,19," ") 115 SlavDsp$(4)=DHDNG$+": "+DHWt$+" "+WtUn$+" "+DHMT$+" "+DHWR$:SlavDsp$(4)=PADR$(SlavDsp$(4),19," ") 116 IF PhoCell%=25 THEN GOTO 120 117 IF IOP%(PhoCell%)<>1 THEN GOTO 120 118 OGWtSt$=CHR$(17)+CHR$(16)+CHR$(255)+CHR$(3)+"PHOTOEYE BLOCKED !" 119 SlavDsp$(4)="PHOTOEYE BLOCKED !!" 120 IF TrnMd%=0 AND TrnSt%=8 THEN GOTO 123 121 IF TrnMd%=1 AND TrnSt%=10 THEN GOTO 123 122 GOTO 125 123 OGWtSt$=CHR$(17)+CHR$(16)+CHR$(255)+CHR$(3)+"Exit Now! "+DHWt$+" "+WtUn$ 124 SlavDsp$(4)="Exit Now! "+DHWt$+" "+WtUn$ 125 IF TrnSt%=4 AND TrnMd%=0 THEN OGWtSt$=OGWtSt$+"*":SlavDsp$(4)=SlavDsp$(4)+"*":GOTO 128 126 IF TrnSt%=8 AND TrnMd%=1 THEN OGWtSt$=OGWtSt$+"*":SlavDsp$(4)=SlavDsp$(4)+"*":GOTO 128 127 OGWtSt$=OGWtSt$+"X":SlavDsp$(4)=SlavDsp$(4)+"X" 128 SFLSt$=OGWtSt$:Gosub 85:RETURN 129 IF VAL(SOMmsg$)=0 THEN RETURN 130 DISABLE 131 QORDS$=SOMstr$:QORDR%=VAL(SOMsrc$):QORDT$=SOMterm$:QORDIP$="":GOSUB 312 132 ENABLE 133 SOMmsg$="0":RETURN 134 LVar$(17)="":KPStr$="":KPPtr%=1:KPPtrMem%=1:HMITerm$="":RETURN 135 IF TxDMsg%=0 THEN GOTO 138 136 IF TxDTrg%<>1 THEN TxDTrg%=1 137 RETURN 138 IF TMSTC%>0 THEN TxDMsg%=TMSTC%:TransStat%=TMSTC%:TxDTrg%=1:TMSTC%=0:RETURN 139 IF NumOM%=0 THEN GOTO 141 140 GOSUB 143:RETURN 141 IF Msg54%<>0 THEN TxDMsg%=54:TxDTrg%=1:Msg54%=0 142 RETURN 143 DISABLE 144 LVar$(24)=OMS$(NxtOtOM%):TxD%(1)=OMR%(NxtOtOM%):TxD%(2)=ASC(OMT$(NxtOtOM%)):LVar$(23)=OMIP$(NxtOtOM%) 145 NumOM%=NumOM%-1:IF NumOM%<1 THEN GOSUB 327:GOTO 147 146 NxtOtOM%=NxtOtOM%+1:IF NxtOtOM%>5 THEN NxtOtOM%=1 147 ENABLE 148 TxDMsg%=51:TxDTrg%=1:RETURN 149 TrnSt%=0:TransStat%=0:IF TrnMd%=1 THEN GOTO 152 150 PIO%(EntGrn%)=1:PIO%(EntRed%)=0:PIO%(ExtGrn%)=1:PIO%(ExtRed%)=0 151 PIO%(EntBar%)=0:PIO%(ExtBar%)=1:GOTO 155 152 PIO%(S1EnGrn%)=0:PIO%(S1EnRed%)=1:PIO%(S1ExGrn%)=0:PIO%(S1ExRed%)=1 153 PIO%(S2EnGrn%)=0:PIO%(S2EnRed%)=1:PIO%(S2ExGrn%)=0:PIO%(S2ExRed%)=1 154 PIO%(EntBar%)=1:PIO%(ExtBar%)=1 155 PRINT "Ready":RETURN 156 IF TrnMd%=1 THEN GOTO 158 157 IF TCWt#>Thresh# THEN RETURN ELSE GOTO 159 158 IF IOP%(Loop1%)<>0 OR IOP%(Loop2%)<>0 OR TCWt#>Thresh# THEN RETURN 159 GOSUB 149 160 FOR CG%=1 TO 20:TCM%(CG%)=0:NEXT CG% 161 RETURN 162 FOR STR%=1 TO 20:TCM%(STR%)=0:NEXT STR% 163 RETURN 164 TMSTC%=108:Print "Reset Sequence":GOSUB 149:GoSub 327:RETURN 165 ON ERROR GOTO 172 166 ZSNum%=1:IF RemNdScl%>0 THEN ZSNum%=RemNdScl%:GOTO 168 167 IF LNS>1 THEN ZSNum%=5 168 IF TCDZ%(ZSNum%)=1 THEN AtZero%=1:GoTo 173 169 IF TCWt#(0.0-ExcWt#) THEN AtZero%=1:GoTo 173 170 IF ZScl%(ZSNum%)=0 THEN ZScl%(ZSNum%)=1 171 GOTO 173 172 IF ERR()<>32 THEN GOTO 580 173 ON ERROR GOTO 580:RETURN 174 TCWt#=GSum#:IF TrnMd%=1 THEN GOTO 220 175 IF TrnSt%=0 THEN GOTO 185 176 IF TrnSt%=1 THEN GOTO 188 177 IF TrnSt%=2 THEN GOTO 194 178 IF TrnSt%=3 THEN GOTO 197 179 IF TrnSt%=4 THEN GOTO 198 180 IF TrnSt%=5 THEN GOTO 203 181 IF TrnSt%=6 THEN GOTO 208 182 IF TrnSt%=7 THEN GOTO 212 183 IF TrnSt%=8 THEN GOTO 216 184 GOSUB 149:RETURN 185 IF TCWt#1 THEN RETURN 191 IF ExtBLS%=25 THEN GOTO 193 192 IF IOP%(ExtBLS%)<>1 THEN RETURN 193 TrnSt%=2:RETURN 194 IF TCWt#0 THEN Print "Motion":RETURN 196 Print "OK TO Weigh":TMSTC%=104:TrnSt%=3:RETURN 197 TrnSt%=4 198 IF TCWt#1 THEN RETURN 200 GOSUB 327 201 TCM%(7)=0:Print "Transac Complete" 202 PIO%(ExtGrn%)=1:PIO%(ExtRed%)=0:PIO%(ExtBar%)=0:TrnSt%=5:RETURN 203 IF TCWt#>Thresh# THEN RETURN 204 PIO%(ExtGrn%)=0:PIO%(ExtRed%)=1:PIO%(ExtBar%)=1:PRINT "Truck is Gone" 205 GOSUB 327 206 TCZC%=20:IF LNS>0 THEN TrnSt%=6:AtZero%=0:GoSub 165:RETURN 207 TMSTC%=101:TrnSt%=7:RETURN 208 GoSub 165:IF AtZero%=1 THEN GoSub 149:RETURN 209 Print "Zeroing Scale":TCZC%=TCZC%-1 210 IF TCZC%<1 THEN Print "Scale Zero Error":TrnSt%=8:GOSUB 44 211 RETURN 212 IF TCWt#=0 OR TCM%(2)<>0 THEN TCM%(2)=0:Print "Scale at Zero":GoSub 149:RETURN 213 IF TCM%(3)=1 THEN TCM%(3)=0:PRINT "Scale Zero Error":TrnSt%=8:GOSUB 44:RETURN 214 TCZC%=TCZC%-1:IF TCZC%<1 THEN Print "Scale Zero Error":TrnSt%=8:GOSUB 44 215 RETURN 216 GOSUB 50 217 IF TCWt#=0 THEN GOSUB 48:GoSub 149:RETURN 218 IF TCM%(2)<>0 THEN TCM%(2)=0:GOSUB 48:GOSUB 149 219 RETURN 220 IF TrnSt%=0 THEN GOTO 233 221 IF TrnSt%=1 THEN GOTO 248 222 IF TrnSt%=2 THEN GOTO 252 223 IF TrnSt%=3 THEN GOTO 259 224 IF TrnSt%=4 THEN GOTO 263 225 IF TrnSt%=5 THEN GOTO 268 226 IF TrnSt%=6 THEN GOTO 276 227 IF TrnSt%=7 THEN GOTO 279 228 IF TrnSt%=8 THEN GOTO 280 229 IF TrnSt%=9 THEN GOTO 285 230 IF TrnSt%=95 THEN GOTO 288 231 IF TrnSt%=10 THEN GOTO 291 232 GOSUB 149:RETURN 233 IF IOP%(Loop1%)=1 THEN GOTO 236 234 IF IOP%(Loop2%)=1 THEN GOTO 240 235 GOSUB 149:RETURN 236 EntGrn%=S1EnGrn%:EntRed%=S1EnRed%:ExtGrn%=S1ExGrn%:ExtRed%=S1ExRed% 237 BSNGrn%=S2EnGrn%:BSNRed%=S2EnRed%:BSXGrn%=S2ExGrn%:BSXRed%=S2ExRed% 238 EntBar%=Bar1%:ExtBar%=Bar2%:EntLoop%=Loop1%:ExtLoop%=Loop2% 239 EntBLS%=BLS1%:ExtBLS%=BLS2%:GOTO 244 240 EntGrn%=S2EnGrn%:EntRed%=S2EnRed%:ExtGrn%=S2ExGrn%:ExtRed%=S2ExRed% 241 BSNGrn%=S1EnGrn%:BSNRed%=S1EnRed%:BSXGrn%=S1ExGrn%:BSXRed%=S1ExRed% 242 EntBar%=Bar2%:ExtBar%=Bar1%:EntLoop%=Loop2%:ExtLoop%=Loop1% 243 EntBLS%=BLS2%:ExtBLS%=BLS1% 244 GOSUB 162:PIO%(BSNGrn%)=0:PIO%(BSNRed%)=1:PIO%(BSXGrn%)=0:PIO%(BSXRed%)=1 245 TCZC%=25:IF LNS<1 THEN GOTO 247 246 Print "Zeroing Scale":TrnSt%=1:AtZero%=0:GoSub 165:RETURN 247 PRINT "Zero Scale":TMSTC%=101:TrnSt%=2:RETURN 248 GOSUB 156:IF TrnSt%=0 THEN RETURN 249 GoSub 165:IF AtZero%=1 THEN Print "Scale Zeroed":GOTO 257 250 TCZC%=TCZC%-1:IF TCZC%<1 THEN Print "Scale Zero Err#1":TrnSt%=10:GOSUB 44 251 RETURN 252 IF TCM%(3)=1 THEN TCM%(3)=0:PRINT "Scale Zero Err#2":TrnSt%=10:GOSUB 44:RETURN 253 TCZC%=TCZC%-1:IF TCZC%<1 THEN Print "Scale Zero Err#3":TrnSt%=10:GOSUB 44 254 GOSUB 156:IF TrnSt%=0 THEN RETURN 255 IF TCM%(2)<>0 OR TCWt#=0 THEN GOTO 257 256 RETURN 257 TCM%(2)=0:PIO%(EntGrn%)=1:PIO%(EntRed%)=0:PIO%(ExtGrn%)=1:PIO%(ExtRed%)=0 258 PIO%(EntBar%)=0:Print "Scale at Zero":TrnSt%=3:EndTmRef#=Timer():RETURN 259 IF TCWt#>Thresh# THEN Goto 262 260 IF (Timer()-EndTmRef#)>EndTm% THEN GOSUB 156 261 RETURN 262 PIO%(EntGrn%)=0:PIO%(EntRed%)=1:Print "Trk Entering Scl":TrnSt%=4:RETURN 263 IF IOP%(EntLoop%)=1 THEN RETURN 264 IF PhoCell%=25 THEN GOTO 266 265 IF IOP%(PhoCell%)=1 THEN RETURN 266 IF TCWt#1 THEN Print "Ent Barrier Up":RETURN 271 PIO%(EntBar%)=0:PIO%(ExtBar%)=0 272 TMSTC%=108:Print "0 or Loop Error!":TrnSt%=10:GOSUB 44:RETURN 273 IF ExtBLS%=25 THEN GOTO 275 274 IF IOP%(ExtBLS%)<>1 THEN Print "Ext Barrier Up":RETURN 275 Print "Barriers Closed":TrnSt%=6:RETURN 276 IF TCWt#0 THEN Print "Motion":RETURN 278 Print "Ok to Weigh":TMSTC%=104:TrnSt%=7:RETURN 279 TrnSt%=8 280 IF TCWt#1 THEN RETURN 283 TCM%(7)=0:Print "Transac Complete" 284 PIO%(ExtGrn%)=1:PIO%(ExtRed%)=0:PIO%(ExtBar%)=0:TrnSt%=9:RETURN 285 IF TCWt#>Thresh# THEN RETURN 286 PIO%(ExtGrn%)=0:PIO%(ExtRed%)=1:PIO%(ExtBar%)=1 287 EndTmRef#=Timer():TrnSt%=95:RETURN 288 IF (Timer()-EndTmRef#)Thresh# THEN RETURN 294 GOSUB 165 295 IF AtZero%=1 THEN GOSUB 48:GOSUB 149 296 RETURN 297 TM%=RxDMsg%-100:IF TM%<>8 THEN GOTO 302 298 FOR TML%=1 TO 20: TCM%(TML%)=0: NEXT TML% 299 GOSUB 48:TransStat%=0:GoSub 327 300 PIO%(ExtGrn%)=1:PIO%(ExtRed%)=0:PIO%(ExtBar%)=0 301 IF TrnMd%=1 THEN TrnSt%=9 Else TrnMd%=5 302 RxDMsg%=0:IF TM%>0 AND TM%<=20 THEN TCM%(TM%)=1 303 RETURN 304 SlavDsp$(3)=" ":IF OpGuide%=0 THEN RETURN 305 SFLST$=CHR$(17)+CHR$(16)+CHR$(255)+CHR$(2)+SPACE$(20) 306 GOSUB 85:RETURN 307 ScrSt$="0":RxDMsg%=0 308 SlavDsp$(1)=" ":SlavDsp$(2)=" ":SlavDsp$(3)=" ":IF OpGuide%=0 THEN GoTo 311 309 SFLST$=CHR$(1)+SPACE$(60) 310 GOSUB 85 311 RETURN 312 IF TrnSt%=5 THEN GOTO 326 313 IF TrnSt%=9 THEN GOTO 326 314 IF PhoCell%=25 THEN GOTO 318 315 IF IOP%(PhoCell%)=1 THEN GOTO 326 316 IF TrnMd%=0 AND TrnSt%=8 THEN GOTO 326 317 IF TrnMd%=1 AND TrnSt%=10 THEN GOTO 326 318 IF TxDMsg%<>0 THEN GoTo 322 319 IF NumOM%>0 THEN GoTo 322 320 LVar$(24)=QORDS$:TxD%(1)=QORDR%:TxD%(2)=ASC(QORDT$):LVar$(23)=QORDIP$ 321 TxDMsg%=51:TxDTrg%=1:GoSub 327:GoTo 326 322 OMS$(NxtInOM%)=QORDS$:OMR%(NxtInOM%)=QORDR%:OMT$(NxtInOM%)=QORDT$:OMIP$(NxtInOM%)=QORDIP$ 323 NxtInOM%=NxtInOM%+1:IF NxtInOM%>1 THEN NxtInOM%=1 324 NumOM%=NumOM%+1:IF NumOM%<=1 THEN GoTo 326 325 NumOM%=1:NxtOtOM%=NxtInOM% 326 QORDS$="":QORDR%=0:QORDT$="":QORDIP$="":Return 327 DISABLE 328 QORDS$="":QORDR%=0:QORDT$="":QORDIP$="":NumOM%=0:NxtInOM%=1:NxtOtOM%=1:RxDMsg%=0 329 For FLB%=1 TO 1 330 OMS$(FLB%)="":OMR%(FLB%)=0:OMT$(FLB%)="":OMIP$(FLB%)="" 331 Next FLB% 332 ENABLE 333 RETURN 334 LVar$(18)=LVar$(1):LVar$(19)="":LVar$(20)="" 335 IF RxD%(1)<41 THEN GOTO 337 ELSE LVar$(19)=LVar$(2) 336 IF RxD%(1)<81 THEN GOTO 337 ELSE LVar$(20)=LVar$(3) 337 SFLSt$=CHR$(1)+SPACE$(60)+CHR$(1)+LVar$(18)+LEFT$(LVar$(19),20) 338 SlavDsp$(1)=LEFT$(LVar$(18),20) 339 IF (LEN(LVar$(18)) < 21) THEN SlavDsp$(2)=" ":SlavDsp$(3)=" ":GOTO 343 340 SlavDsp$(2)=MID$(LVar$(18),21,20) 341 IF (LEN(LVar$(19)) = 0) THEN SlavDsp$(3)=" ":GOTO 343 342 SlavDsp$(3)=LEFT$(LVar$(19),20) 343 IF OpGuide%=0 THEN GOTO 345 344 GOSUB 85 345 ScrSt$="2":RxDMsg%=0:RETURN 346 IF SPO%(2)=0 THEN GOTO 349 347 IF SPO%(2)=2 THEN DELEVENT #2 348 CLOSE #2:SPO%(2)=0 349 IF MFunc%<>1 THEN RETURN 350 IF SPO%(3)=0 THEN GOTO 353 351 IF SPO%(3)=2 THEN DELEVENT #3 352 CLOSE #3:SPO%(3)=0 353 IF SPO%(4)=0 THEN RETURN 354 IF SPO%(4)=2 THEN DELEVENT #4 355 CLOSE #4:SPO%(4)=0:RETURN 356 ON ERROR GOTO 371 357 IF Cfg%(1)=0 OR SPO%(1)>0 THEN GOTO 372 358 IF Cfg%(1)=1 THEN OpGuide%=1 359 IF Cfg%(1)>39 THEN GOTO 362 360 OPEN "com1: xpr null" FOR OUTPUT AS #1 361 SPO%(1)=1:GOTO 372 362 IF SPTerm%(1)=4 THEN OPEN "com1: event len40 trm10" FOR INPUT AS #1:GOTO 367 363 IF SPTerm%(1)=5 THEN OPEN "com1: event len40 trm13" FOR INPUT AS #1:GOTO 367 364 IF SPTerm%(1)=6 THEN OPEN "com1: event len40 trm3" FOR INPUT AS #1:GOTO 367 365 IF SPTerm%(1)=7 THEN OPEN "com1: event len1" FOR INPUT AS #1:GOTO 367 366 GOTO 372 367 FLUSH #1 368 ON EVENT #1 GOSUB 551 369 SPO%(1)=2:S1$="":INPUT #1,S1$ 370 GOTO 372 371 Cfg%(1)=0:SPO%(1)=0 372 ON ERROR GOTO 387 373 IF Cfg%(2)=0 OR SPO%(2)>0 THEN GOTO 388 374 IF Cfg%(2)=1 THEN OpGuide%=1 375 IF Cfg%(2)>39 THEN GOTO 378 376 OPEN "com2: xpr null" FOR OUTPUT AS #2 377 SPO%(2)=1:GOTO 388 378 IF SPTerm%(2)=4 THEN OPEN "com2: event len40 trm10" FOR INPUT AS #2:GOTO 383 379 IF SPTerm%(2)=5 THEN OPEN "com2: event len40 trm13" FOR INPUT AS #2:GOTO 383 380 IF SPTerm%(2)=6 THEN OPEN "com2: event len40 trm3" FOR INPUT AS #2:GOTO 383 381 IF SPTerm%(2)=7 THEN OPEN "com2: event len1" FOR INPUT AS #2:GOTO 383 382 GOTO 388 383 FLUSH #2 384 ON EVENT #2 GOSUB 555 385 SPO%(2)=2:S2$="":INPUT #2,S2$ 386 GOTO 388 387 Cfg%(2)=0:SPO%(2)=0 388 IF MFunc%<>1 THEN GOTO 421 389 ON ERROR GOTO 404 390 IF Cfg%(3)=0 OR SPO%(3)>0 THEN GOTO 405 391 IF Cfg%(3)=1 THEN OpGuide%=1 392 IF Cfg%(3)>39 THEN GOTO 395 393 OPEN "com3: xpr null" FOR OUTPUT AS #3 394 SPO%(3)=1:GOTO 405 395 IF SPTerm%(3)=4 THEN OPEN "com3: event len40 trm10" FOR INPUT AS #3:GOTO 400 396 IF SPTerm%(3)=5 THEN OPEN "com3: event len40 trm13" FOR INPUT AS #3:GOTO 400 397 IF SPTerm%(3)=6 THEN OPEN "com3: event len40 trm3" FOR INPUT AS #3:GOTO 400 398 IF SPTerm%(3)=7 THEN OPEN "com3: event len1" FOR INPUT AS #3:GOTO 400 399 GOTO 405 400 FLUSH #3 401 ON EVENT #3 GOSUB 559 402 SPO%(3)=2:S3$="":INPUT #3,S3$ 403 GOTO 405 404 Cfg%(3)=0:SPO%(3)=0 405 ON ERROR GOTO 420 406 IF Cfg%(4)=0 OR SPO%(4)>0 THEN GOTO 421 407 IF Cfg%(4)=1 THEN OpGuide%=1 408 IF Cfg%(4)>39 THEN GOTO 411 409 OPEN "com4: xpr null" FOR OUTPUT AS #4 410 SPO%(4)=1:GOTO 421 411 IF SPTerm%(4)=4 THEN OPEN "com4: event len40 trm10" FOR INPUT AS #4:GOTO 416 412 IF SPTerm%(4)=5 THEN OPEN "com4: event len40 trm13" FOR INPUT AS #4:GOTO 416 413 IF SPTerm%(4)=6 THEN OPEN "com4: event len40 trm3" FOR INPUT AS #4:GOTO 416 414 IF SPTerm%(4)=7 THEN OPEN "com4: event len1" FOR INPUT AS #4:GOTO 416 415 GOTO 421 416 FLUSH #4 417 ON EVENT #4 GOSUB 563 418 SPO%(4)=2:S4$="":INPUT #4,S4$ 419 GOTO 421 420 Cfg%(4)=0:SPO%(4)=0 421 ON ERROR GOTO 580:RETURN 422 S1EnGrn%=26:S1EnRed%=26:S1ExGrn%=26:S1ExRed%=26:S2EnGrn%=26:S2EnRed%=26 423 S2ExGrn%=26:S2ExRed%=26:Bar1%=26:Bar2%=26:Loop1%=25:Loop2%=25:BLS1%=25:BLS2%=25 424 EntGrn%=26:EntRed%=26:ExtGrn%=26:ExtRed%=26:BSNGrn%=26:BSNRed%=26:BSXGrn%=26:BSXRed%=26 425 EntBar%=26:ExtBar%=26:EntLoop%=25:ExtLoop%=25:EntBLS%=25:ExtBLS%=25 426 PhoCell%=25:Illumin%=26:StrtWghPB%=26:TrnMd%=0 427 FOR SP%=5 TO 16 428 IF Cfg%(SP%)=0 THEN GOTO 435 429 IF Cfg%(SP%)=51 THEN EntLoop%=SP%-4:Loop1%=EntLoop%:TrnMd%=1 430 IF Cfg%(SP%)=52 THEN ExtLoop%=SP%-4:Loop2%=ExtLoop%:TrnMd%=1 431 IF Cfg%(SP%)=53 THEN EntBLS%=SP%-4:BLS1%=EntBLS% 432 IF Cfg%(SP%)=54 THEN ExtBLS%=SP%-4:BLS2%=ExtBLS% 433 IF Cfg%(SP%)=55 THEN PhoCell%=SP%-4 434 IF Cfg%(SP%)=56 THEN StrtWghPB%=SP%-4 435 NEXT SP% 436 FOR SP%=17 TO 28 437 IF Cfg%(SP%)=0 THEN GOTO 449 438 IF Cfg%(SP%)=1 THEN EntGrn%=SP%-4:IOMAP%(1)=EntGrn%:S1EnGrn%=EntGrn% 439 IF Cfg%(SP%)=2 THEN EntRed%=SP%-4:IOMAP%(2)=EntRed%:S1EnRed%=EntRed% 440 IF Cfg%(SP%)=3 THEN ExtGrn%=SP%-4:IOMAP%(3)=ExtGrn%:S1ExGrn%=ExtGrn% 441 IF Cfg%(SP%)=4 THEN ExtRed%=SP%-4:IOMAP%(4)=ExtRed%:S1ExRed%=ExtRed% 442 IF Cfg%(SP%)=5 THEN EntBar%=SP%-4:IOMAP%(5)=EntBar%:Bar1%=EntBar% 443 IF Cfg%(SP%)=6 THEN ExtBar%=SP%-4:IOMAP%(6)=ExtBar%:Bar2%=ExtBar% 444 IF Cfg%(SP%)=7 THEN Illumin%=SP%-4:IOMAP%(7)=Illumin% 445 IF Cfg%(SP%)=8 THEN BSNGrn%=SP%-4:IOMAP%(8)=BSNGrn%:S2EnGrn%=BSNGrn% 446 IF Cfg%(SP%)=9 THEN BSNRed%=SP%-4:IOMAP%(9)=BSNRed%:S2EnRed%=BSNRed% 447 IF Cfg%(SP%)=10 THEN BSXGrn%=SP%-4:IOMAP%(10)=BSXGrn%:S2ExGrn%=BSXGrn% 448 IF Cfg%(SP%)=11 THEN BSXRed%=SP%-4:IOMAP%(11)=BSXRed%:S2ExRed%=BSXRed% 449 NEXT SP% 450 RETURN 451 GOSUB 346:GOSUB 356:GOSUB 422 452 Thresh#=Cfg%(29)/10.0 453 SclTyp%=Cfg%(30):ExcTm%=Cfg%(31):ExcWt#=Cfg%(32)/10.0:EndTm%=Cfg%(33):RETURN 454 ON ERROR GOTO 461 455 OPEN "Setup" FOR OUTPUT AS #0 456 FOR UC%=1 TO 33 457 Cfg%(UC%)=RxD%(UC%) 458 WRITE #0,STR$(RxD%(UC%)) 459 NEXT UC% 460 CLOSE #0 461 RxDMsg%=0:PRINT "Re-Booting . . .":SLEEP 2000:RESETJAG 462 LVar$(18)=LVar$(1):LVar$(19)="":LVar$(20)="" 463 IF RxD%(1)<41 THEN GOTO 465 ELSE LVar$(19)=LVar$(2) 464 IF RxD%(1)<81 THEN GOTO 465 ELSE LVar$(20)=LVar$(3) 465 SFLSt$=CHR$(1)+SPACE$(60)+CHR$(1)+LVar$(18)+LEFT$(LVar$(19),20) 466 SlavDsp$(1)=LEFT$(LVar$(18),20) 467 IF (LEN(LVar$(18)) < 21) THEN SlavDsp$(2)=" ":SlavDsp$(3)=" ":GOTO 471 468 SlavDsp$(2)=MID$(LVar$(18),21,20) 469 IF (LEN(LVar$(19)) = 0) THEN SlavDsp$(3)=" ":GOTO 471 470 SlavDsp$(3)=LEFT$(LVar$(19),20) 471 IF OpGuide%=0 THEN GOTO 473 472 GOSUB 85 473 ScrSt$="3":RxDMsg%=0:RETURN 474 LVar$(18)=LVar$(1):LVar$(19)="":LVar$(20)="" 475 SFLSt$=CHR$(1)+SPACE$(60)+CHR$(1)+LVar$(18); 476 SlavDsp$(3)=" ":SlavDsp$(1)=LEFT$(LVar$(18),20) 477 IF (LEN(LVar$(18)) < 21) THEN SlavDsp$(2)=" ":GOTO 479 478 SlavDsp$(2)=MID$(LVar$(18),21,20) 479 IF OpGuide%=0 THEN GOTO 481 480 GOSUB 85 481 ScrSt$="3":RxDMsg%=0:RETURN 482 STOPTIME 483 FOR CF%=1 TO 26 484 IOF%(CF%)=0 485 NEXT CF% 486 RxDMsg%=0:RETURN 487 FOR FI%=1 TO 11 488 IF RxD%(FI%)<0 OR RxD%(FI%)>2 THEN GOTO 491 489 IF IOMAP%(FI%)<13 OR IOMAP%(FI%)>24 THEN GOTO 491 490 FIOTmp%=IOMAP%(FI%):IOF%(FIOTmp%)=RxD%(FI%) 491 NEXT FI% 492 RxDMsg%=0:RETURN 493 SKPtr%=ASC(SVC$(SVI%)):IF SKPtr%<0 THEN SKPtr%=SKPtr%+256 494 KPKey$=CHR$(SKT%(SKPtr%)):GOTO 496 495 KPKey$=INKEY$ 496 IF KPKey$="" THEN RETURN 497 IF TrnSt%=5 THEN GOTO 523 498 IF TrnSt%=9 THEN GOTO 523 499 IF PhoCell%=25 THEN GOTO 503 500 IF IOP%(PhoCell%)=1 THEN GOTO 523 501 IF TrnMd%=0 AND TrnSt%=8 THEN GOTO 523 502 IF TrnMd%=1 AND TrnSt%=10 THEN GOTO 523 503 IF ASC(KPKey$)<>6 THEN GOTO 506 504 KPPtr%=KPPtr%-1:IF KPPtr%<1 THEN KPPtr%=1:KPStr$="":GOTO 509 505 KPStr$=LEFT$(KPStr$,LEN(KPStr$)-1):GOTO 509 506 IF KPKey$=41 THEN KPT$="":GOTO 520 509 IF ScrSt$<>"3" THEN GOTO 495 510 KPPtrMem%=KPPtr%:KPOGStr$=CHR$(17)+CHR$(16)+CHR$(255)+CHR$(2)+KPStr$ 511 SFLSt$=PADR$(KPOGStr$,24," ") 512 SlavDsp$(3)=KPStr$ 513 IF OpGuide%=0 THEN GOTO 495 514 IF Cfg%(1)=1 THEN Print #1,SFLSt$; 515 IF Cfg%(2)=1 THEN Print #2,SFLSt$; 516 IF MFunc%<>1 THEN RETURN 517 IF Cfg%(3)=1 THEN Print #3,SFLSt$; 518 IF Cfg%(4)=1 THEN Print #4,SFLSt$; 519 GOTO 495 520 DISABLE 521 QORDS$=KPStr$:QORDR%=0:QORDT$=KPT$:QORDIP$="":GOSUB 312 522 ENABLE 523 GoSub 134:GoTo 495 524 IF SVC$(SVI%)="" THEN GOTO 550 525 IF SPTerm%(SVI%)=7 THEN GOTO 493 526 IF SPFilt%(SVI%)=1 THEN GOTO 533 527 IF SPFilt%(SVI%)=2 THEN GOTO 535 528 IF SPFilt%(SVI%)=3 THEN GOTO 537 529 IF SPFilt%(SVI%)=4 THEN GOTO 540 530 IF SPFilt%(SVI%)=5 THEN GOTO 543 531 IF SPFilt%(SVI%)=6 THEN GOTO 546 532 SVStr$(SVI%)=SVC$(SVI%):GOTO 548 533 IF LEN(SVC$(SVI%))<2 THEN GOTO 550 534 SVStr$(SVI%)=LEFT$(SVC$(SVI%),LEN(SVC$(SVI%))-1):GOTO 548 535 IF LEN(SVC$(SVI%))<3 THEN GOTO 550 536 SVStr$(SVI%)=LEFT$(SVC$(SVI%),LEN(SVC$(SVI%))-2):GOTO 548 537 IF LEN(SVC$(SVI%))<3 THEN GOTO 550 538 SVC$(SVI%)=RIGHT$(SVC$(SVI%),LEN(SVC$(SVI%))-1) 539 SVStr$(SVI%)=LEFT$(SVC$(SVI%),LEN(SVC$(SVI%))-1):GOTO 548 540 IF LEN(SVC$(SVI%))<4 THEN GOTO 550 541 SVC$(SVI%)=RIGHT$(SVC$(SVI%),LEN(SVC$(SVI%))-1) 542 SVStr$(SVI%)=LEFT$(SVC$(SVI%),LEN(SVC$(SVI%))-2):GOTO 548 543 IF LEN(SVC$(SVI%))<5 THEN GOTO 550 544 SVC$(SVI%)=RIGHT$(SVC$(SVI%),LEN(SVC$(SVI%))-1) 545 SVStr$(SVI%)=LEFT$(SVC$(SVI%),LEN(SVC$(SVI%))-3):GOTO 548 546 IF LEN(SVC$(SVI%))<23 THEN GOTO 550 547 SVStr$(SVI%)=MID$(SVC$(SVI%),6,4)+MID$(SVC$(SVI%),12,6):GOTO 548 548 QORDS$=SVStr$(SVI%):QORDR%=SVI%:QORDT$="":QORDIP$="":GOSUB 312:SVStr$(SVI%)="" 549 GOSUB 134 550 SVC$(SVI%)="":RETURN 551 DISABLE 552 SVC$(1)=S1$:SVI%=1:GOSUB 524 553 ENABLE 554 INPUT #1,S1$:RETURN 555 DISABLE 556 SVC$(2)=S2$:SVI%=2:GOSUB 524 557 ENABLE 558 INPUT #2,S2$:RETURN 559 DISABLE 560 SVC$(3)=S3$:SVI%=3:GOSUB 524 561 ENABLE 562 INPUT #3,S3$:RETURN 563 DISABLE 564 SVC$(4)=S4$:SVI%=4:GOSUB 524 565 ENABLE 566 INPUT #4,S4$:RETURN 567 IF RxDMsg%=0 THEN RETURN 568 IF RxDMsg%=1 THEN GOTO 474 569 IF RxDMsg%=2 THEN GOTO 462 570 IF RxDMsg%=8 THEN GOTO 454 571 IF RxDMsg%=9 THEN GOTO 334 572 IF RxDMsg%=12 THEN GOTO 327 573 IF RxDMsg%=13 THEN GOTO 307 574 IF RxDMsg%=14 THEN GOTO 487 575 IF RxDMsg%=15 THEN GOTO 482 576 IF RxDMsg%=16 THEN GOTO 43 577 IF RxDMsg%=17 THEN GOTO 47 578 IF RxDMsg%>100 THEN GOTO 297 ELSE RxDMsg%=0 579 RETURN 580 PRINT "ERR";ERR();",LIN":ERL():JS%(1)=2:JS%(2)=1:JS%(3)=1:SLEEP 1000 581 END 582 DELEVENT 583 JS%(1)=2:JS%(2)=1:JS%(3)=1:Print "Exiting . . .":GOSUB 346:SLEEP 1000:GOSUB 91 584 NEW 585