throbber
‘tst46001: change aXTeft &axright
`DEFINT A‘Y
`DEFSNG Z
`PRINT : PRINT 2 PRINT
`
`graph3.bas
`
`PRINT "4600/5010 Support Code 4/10/95"
`zcon = 180 / 3.1415926S4#
`zkl = .005: zk2 = .995'
`
`Energy averaging constants
`
`DIM s$(512), 5(512), c$(512), bit(512)
`DIM r(256)
`DIM xkindex(11), xkcor(11), kaindex(1l), kacor(11)
`DIM hotxkindex(11), hotkaag(11)
`DIM kaagCll), kamag(11)
`DIM 1ndex(16), magClB), cor(16)
`DIM rr(256, 10)
`
`DATA 1,2,4,8,&h10,&h20,&h40,&h80
`DATA %2§90,&h200,&h400,&h800,&h1000,&h2000,&h4000,&h8000
`DIM p
`
`FOR I = 0 TO 15: READ p(I): NEXT I
`aa$ = "## \
`\ \
`\"
`
`'
`
`1d 2 3
`DIM v(500)
`peaks = 10
`DIM nc(id, peaks), nm(1d, peaks)
`DIM 1c(1d, peaks)
`DIM 1m(1d, peaks)
`DIM y1(id), zx(1d), zy(1d)
`DIM 1p1(id), 1p2(1d)
`DIM r1x(id),
`r1y(id)
`DIM rCCpeaks)
`
`# of p1ots
`
`j$) = NOT (I — VAL(j$))
`DEF FNA (I,
`j) = VAL("&H" + CHR$(I) + CHR$(j))
`DEF fnb (I,
`DEF FNC (I, j, k, 1) = VAL("&H" + CHR$(I) + CHR$(j) + CHR$(k) + CHR$(1))
`DEF FND (I) = CSNGCI) / d256
`DEF fnx$ (I) = RIGHT$("OOOO" + HEX$(I), 4)
`DEF fnx (x) = zx(id) * X + x1
`DEF fny (Y) = (Y) * zyCid) + y1(id)
`DEF fnzz$ (z) = STR$(INT(z * 10!) / 10!)
`DEF fnq$ (21, 22) = ”{" + tnzz$(zl) + "," + fnzz$(22) + "}"
`DEF fnzz (I) = VAL(MID$(v$, 1))
`DEF fnz (I) = (fnzz(I) —
`(40!
`* INTCfnzz(I) / 100!))) / 60!
`1V1 = VARPTRCIV): in = 1V1 + 1
`
`* 69.1722
`
`' Constants
`'The foTTowing 2 eTements are doubTed in order to compensate for the
`'2 bytes storaged for each index in memory.
`mh216 = O
`mpy = 1:
`
`IF mhz16 THEN mpy = 2
`
`&H1000
`xkbase
`III
`KABASE — &H3000
`HOTXKBASE = &H5000
`
`stoTer = 90
`fuTTstick = 31
`tcTose = 20
`Teft = (33.3 — 16.2) * xcpts / 100'
`Page 1
`
`'
`
`find size of smart mute
`
`
`
`K40 Exhibit 1011, pg. 1
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 1
`IPR2013-00240
`
`

`

`'
`
`'
`
`graph3.bas
`rite = (66.6 — 16.2) * xcpts / 100'
`mSTze = l + (rite _ 1eft) / l6
`LastSpd = l
`
`GOSUB d1S
`
`regions.
`
`Start next transfer
`OPEN "R", #3, "Locked.LOC", 30
`FIELD #3, 10 AS d$, 8 AS t$, 4 AS 1at$, 4 AS 1ong$,
`2 AS peak1$, 2 AS Peak2$
`DIQ ZLOSKCZS, 2), LPeak1(25), LPeak2(25), Tdate$(25), TTime$C25)
`1X:
`FOR I = 1 TO 25
`l) = CVSC1at$): ZLOCkCI, 2) = CVSCTong$D
`GET #3, I: ZLOCk(I,
`LPealeI) = CVICpeak1$Dz LPeakZCI) = CVI(Peak2$)
`Tdate$(I) 2 d5: TT1me$(I) = t$
`IF ZLOCRCI, 1) THEN fidx
`I
`
`NEXT I
`
`OPEN "COMZ:9600,n,8,1,RBlOOOO,b1n,RS,opO,CdO,dSO" FOR RANDOM AS #2
`OPEN "COMl:19200,n,8,1,RBlOOOO,b1n,RS,opO,ch,dSO" FOR RANDOM AS #1
`OUT &H2FB, &HB
`IF dc THEN OPEN "RoadDataItxt” FOR APPEND AS #4
`'DO WHILE i <> l3
`'
`IF LOCCZ) THEN
`'
`i = Asc(INPUT$(1, #2))
`‘
`'LOOP
`'OPEN "vdat.txt" FOR OUTPUT As #4
`
`END IF
`
`Read a record from interface and extract the software version #
`
`CLS
`grec:
`
`PRINT #1, "A";
`
`'
`
`Skomod
`
`WHILE LOCCZ) > 128
`ON ERROR GOTO errorhand1er2
`LINE INPUT #2, v$
`Terminate the error support
`0N ERROR GOTO 0'
`"$GPGGA“) THEN
`IF INSTRCV$,
`z1at = fnzCZO): z1ong = —fnz(32): Sr$ = VS
`1ocked = 0
`FOR I = 1 TO fidx
`za : ZLOCk(I, 1)
`
`z1ong: zdist = SQRCza * za + 23 * 23)
`
`NEXT I
`
`END IF
`
`— z1at: ZB : ZLock(I, 2)
`
`—
`
`IF zdist < .25 THEN 1ocked = 1: Pindex = I
`
`fnzzCI + 2)
`
`END
`
`IF INSTRCv$,
`
`"$GPVTG") THEN I : INSTR(v$, "M"): zVe1ocity =
`
`WEND
`SELECT CASE INKEY$
`CASE CHR$(&HD): PRINT " Program Execution Ended”: CLOSE :
`
`CASE ”1": STOP
`CASE II
`II
`
`IF 1ocked = 0 AND ActiveTimer THEN
`fidx : fidx + 1:
`IF fidx > 25 THEN fidx
`ZLock(fidx, 1) = zTat: ZLock(fidx, 2) =
`z1ong: LSET 1at$ = MKS$(z1at): LSET 1ong$ = MKS$Cz1ong)
`LPeakl(fidx) = peakl: LPeakZCFde) = PeakZ:
`LSET peak1$ = MKI$Cpeak1): LSET Peak2$ = MKI$(Peak2)
`Tdate$(fidx) = DATE$: TTime$(f1dx) = TIME$:
`RSET d$ : Tdate$(fidx): RSET t$ = TTime$Cfidx)
`PUT #3, fidx: 1ocked = l
`Page 2
`
`O
`
`K40 Exhibit 1011, pg. 2
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 2
`IPR2013-00240
`
`

`

`graph3.bas
`END IF
`
`CASE "u"
`
`END SELECT
`GOSUB record
`IF flaga AND 15 THEN ActiveTimer = 4
`
`IF Tocked THEN ZLockCPindex,
`
`l) = 5
`
`IF ActiveTimer THEN
`IF ActiveTimer = 4 AND Tocked = 0 THEN SOUND 800, 2‘
`Ring be11 if un1ocked signa1 detected
`ActiveTimer = ActiveTimer — 1
`IF dc THEN PRINT #4, DATE$; ","; TIME$;_",";
`rCI); ",";
`: NEXT I: PRINT #4, Sr$, zVe1oc1ty
`words — 1: PRINT #4,
`END IF
`
`: FOR I = 0 TO
`
`'IF check <> 0 THEN PRINT "Fiber checksum error "; fnx$(check): GOTO grec
`'IF scheck <> 0 THEN PRINT "Seria1 Transfer error";
`fnx$CscheCk): GOTO grec
`
`GOSUB disp1ay
`skomod
`GOTO grec'
`IF timeout <> 0 THEN GOTO grec
`CLS
`
`_
`_
`PRINT : PRINT : PRINT : PRINT
`PRINT "software in target is ver510n "; HEX$Cver510n)
`
`CLOSE #2
`
`Illl'llllllllllllllll'lil'lllll Rea]
`q:
`dis:
`
`CLS 0
`
`timedisp‘lay llllllllllllllllllllll
`
`b1ack = O: b1ue = 1: green 2 2: cyan = 3
`red = 4: magenta = 5: BROWN = 6: white = 7
`gray = 8: 1b1ue = 9: 1green = 10: 1cyan : 11
`2 12: 1magenta = 13: ye11ow z 14: hiwhite : 15
`
`foreground = white
`background = b1ack
`border = b1ue
`
`SCREEN 12
`xchars = 80: ychars = 30
`yesize = 16: xcsize = 8
`Sizex = xchars * xcsize — l
`sizey = ychars * ycsize — 1
`VIEW (1, 1)—(sizex — 1, sizey — 1)‘, background', border
`WINDOW (1, 1)—(sizex — 1, sizey — 1)
`
`(sizex + l) \ 2
`xcenter
`(sizey + 1) \ 2
`ycenter
`xcharZ = xchars \ 2
`DEF Fnr (r) = xcsize * (r — 1)‘ FNR Maps char position to screen coor
`DEF fns (s) = ycsize * (ychars ~ s)'FNS Maps char position
`COLOR foreground', background
`
`fu11 = fanxcharZ — 1): zfu11 = fu11
`
`ipavg = —1
`bad = O
`sbad = 0
`tbad = 0
`textdone = 0
`p1otdone = O
`textc = 8
`
`Page 3
`
`K40 Exhibit 1011, pg. 3
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 3
`IPR2013-00240
`
`

`

`graph3.bas
`Horizonta1 character position
`
`textd = 13'
`1meter = —1
`x1ed = —1
`k1ed = —l
`ka1ed = —1
`1as1ed = —1
`
`Setup : r<Set10)
`
`LINE (xcenter, ycenter + 200)—(xcenter, sizey), 1magenta
`RETURN
`"' ' "l’r'ki'ir-Ir‘kirk’k’k’k
`disp1ay:
`'
`
`GOSUB record
`
`' Get next record of data
`
`'
`
`'
`
`IF D4600 THEN
`# points in x/k sweep
`xcpts = 2 * 2688 '
`# points in Ka sweep
`kacpts = xcpts '
`convert index to ms
`zf1t = 125 / xcpts'
`hotxkcpts = 2 * 1276 * ((29 + 62.5) / 62.5)
`ELSE
`xcpts = 2 * 2048
`kacpts : xcpts
`hotxkcpts = 1111
`END IF
`
`'IF check <> 0 THEN bad = (bad + 1) AND 255: GOTO disp1ay
`'IF scheck <> 0 THEN sbad = (shad + 1) AND 255: GOTO disp1ay
`
`a$ = INKEY$
`IF a$ — CHR$(27) THEN END
`H1
`IF a$
`"*” THEN dhistory = 1
`IF (a$ = " ") THEN pageZ = —1 ELSE pageZ = O
`
`IF xdetect THEN xdetect
`xdetect = f1aga AND 1:
`IF kdetect THEN kdetect
`kdetect = f1aga AND 2:
`kadetect = f1aga AND &Hc:
`IF kadetect THEN kade
`kaouter = f1aga AND 8
`kainner = f1aga AND 4
`
`—1
`—1: xdetect = 0
`tect = —1
`
`IF train THEN train = ~1
`train 2 1count AND 32:
`emergency 2 1count AND 64:
`IF emergency THEN emergency = —1
`roadhaz = 1count AND 128:
`IF roadhaz THEN roadhaz
`
`anydetect = xdetect OR kdetect OR kadetect OR hotkdetect 0R hotxdetect
`
`row = 3
`
`LOCATE row, 1
`row = row + 1
`IF $010 THEN PRINT "SO10":
`IF e4600 THEN PRINT "P 4600”:
`row = row + 1
`
`"Bad RAM"
`state$(1)
`1”
`state$(O) — "RAM ok "
`state 2 f1agb AND 1: 1state 2 ram
`GOSUB estate:
`ram = state:
`FOW = POW + 1
`state$(1) = ”City Mode
`”
`state$(0) = "Highway Mode"
`state = f1agil AND 8: Tstate = city
`GOSUB dstate: city 2 state:
`row 2 row + 1
`state$(1) = "Muted
`state$(0) = ”Not Muted "
`state = f1agil AND 2: 1state = muted
`GOSUB dstate: muted = state:
`POW = FOW + 1
`Page 4
`
`K40 Exhibit 1011, pg. 4
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 4
`IPR2013-00240
`
`

`

`n
`
`graph3.bas
`
`"Automute
`state$(1)
`state$(0) = "Not Automute ”
`state = f1ag 11 AND 32: 1State = amuted
`GOSUB dstate: amuted 2 state:
`row 2 row + 1
`stateSCO) : "Not Dark Mode"
`State$(1) = "Dark Mode
`"
`state = f1agil AND 4: Tstate = darken
`GOSUB dstate: darken = state:
`row = row + l
`State$(0) = "TranSTent
`”
`State$(1) : "Not Transient”
`state — f1agc AND 4: 1state = trans1entd
`GOSUB dstate transientd = state:
`row = row + 1
`state$(0)=
`State$(l)—— "Unpaired"
`state 2 TTagb AND 4: Tstate = unp
`GOSUB dstate: unp = State:
`row = row + 1
`LOCATE row, 1
`ELSE PRINT ”
`";
`IF xdetect THEN PRINT "X
`ELSE PRINT ”
`";
`IF kdetect THEN PRINT "K
`" ELSE PRINT ”
`IF kadetect THEN PRINT "Ka
`row = row + 1: LOCATE row,
`1
`IF train THEN PRINT "Train
`
`'2
`‘3
`
`"
`
`"
`
`IF emergency THEN PRINT "Emergency Veh1c1e:
`IF roadhaz THEN PRINT 'Road Hazzard
`IF NOT (train AND emergency AND roadhaz) THEN PRINT "
`
`"
`
`row = row + 1: LOCATE row, 1
`IF hotxdetect THEN PRINT "Hot x ";
`ELSE PRINT "
`IF hotkdetect THEN PRINT "Hot K " ELSE PRINT ”
`
`'H
`
`"
`
`row = row + 1
`LOCATE row, 1
`PRINT USING "In/Ot/Hot \\ \\ \\"; HEX$(swcnt1nner); HEX$(chntouter);
`A
`HEX$(swcnthotxk)
`row : row + 1
`PRINT USING "Fb/Sr/Tm \\ \\ \\"; HEX$(bad); HEX$Csbad); HEX$Ctbad)
`row = row + 1
`II
`n
`PRINT ”Smart "; HEX$(smartspec);
`row = row + 2
`PRINT
`IF Tocked = 0 THEN PRINT "Not Locked" ELSE PRINT USING "Locked DeTtI:###";
`(ABSCLPealePindex) + LPeakZCPindex)
`— peakl _ Peak2)) / 2
`row = row + 1: PRINT "At" + Fn q$(21at, z1ong):
`row = row + 1
`state$(0) 2 "Above Speed
`State$(l)~ "No A1ert be1ow Spd”
`IF zVeTocity < .2 THEN State = 1
`State = O: Tstate = LastSpd:
`GOSUB dstate: LastSpd = state:
`row = row + 1
`FOR I = 1 TO fidx
`PRINT USING "L#"; I;
`PRINT fnq$CZLock(I, 1), ZLOCk(Is 2))
`IF Zd'ist < 9 THEN PRINT USING "d:#.#"; zdist; ELSE PRINT
`
`Ild:‘~-"
`
`PRINT USING " Frq:#### ####"; LPealeI); LPeak2(I)
`row = row + 1
`
`NEXT I
`
`row = 1
`s$ = "x/k & Ka Outer Band Stick”: Tastx = 1xk1evn: Tastax = 1axk1evn
`max = 45:
`r = xk1evn: GOSUB tabar: 1xk1evn = X: 1axk1evn = ax
`row 2 row + 1
`s$ = "Ka Inner Band Stick": Tastx = 1ka1evn: Tastax = Taka1evn
`= ka1evn
`GOSUB tabar: 1ka1evn = X: 1aka1evn = ax
`
`Page 5
`
`K40 Exhibit 1011, pg. 5
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 5
`IPR2013-00240
`
`

`

`graph3.bas
`IllllllllllII‘IIIIIIIIllll'ledlsllllllllllllllllllllllllllllllll
`
`notx:
`
`xoff = 200
`yoff = ycsize
`ys = yoff + 14
`xs =
`xspace2= 30
`xdisp = 20
`IF textdone THEN GOTO notx
`LOCATE ychars — 1, 21: PRINT "Meter";
`LOCATE ychars — 1, 48: PRINT "x";
`LOCATE ychars — 1, 56: PRINT "K";
`LOCATE ychars ~ 1, 63: PRINT "Ka";
`LOCATE ychars — 1, 71: PRINT 'Laser";
`
`= disp1ay1
`ip = j AND &H1F
`
`IF 1meter = ip THEN GOTO notnew
`ii = 1
`FOR I = 0 TO 4
`iii = ii AND j
`GOSUB led
`ii 2 ii * 2
`
`NEXT I
`1meter = ip
`
`iii=0llllllllllllflllli< _____________ patch
`notnew:
`
`iii = &H20 AND disp1ayl'
`IF x1ed = iii THEN GOTO skipx
`I = 8
`GOSUB 1ed
`x1ed = iii
`
`'
`iii = &H40 AND dispTayl
`IF k1ed = iii THEN GOTO skipk
`I = 11
`GOSUB Ted
`k1ed = iii
`
`iii = &H80 AND disp1ayl'
`IF kaTed = iii THEN GOTO skipka
`I = 14
`GOSUB 1ed
`ka1ed = iii
`
`iii : 1 AND disp1ay2'
`IF 1as1ed = iii THEN GOTO skipkb
`= 17
`GOSUB 1ed
`1as1ed = iii
`
`skipx:
`
`Skipk:
`
`skipka:
`
`"'
`skipkb:
`
`x band indicator
`
`k band indicator
`
`Ka Band indicator
`
`Laser indicator
`
`‘
`
`Determine sweep type
`Xkdata: _lllIllllIIIlllllllllllllillllllllll
`""" xkdata = r(set4) AND 1:
`IF xkdata <> 0 THEN xkdata = —1
`
`# chars 1eft on bottom
`bchars = 1'
`vsize = ycsize * (ychars — bchars —
`row — 4 — 2) \ 3
`v = vsize — 7'
`Vertica1 size
`Page 6
`
`K40 Exhibit 1011, pg. 6
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 6
`IPR2013-00240
`
`

`

`x1 = 160'
`h = sizex — x1 - 35'
`iindex = 0'
`maxv 2 &H80'
`
`graph3.bas
`Horizonta1 offset
`Horizonta1 size
`Initia1 index
`max va1ue
`
`HandTe x/k & Ka Outer data disp1ay here
`‘4‘"“"”'
`i** i
`Fina1 index
`f1ndex — xcpts‘
`Ca1cu1ate indicies of xk band segment of sweep
`IF p4600 THEN
`aXTeft = CSNGCfindex) * CSNG((100 —
`axrite = CSNGCfindex) * CSNG((100 —
`
`(33.3 + 16.2 — 5)) / 100)
`(66.66 + 16.2 + 5)) / 100)
`
`ELSE
`
`ax1eft = CSNGCfindex) * CSNG((33.3 + 16.2 — 5) / 100)
`axrite = CSNGCfindex) * CSNG((66.66 + 16.2 + 5) / 100)
`
`END IF
`
`pl = 0: p2 = O
`a1ert = xdetect OR kdetect
`IF a1ert <> 0 THEN pl 2 peakl — xkbase: p2 = Peak2 — xkbase' horizonta] detect
`positions
`pc1ose = tc1ose
`id = 1: leid) = (bchars + 2) * ycsize'
`1abe1$ = "x/k"
`FOR I ~—0 TO 11
`indexCI) = xkindex(I)
`H
`magCI) = kaagCI)
`corCI)
`xkcor{I)
`NEXT I
`f1oor = O
`dthresh = xkthresh
`GOSUB tp1ot
`
`Vertica1 offset
`
`'****************************Hand1e ‘Ka Inner! data disp1ay here
`'
`xx = kapeak
`.
`_
`f1ndex : kacpts'
`F1na1 1ndex
`
`Ca1cu1ate indicies of Ka
`
`'fa1se region'
`
`IF p4600 THEN
`f1 2 findex * CSNGCC3.8) / 100): fr = CSNGCfindex) * CSNG((63.8) / 100)
`ELSE
`
`/ 100)
`
`= findex * CSNGCClOO — 3.8) / 100):
`END IF
`fi ~(fr - f1) \ 4
`
`f1 = CSNG(findex) * CSNG((1OO — 63.8)
`
`horizonta1 detect positions
`
`Vertica1 offset
`
`= 0: p2 = 0'
`p31ose = tc105e
`=
`1
`1(id) = (bchars + 4)* ycsize + v'
`abe1$ = HKa
`a1ert = kadetect
`IF kadetect <> 0 THEN p1=peak1 — KABASE: p2 = PeakZ — KABASE
`FOR I = 0 TO 11
`index(1)—— kaindexCI)
`mag(I) = kamagCI)
`corCI) = kacorCI)
`
`NEXT I
`"""f1oor 2 25
`dthresh = kathresh
`GOSUB tp1ot
`'****************************Hand1e 'Hot Xk' data disp1ay here
`""'IF (tstf1ag AND 64) = 0 THEN GOTO skiphot
`Page 7
`
`K40 Exhibit 1011, pg. 7
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 7
`IPR2013-00240
`
`

`

`graph3.bas
`
`horizontaT detect positions
`
`* ycsize + 2 * v'
`
`VerticaT offset
`
`IF 5010 THEN GOTO Sk1ph0t
`FinaT index
`findex = hotxkcpts'
`Ca1cu1ate indicies of hotxk 'usefuT region'
`f1 = findex * CSNGCZQ / (29 + 62.5)): fr = Findex
`fi = (fr — f1) \ 4
`pl = 0: p2 = 0'
`chose = tcTose
`id = 3: leid) = (bchars + 6)
`Tabe1$ = "Hot"
`aTert = kadetect
`IF hotxkdetect <> 0 THEN p1 : peakl — HOTXKBASE: p2 = PeakZ — HOTXKBASE
`FOR I = 0 TO 11
`indexCI) = hotxkindexCI)
`magCI) = hotkaagCI): corCI) = 0
`
`NEXT I
`"""fToor =25
`dthresh = hotxkthresh
`GOSUB tpTot
`
`textdone = —1
`skiphot: pTotdone = -1:
`skomod
`RETURN'
`GOTO dispTay
`' 'k'k‘k*‘k**%"k**‘k*‘k7‘:~k***f€5’:7‘:7‘:*:‘:*=’r**7‘:7’:~k=’:i:**‘k'k******'ki:*~k7‘:‘k‘k‘k‘k**ft*************z‘c7’:**
`END
`
`'
`Ted:
`
`DispTay LED's
`X = xoff + I * xdisp
`IF 111 THEN
`LINE (X, yoff)—(X + xs, ys),
`
`ELSE
`
`red, BF
`
`END IF
`
`RETURN
`
`LINE (X, yoff)—(X + x5, ys), background, BF
`LINE (X, yOTTD-(X + x5, ys),
`red, B
`
`t1ine:
`
`pdat:
`
`1
`
`ttTine:
`
`pzdat:
`
`DispTay DecimaT vaTue 'v' of string s$
`
`IF textdone THEN GOTO pdat
`LOCATE row, 1
`PRINT s$;
`textd + 1
`LOCATE row,
`PRINT USING "#####"; v;
`RETURN
`
`Same as tTine but with wider string
`
`IF textdone THEN GOTO pzdat
`LOCATE row, 1
`PRINT S5;
`textd + 1
`LOCATE row,
`IF V THEN
`PRINT USING "#####"; v;
`ELSE
`—";
`END IF
`
`PRINT "
`RETURN
`
`Two condition text dispTay
`
`dstate:
`
`IF textdone = 0 THEN GOTO odat
`IF state = Tstate THEN RETURN
`
`Page 8
`
`K40 Exhibit 1011, pg. 8
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 8
`IPR2013-00240
`
`

`

`odat:
`rest:
`
`IF state <> 0 THEN state 2 1
`LOCATE row, 1
`PRINT state$(state)
`RETURN
`
`graph3.bas
`
`Two condition text dispTay
`
`estate:
`
`qdat:
`
`IF textdone = 0 THEN GOTO qdat
`IF state = Tstate THEN RETURN
`IF state <> 0 THEN state 2 1
`PRINT stateSCstate)
`RETURN
`
`Two condition text dispTay
`
`pstate:
`
`podat:
`
`IF textdone = 0 THEN GOTO podat
`IF state = 1state THEN RETURN
`IF state <> 0 THEN state = 1
`LOCATE row,
`1
`PRINT state$(state);
`RETURN
`
`state4:
`
`Four condition text dispTay
`IF textdone = 0 THEN GOTO rest
`IF state 2 Tstate THEN RETURN
`GOTO rest
`
`DispTay Hex vaTue 'v' of string S$
`
`IF textdone THEN GOTO pdatl
`LOCATE row, 1
`PRINT s$
`textc + 2
`LOCATE row,
`PRINT HEX$CV);
`"
`"
`RETURN
`
`ScaTe bar graphs
`
`IXYL
`
`F textdone THEN RETURN
`2 zfuTT * ca1ibrate / max + xcenter
`= fnsCrow) + ycsize
`INE (xcenter, Y)—(X, Y), 1b1ue
`t1 = Y — 2:
`t2 = Y + hh
`red, BF
`t2),
`LINE (X — toTer,
`t1)—(X,
`LINE (xcenter + 1, Y)-(xcenter + 1, Y - 4), 1b1ue
`X = X / xcsize + 2
`LOCATE POW, X
`PRINT 1egend$;
`RETURN
`
`hTine:
`
`pdatl:
`
`scaTe:
`
`tbar:
`
`pbar:
`
`Rea1 time bar graph dispTay
`
`IF textdone THEN GOTO pbar
`X : xcharZ — LEN(5$)
`LOCATE row, x
`PRINT s$
`
`'PRINT TnXSCP): RETURN
`IF r < 1 THEN r = 1'
`IF r > max THEN r = max
`X = zfuTT * r / max
`
`' On first pass print associated
`string
`
`'
`
`' Print the bar here
`
`This improves appearance of bar
`
`Page 9
`
`K40 Exhibit 1011, pg. 9
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 9
`IPR2013-00240
`
`

`

`graph3.bas
`Y = fnsCrow) + 6: yy : Y + 3
`xx = xcenter + X + 1
`IF 1astx < X THEN
`LINE (xcenter + 1, Y)—(xx, yy), bcoior, BF
`
`ELSE
`
`LINE (xx, Y)—(xcenter + fu11 + 1, yy), background, BF
`
`END IF
`RETURN
`
`Rea1 time bar graph dispiay with averaged bar
`
`IF textdone THEN GOTO apbar
`X = xcharZ — LENCs$)
`LOCATE row, X
`PRINT s$
`
`'
`
`' On first pass print associated
`string
`
`' Print the bar here
`This improves appearance of bar
`
`IF r < 1 THEN r = 1'
`IF r > max THEN r = max
`X = zfuii
`* r / max
`Y = fns(row) + 8: yy : Y + 2
`xx = xcenter + X + 1
`IF 1aStX < X THEN
`LINE (xcenter + l, Y)—(xx, yy), Tbiue, BF
`
`ELSE
`
`tabar:
`
`apbar:
`
`END IF
`
`LINE (xx, Y)—(xcenter + fu11 + 1, yy), background, BF
`
`Dispiay averaged bar
`ax = CSNG(X) * .l + .9 * CSNGCiastax)
`Y = fns(row) + 4: yy = Y + 2
`xx = xcenter + ax + 1
`IF lastax < ax THEN
`LINE (xcenter + l, Y)—(xx, yy), ye110w, BF
`
`ELSE
`
`END IF
`RETURN
`'************************e***********ekaeae*eaeeaa***********************k***
`
`LINE (xx, Y)—(xcenter + fu11 + 1, yy), background, BF
`,
`
`'
`'
`'
`'
`'
`'
`‘
`'
`'
`'
`'
`'
`'
`'
`'
`:
`l
`
`.
`tp1ot:
`
`va1ues
`
`P10t 16 e1ement array with indicies index() and magnitudes mag()
`Assumes index vaiues are ordered
`RANDOMLY!
`
`id: verticai p1ot number
`pl,p2:
`indicies of stick enabie peaks
`aiert: true if active a1ert for this disp1ay
`v: vertica1 size
`h: Horizontai size
`leid): Vertica1 offset
`x1: Horizontai offset
`findex: Fina]
`index number
`iindex: Initai
`index number
`maxv: Max vaiue of data in piot
`fioor: X axis assigned this vaiue to reduce viewed noise
`1abe1$: Labei
`dthresh: dynamic thresho1d
`pair:
`pc1g§9i¢}1]gmjna’ce "eQIEQI‘fliEEintdose “185315111114.“ J.
`
`x2 = x1 + h: y2 = y1(id) + v
`szid) = h / (findex — iindex): zy(id) = v / maxv'
`
`find mapping
`
`Page 10
`
`K40 Exhibit 1011, pg. 10
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 10
`IPR2013-00240
`
`

`

`graph3.bas
`
`rTyCid) =
`rTXCid) =
`
`leTd)
`x1 + h
`
`+ v \ 2
`'
`
`'
`
`Location of right
`1abe1
`
`IF p10tdone THEN GOTO tupdate
`LOCATE ychars — r1y(id) \ ycsize,
`PRINT 1abe1$;
`LINE (x1 — 1, y1(id) —
`
`box in p1ot area
`
`r1x(id) \ xcsize + 2
`
`I)—(x2 + 1, y2 + 1), hiwhite, 3'
`
`draw
`
`yyl = fnyCO) + vsize — 16: yy2 = yy1 + 16
`IF (id = 2) 0R (id = 3) THEN
`SX
`SX II
`fnfoT): LINE (sx, yy1)—(sx, yy2), hiwhite
`anCfr): LINE (sx, yy1)—(sx, yyZ), hiwhite
`
`END IF
`IF (id = 1) THEN
`sx :
`fnxCaxTeft): LINE (5x, yy1)—(sx, yy2), hiwhite
`sx :
`fnxCaxrite): LINE (sx, yy1)—(sx, yy2), hiwhite
`
`END IF
`
`ncO = fnx(0)
`FOR I
`1c(id,
`NEXT I
`
`1 TO peaks
`I) =
`ncO: TmCid, I) = y1(id)' init previous set to O
`
`tupdate:
`
`threshCid) : fnyCO)‘
`
`Init position for dynamic threshon
`
`DispTay dynamic threshon
`Y = dthresh — f100r:
`IF Y < 0 THEN Y = 0
`Y = fnyCY)
`c01 2 background
`COT = red
`IF Y > threshCid) THEN
`LINE (x1 — 10,
`thresh(id))—(x1 — S, Y), coT, BF' growth
`thresh(id) = Y
`
`' Bubb1e Sort the peak tab1e
`FOR j = peaks ~ 2 TO 0 STEP —1
`
`FOR I = 0 Toj
`IF indexCI) < index(I + 1) THEN
`SWAP index(I),
`indexCI + 1)
`SWAP magCI), magCI + 1)
`
`END IF
`
`NEXT I
`
`NEXTj
`
`FOR I = 0 TO peaks ~ 1'
`r = indeRCI)
`IF r < Tindex THEN r =
`
`IF r > findex THEN r =
`ncCId,
`I + 1) = fnxCr)
`rc(I) = r
`r = mag(I)
`
`— f100r:
`
`Map peaks into disp1ay array
`
`iindex
`fingex
`— 11ndex
`
`IF r < 0 THEN r = 0
`IF r > maxv THEN r = maxv
`nmCId,
`I + 1) = FnyCr)
`
`NEXT I
`
`' Check
`
`to see if any mapped peaks have matched x—screen coordinates
`If 50,
`remove one of them or dispTay anom011es w111 occur
`
`FOR I = 1 To peaks — 1
`
`Page 11
`
`K40 Exhibit 1011, pg. 11
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 11
`IPR2013-00240
`
`

`

`graph3.bas
`IF ncCid, I) <> nc(id, I + 1) THEN GOTO rich
`IF nc(id, I) = ncO THEN GOTO rich
`'GOTO see
`ncCid, I + 1) = ncO
`
`rich:
`
`NEXT I
`
`Draw new peaks
`FOR I = 1 TO peaks'
`IF nc(1d, I) = ncO THEN GOTO edone
`
`Does this eiement match 01d e1ement?
`FOR j = 1 TO peaks'
`IF ncCTd, I) <> 1c(id,
`j) THEN GOTO nomatch
`
`Modify bar by either increasing or decreasing
`
`IF (nmCid, 1) > WmCid, j)) THEN
`LINE (nc(id, I), 1m(id,
`j))~(nc(id, I), nmCid,
`ELSE
`
`ID), ye110w' growth
`
`LINE (nc(id, I), TmCid,
`END IF
`j) = ncO'
`GOTO edone'
`
`1c(id,
`
`j))—(nc(id, I), nmCid, I)), background' deciine
`
`remove 01d index
`this eiement comp1eted
`
`NEXT j
`nomatch:
`If no e1ement matches, draw new eiement
`LINE (ncCid, I), y1(id))—(nc(id, I), nmCid, I)), ye11ow
`edone:
`NEXT I
`
`Remove 01d peaks
`FOR I = 1 TO peaks'
`IF 1c(id, I) <> ncO THEN
`LINE (1cCid, I),
`leid))—(1c(id, I), 1m(id, I)), background
`END IF
`1c(id, I) = nccid, I)
`1m(id, I) = nmCid, I)‘
`
`Update aged array
`
`NEXT I
`
`'********************piot comp1eted, now add supporting information
`****************%*******
`"
`
`'
`
`Show Average, Transient, & Phase Information
`tpr = 3
`' Bar height
`yyl = fnyCO) + vsize + 1: yy2 = yyl + tpr:
`jp = l
`yy3 = yyZ + 2: yy4 = yy3 + tpr
`ysl = FnyCO) + vsize + 1: ysZ = ysl + 8
`xxl = x1: xx2 2 X1 + h
`LINE (xxl, ysl)—(xx2, ysZ), background, BF
`FOR I = 0 TO 3'peaks — 1'
`Map peaks into dispiay array
`"""""""
`j = ncCid,
`i + l)‘ x~coordinate
`' = fnchor(I))
`IF j < x1 + 10 THEN GOTO drt
`""""'IF xkcorCi) THEN
`c = 1red
`""""" “ ""'IF rcCi) AND &H8000 THEN c = hiwhite
`LINE (j
`,
`~ jp yyl)~(j + jp, yyZ). c, BF
`lllllIlll::
`::IUIIIENDIF
`""'IF rc(i) AND &H2000 THEN LINE (j
`igreen, BF
`yy4),
`drt:
`NEXT I
`GOTO skiparound
`
`- jp, yy3)—(j + jp,
`
`‘
`
`Show_Automute Smartmute deactivated regions*************************
`IF id <> 1 THEN GOTO nosmute
`
`Page 12
`
`K40 Exhibit 1011, pg. 12
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 12
`IPR2013-00240
`
`

`

`ytl = ysl ~ 6: ytZ = ysl r 4
`IF ((r(set3)) AND 2) z 0 THEN ‘ Oniy c1ear background if no data
`LINE (xxl, ytlD—(XXZ, ytZ), background, BF' erase 01d stuff
`END IF
`
`graph3.bas
`
`FOR 1 = 0 TO 15
`vv = rCsmutexk) AND p(i)'
`IF vv THEN
`j = 1eft + i * msize'
`
`'
`
`Find index of disab1ed
`
`jmsize = fnmesize) ~ fnx(0)
`
`regionai bit vaiue
`
`‘
`
`'
`
`'
`
`‘
`
`'
`
`'
`
`'
`
`'
`
`regions
`
`'
`
`END IF
`
`x—coordinate
`'
`j = fnij)
`LINE (j, ytl)—(j + jmsize, ytZ), 1b1ue, BF
`
`‘
`'
`'NEXT 1
`=nosmute:
`skiparound:
`IF id <> 2 THEN GOTO fomp
`ny = yyl — 2:_¥y6 = ny — 3
`tspace = fnxCFi
`— fnxCO)
`ccut = 12'
`when timer<ccut, switch to dark green
`
`ic1 = background:
`green
`
`IF regtimCO) THEN ici : igreen:
`
`IF regtimCO) < ccut THEN ic1
`
`xx5 = fnx(f1): xx6 = xxS + fspace
`LINE (xxS, ny)—(xx6, yy6),
`ici, BF
`
`ici = background:
`green
`
`IF regtim(l) THEN ic1 = igreen:
`
`IF regtimCl) < ccut THEN ic1
`
`XXS = xx6: xx6 = xx6 + Fspace
`LINE (XXS, yy5)—(xx6, yy6),
`ic1, BF
`
`ic1 = background:
`green
`
`IF regtim(2) THEN ici = igreen:
`
`IF regtimCZ) < ccut THEN ic1
`
`xxS = xx6: xx6 = xx6 + Fspace
`LINE (xxS, yy5)—(xx6, yy6), ici, BF
`
`ici = background:
`green
`
`IF regtim(3) THEN ic] = 1green:
`
`IF regtimC3) < ccut THEN ic1
`
`fomp:
`
`'
`stickx:
`
`xxS = xx6: xx6 = xx6 + fspace
`LINE (xx5, yy5)—(xx6, yy6), it], BF
`
`Show stick enab1e regions
`
`— p1) < pc1ose THEN GOTO transit
`IF ABS(1p1(id)
`ppl = 0: ppZ = D
`SWAP pl, ppl: SWAP p2, pp2'
`GOSUB transit‘
`SWAP p1, ppl: SWAP p2, ppZ'
`
`If bars moved, shift off screen
`Draw the bar
`_
`& redisp1ay so they don't interract
`
`1|
`
`I!
`
`' Show aiert position indicators
`yyl = leid) — 8
`IF a1ert AND NOT (newwaiert) THEN
`PSET (fnxCpl), yyl), green: PSET (fnxCpZ), yyl), green
`END IF
`newwa1ert = aiert
`
`transit:
`"
`
`IF pl <= 10 THEN GOTO ignore
`bl = yl(id) — 6: b2 = yl(id) — 2'
`ul = pl — pciose: u2 = pl + pciose
`v1 = 1pl(id) — pciose: v2 = 1p1(id) + pc1ose
`GOSUB xbar
`
`Page 13
`
`verticai bar dimensions
`
`K40 Exhibit 1011, pg. 13
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 13
`IPR2013-00240
`
`

`

`ignore.
`"
`
`IF p2 <= 10 THEN GOTO capture
`ul 2
`2 — chose: u2 = p2 + pc105e
`v1 =
`pZCid)
`— chose: v2 = TpZCid) + pc105e
`GOSUB xbar
`capture: TplCid) = pl: 1p2(id) = p2
`RETURN
`
`graph3.bas
`
`'
`
`Subroutine for erasing bars
`
`eraseb:
`p1 = 0: p2 = O: GOTO stickx
`
`‘Subroutine for Drawing one of two stick region bars
`
`IF u2 <= v1 THEN
`
`' no overTap
`
`LINE (fnval), bl)-(fnx(v2), b2), background, BF
`IF ul < 0 THEN RETURN
`LINE (an(u1), b1)—(fnx(u2), b2), Tred, BF
`RETURN
`END IF
`
`IF (u2 > V1) AND (ul < V1) THEN
`LINE (fnxCuZ), bl)—(fnx(v2), b2), background, BF
`LINE CfnxCul), bl)v(fnx(v1), b2), Tred, BF
`RETURN
`END IF
`
`IF (ul = Vl) THEN RETURN
`
`IF (ul < v2) AND (u2 > v2) THEN
`LINE (fnval), b1)—(fnx(ul), b2), background, BF
`LINE (fnx(v2), b1)—(fnx(u2), b2), Tred, BF
`RETURN
`END IF
`
`IF ul >= v2 THEN GOTO noover
`STOP
`
`RETURN
`
`END
`
`‘ Request data from interface
`
`timeout = 0'
`GOTO findsync'
`
`transfer request is generated by
`setting para11e1 bit high,10w.
`This is prev10u51y done to improve throughput
`
`Xbar:
`
`noover:
`
`record:
`
`retry:
`
`Set para11e1 port bit high
`Set para11e1 port bit 10w
`
`skomod
`skomod
`
`tbad : 255 AND (tbad + l)
`timeout = O
`'LPRINT CHR$(1)‘
`'LPRINT CHR$(0)'
`WHILE LOC(l)
`I = ASC(INPUT$(1, #1))'
`
`WEND
`PRINT #1, ”A";
`
`‘
`
`skomod
`
`WHILE LOC(1) < 164
`
`IF INKEY$ = CHR$C13) THEN STOP
`Page 14
`
`c1ean out buffer
`
`K40 Exhibit 1011, pg. 14
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 14
`IPR2013-00240
`
`

`

`WEND
`
`graph3.bas
`
`"'
`"‘
`
`FOR q = 1 To 1000: NEXT q
`GOTO record
`
`findsync:
`
`'
`'
`
`Locate the sync
`IF (xdetect = 0) THEN STOP
`IF p1eve1 = 4 THEN STOP
`I = O: WHILE I <> &HAA
`GOSUB reads
`IF timeout THEN GOTO retry
`
`WEND
`GOSUB reads
`IF timeout THEN GOTO retry
`IF I <> &HAA THEN GOTO findsync
`'GOSUB readword: check = iv'
`Read checksum
`"""""""'IF check <> 0 THEN PRINT ”-—”; HEX$(check)
`IF timeout THEN GOTO retry
`'GOSUB readword: words = iv'
`Read # of words
`words = 162 / Z'Skomod
`
`which gives # bytes
`bytes = 2 * words'
`IF timeout THEN GOTO retry
`IF words > 256 THEN GOTO findsync
`
`Do checksum ca1cu1ation
`& fi11 the 'r(' array
`
`scheck = O: NN = O
`'CLS
`IF dhistory = 0 THEN
`FOR n = 0 T0 words — 1'
`GOSUB reads'
`scheck = scheck + I
`FCNN) = I: FF(NN, HISTORY) = I: NN = NN + 1
`IF timeout THEN GOTO retry
`GOSUB reads
`FCNN) = I: FFCNN, HISTORY) = I: NN = NN + 1
`PRINT HEX$(r(nn));
`" ”;
`IF timeout THEN GOTO retry
`
`""
`
`NEXT n
`'GOSUB readword
`scheck = (scheck AND 255)
`
`— (iv AND 255)
`
`IF user hit "*", p1ay back the Tast ten sweeps
`'
`LOCATE 1, 1
`INPUT BLAT
`:
`PRINT "history: "; HISTORY;
`IF BLAT <> 0 THEN HISTORY = BLAT
`FOR n = 0 TO words — l
`r(NN) = rrCNN, HISTORY): NN = NN + 1
`r(NN) = rrCNN, HISTORY): NN = NN + 1
`NEXT n
`.
`
`ELSE
`
`END IF
`
`IF HISTORY > 10 THEN HISTORY 2 0
`HISTORY = HISTORY + 1:
`lllllllillllllllIllIIllllllllllIlllllllllllllllllllllllll
`"'GOTO tindsync
`I
`l
`l
`........Mé9.Tb?.ITS..arre¥.iv¥9.Pregrér.vériéP1?%........
`p=0
`version = GC): p = p + 2
`IF version = 81 THEN 5010 = 1
`IF version = 70 THEN D4600 = 1
`LOCATE 18, 1
`ie = 0
`FOR I = 0 T0 11
`
`Page 15
`
`K40 Exhibit 1011, pg. 15
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 15
`IPR2013-00240
`
`

`

`graph3.bas
`kaagCI) = r(p + 3 * I)
`POKE 1V1, GC + 3 * I + 2)
`POKE 1v2, GC + 3 * I + 1)
`IF 1v < 0 THEN
`ELSE
`inndexCI) 2 iv ~ xkbase
`END IF
`
`NEXT I
`
`p = p + 36
`FOR I = 0 T0 3
`POKE 1v1, r(p + 2 * I + 1)
`POKE 1v2, GC + 2 * I)
`~ xkbase
`xkcor(I)= (1v AND &H7FFF)
`IF xkcorCI) < 0 THEN xkcorCI) =
`
`NEXT I
`FOR 1 = 0 TO 1
`IF xdetect OR kdetect THEN
`PRINT USING aa$; 1; HEX$(xkcor(1)); HEX$(xkcor(1))
`ELSE
`PRINT USING aa$; 1; HEX$CkaC0r(1)); HEX$Ckacor(1))
`END IF
`
`NEXT 1
`
`p=p+8
`FOR I = 0 To 11
`kamagCI) = GC + 3 * I)
`POKE 1v1, GC + 3 * I + 2)
`POKE 1v2, GC
`* I + l)
`ka1ndex(I) = (1V3AND &H7FFF)
`
`NEXT I
`
`~ KABASE
`
`p = p + 36
`FOR I = 0 TO 3
`POKE ivl, GC + 2 * I + 1)
`POKE 1v2,
`r(p + 2 * I)
`— KABASE
`kacorCI) = (1v AND &H7FFF)
`IF kacor(I) < 0 THEN kacorCI) 2
`
`NEXT I
`
`p=p+8
`FOR I = 0 T0 7
`hotkaag(I) = GC + 3 * I)
`POKE 1v1,
`r(p + 3 * I + 2)
`POKE 1v2, GC + 3 * I + 1)
`hOtxkindex(I) = (iv AND &H7FFF)
`
`NEXT I
`
`— HOTXKBASE
`
`p = p + 24
`
`smartspec = r(p): p = p + 3
`
`f1aga = GC): p = p + l
`f1agb = r(p): p = p + 1
`fTagc : FCp): p = p + 1
`
`FOR I = 0 TO 3
`regtimCI) = GC): p = p + 1
`
`NEXT I
`1count = r(p):
`‘IF p4600 THEN PRINT "Taser : "; 1count;
`'p=p+l
`
`"
`
`"
`
`POKE 1v1,r(p + l): POKE 1v2, GC)
`peakl = 1v: p = p + 2
`r(p)
`POKE 1v11_ Vr(p + 1):POKE 1v2,
`Peak2=
`p: p + 2
`IF peakl < Peak2 THEN SWAP peakl PeakZ
`Page 16
`
`K40 Exhibit 1011, pg. 16
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 16
`IPR2013-00240
`
`

`

`graph3.bas
`
`swcntouter = FCp): p = p + 1
`swcntinner = r(p): p = p + 1
`swcnthotxk = GC): p = p + 3
`
`xkthresh = r(p): p:Mp+ 1
`hotxkthresh = GC ): —p + 1
`kathresh: GC): p:
`+2
`
`(II}
`
`r(pT _p: p + 1
`kaevn
`O: }p+p1
`kaTevn
`r(pT
`+
`maxa e
`disp ay1= rC138T p = p + 1
`p1eve1 = r(p): p = p +
`
`Te :
`FOR I = 0 TO 5
`IF ie <= 4 THEN
`IF NOT (hotdetect) AND NOT (kainner) THEN ind = kandexCI): mag = kaagCI)
`IF hotdetect THEN ind = hotxkindexCI): mag = hotkaagCI)
`IF kainner THEN 1nd : kaindexCI): mag = kamagCI)
`IF ind > 16 THEN
`'PRINT USING aa$;
`ppCTe) = 1nd
`1e 2 1e + 1
`
`i; HEX$C1nd); HEX$(mag);
`
`END IF
`
`END IF
`NEXT I
`
`'
`
`'
`
`'
`
`FOR I = 0 TO 3
`IF kadetect THEN
`honCI) = kacor(I)
`
`END IF
`'PRINT USING aa$; i; HEX$Ckacor(i)); HEX$Ch01d(i))
`
`NEXT I
`
`- pp(0)) * zf1t)
`zt = ABSCCSNG(pp(l)
`PRINT USING "p—p DeTta ###.## ms”; Zt
`
`PRINT USING "k/pTeveT ##
`dispTayZ : GC): p = p + 1
`FOR I = 0 T0 3
`r(p + 1)
`POKE ivl, r(p): POKE ivz,
`center(I) = (TV AND &H7FFF)
`— xkbase:
`
`"; pTeveT
`
`NEXT I
`
`p = p + 2
`
`tsthag = r(p): p = p + 1: p = 150
`FTagil = GC): p = p + 1
`TTagiz = GC): p = p + 1
`
`'IF f1agTZ AND 8 THEN PRINT "Linearize
`f1agi3 = r(p): p = p + 1
`
`" ELSE PRINT "No Linearize"
`
`'LPRINT CHR$(I)'
`'LPRINT CHR$(O)'
`PRINT #1,
`"A";
`
`Set para11e1 port bit high
`Set para11e1 port bit 10w
`skomod
`
`skomod
`skomod
`
`RETURN
`
`' Read two bytes from seriaT interface & form word
`
`readword:
`I
`GOSUB reads: POKE ivl,
`IF timeout THEN RETURN
`GOSUB reads: POKE iv2,
`I
`RETURN
`
`Page 17
`
`K40 Exhibit 1011, pg. 17
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 17
`IPR2013-00240
`
`

`

`' Read byte via seria1 interface
`
`graph3.bas
`
`reads:
`
`Tout:
`
`time = 32000
`'ERR = 0: ON ERROR RESUME NEXT
`
`TIMER 0N
`timeout = 0
`ON TIMERCZ) GOSUB TimerTimeout
`WHILE LOCCl) = 0
`'time = time ~ 1:
`'IF time : 0 THEN
`'timeout = —1:
`""LOCATE 15, 0: PRINT "timeout # ”;
`IF timeout THEN
`RETURN
`END IF
`
`tbad; WORDS; N
`
`WEND
`
`RETURN
`
`TIMER OFF
`timeout = 0
`ON ERROR GOTO errorhand1er
`I 2 ASCCINPUT$(1, #1))
`ON ERROR GOTO 0'
`
`Terminate the error support
`
`TimerTimeout:
`timeout = —1
`RETURN
`errorhand1er:
`sbad = Sbad + 1
`timeout = —l
`RESUME Tout
`errorhand1er2:
`bad = bad + 1
`RESUME grec
`
`Page 18
`
`K40 Exhibit 1011, pg. 18
`|PR2013-00240
`
`K40 Exhibit 1011, pg. 18
`IPR2013-00240
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket