#chip 16F1789,32 '#chip 18F47k42,64 '#config MCLRE=off, WDTE=Off, boren=off, zcd=off, cp=off, safen=on, wrtsaf=off, wrtd=off #config mclre=off, wdte=off, boren=off 'zcd off and cp off these are supposed to be off at power on! wait 1 ms '#include '#include 'unlockpps 'Module: EXT_INT ' INT0PPS = 0x0008 'RB0 > INT0 'Module: I2C1 ' I2C1SDAPPS = 0x0014 'RC4 > SDA1 ' RC4PPS = 0x0022 'SDA1 > RC4 (bi-directional) ' I2C1SCLPPS = 0x0013 'RC3 > SCL1 ' RC3PPS = 0x0021 'SCL1 > RC3 (bi-directional) 'lockpps #define GLCD_TYPE GLCD_TYPE_ILI9326 #define GLCD_RD porta.4 ' read command line #define GLCD_WR porta.2 ' write command line #define GLCD_RS porta.1 ' Command/Data line #define GLCD_CS porta.0 ' Chip select line #define GLCD_RST porta.5 ' Reset line #define GLCD_BKL portc.6 'backlight power (npn) #define GLCD_DataPort portD #define ILI9326_DataPort GLCD_DataPort #define ILI9326_GLCD_RST GLCD_RST #define ILI9326_GLCD_CS GLCD_CS #define ILI9326_GLCD_RS GLCD_RS #define ILI9326_GLCD_WR GLCD_WR #define ILI9326_GLCD_RD GLCD_RD #define ILI9326_GLCD_BKL GLCD_BKL #define ILI9326_BLACK 0x0000 #define ILI9326_RED 0x001F #define ILI9326_GREEN 0x07E0 #define ILI9326_BLUE 0xF800 #define ILI9326_WHITE 0xFFFF #define ILI9326_MAGENTA 0xF81F #define ILI9326_YELLOW 0x07FF #define ILI9326_CYAN 0xFFE0 #define ILI9326_BROWN 0x00F0 #define ILI9326_D_BROWN 0x0068 apfcon1=b'00000000' 'default pins trisc=b'00011000' #include #define hi2c_BAUD_RATE 400 #define hi2c_DATA PORTC.4 #define hi2c_CLOCK PORTC.3 Dir hi2c_DATA in Dir hi2c_CLOCK in hi2cMode Master option_reg.7=0 wpuc=b'00011000' wpua=b'00000000' wpub=b'00000000' wpue=b'00000000' '#define ADReadPreReadCommand ADCS5=0:ADCS4=1:ADCS3=1:ADCS2=1:ADCS1=1:ADCS0=1 'select FOSC/64 'this should be used when osc=64MHz #define ADReadPreReadCommand ADCS2=0:ADCS1=1:ADCS0=0 'select FOSC/32 'this should be used when osc=32MHz wait 1 ms trisa=b'00001000' '3 vref+ trisb=b'11001011' '7,6,0 buttons 3 analogue in,1 usb detect trise=b'00001000' '3 mclre dir ILI9326_dataPort out 'dir porta.3 in 'v+ref 'dir portc.5 out 'lamp (pnp) 'dir portb.5 out 'lfl1c DIS 'dir portb.4 out 'lfl1c SI 'dir portb.3 in 'lfl1c AO (AN9) 'dir portb.2 out 'lfl1c CLK 'dir portc.7 out 'lf1c PWR (pnp) set portc.7 on 'pwr off set portc.5 on 'lamp off set porta.7 off 'lcd logic on(pnp) also supplies +to bkl set portb.5 off 'integration enable set portb.4 off set portb.2 off dim spectruml(255) dim spectrumh(255) 'dim spectrumv(255) dim blankl(255) dim blankh(255) 'dim blankv(255) dim darkl(255) dim darkh(255) dim i as word adref=b'00000010' 'adcon1=b'00100001''+ vrefpin, - to Vss 'adcon2=b'00001111' 'neg ref selected 'fvrcon=b'10000010' '2.048 V 'adcon1=0 'adcon2=0 'adcon3=0 'ADCAP=0 'pmd0.2=0 'dir portb.5 out 'lfl1c DIS 'dir portb.4 out 'lfl1c SI 'dir portb.3 in 'lfl1c AO (AN9) 'dir portb.2 out 'lfl1c CLK 'dir portc.7 out 'lf1c PWR (pnp) 'latest calbration 'start 417 nm, 2.21 nm/pixel (1 feb 2019) dim ILI9326SendWord, GLCD_width,GLCD_height,ILI9326_angle as word dim x_ili9326,y_ili9326,col_ili9326, col,xx,COL1, x1_ili9326 as word dim char_ili9326, cur9326,curold9326,flashrd as word dim xx1, daold,datatemp, II,IB,xwave,xscale,k9w,jj1,z9,k9s as word dim vr, abk, q1, q2, TRANS,fladdr,SPEC, datadark, datatempmax, negmax as word dim data_low, data_high, datatemp, blanktemp,k7, dataold, blankold as word on interrupt extint0 call wakeup GLCD_WIDTH = 400 GLCD_HEIGHT = 240 ili9326_angle=0 ili9326init 'initialize set Ili9326_glcd_bkl on ILI9326Orientation(ILI9326_angle)'set orientation shutter=245 fladdr=10240 epread(1,xwave) epread(2,xwave_h) epread(3,xscale) epread(4,xscale_h) epread(5,shutter) if xwave=65535 then xwave=385 if xscale=65535 then xscale=217 if shutter=255 then shutter=245 bflag=0 mflag=0 start: 'test_run 'inset above line to align using an oscilloscope GLCDCLS_ILI9326 'clear screen menu glcdcls_ili9326 if k9=1 then blank_run goto start end if if k9=2 then spectrum_run calcscale 'flashdata spectrum_display curse goto start end if if k9=3 then flashdelete flashdata 'write spectrum to prog mem goto start end if if k9=4 then power_down goto start end if if k9=5 then spectrum_display curse goto start end if if k9=6 then 'set scans y_ili9326=150 x_ili9326=30 for ii=25 to 41 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,col_ili9326) next ii wait 1 sec 'wait while portb.1=0 goto start end if if k9=7 then calibrate z1=xwave z2=xwave_h epwrite(1,z1) epwrite(2,z2) z1=xscale z2=xscale_h epwrite(3,z1) epwrite(4,z2) goto start end if if k9=8 then if fladdr+mflag=10240 then y_ili9326=150 x_ili9326=30 for ii=175 to 191 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,ili9326_red) next ii wait 1 sec goto start end if mflag=99 if fladdr>10240 then flashrd=fladdr-256 if fladdr=10240 then flashrd=16128 for i9=1 to 24 'usb transfer 'sub ft201 'send to USB port 'if fladdr=10240 then flashrd=16128 'flashrd=flashrd+256 flashread1789 wait while portb.1=0'check for connection 'wait 2 ms Hi2cstart hi2csend(0x44) 'write if i9=1 then IF spectrumL(0)=0 THEN spectrumL(0)=1 hi2csend(0) 'send A dummy byte end if 'abl=flashrd 'abh=flashrd_h 'hi2csend(1) 'HI2CSEND(ABH) 'WAIT 1 MS for i=0 to 255 HI2Csend(spectruml(i)) HI2Csend(spectrumh(i)) next i hi2cstop datatemp=spectruml(250) flashrd=flashrd-256 if flashrd<10240 then flashrd=16128 next i9 flashrd=fladdr-256 flashread1789 'reload spectrum array with original data goto start end if if k9=9 then kint=0 y_ili9326=180 x_ili9326=30 for ii=150 to 174 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,ili9326_yellow) next ii y_ili9326=150 x_ili9326=30 for ii=112 to 131 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,ili9326_yellow) next ii do if kint=1 then exit do loop kint=0 dark_run goto start end if if k9=10 then 'shutter open time kint=0 y_ili9326=180 x_ili9326=30 for ii=90 to 111 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,ili9326_yellow) next ii y_ili9326=150 x_ili9326=30 for ii=112 to 131 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,ili9326_yellow) next ii y_ili9326=120 x_ili9326=30 for ii=132 to 149 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,ili9326_yellow) next ii do if kint=1 then exit do loop kint=0 bflag=1 blank_run bflag=0 epwrite(5,shutter) goto start end if 'flashdata goto start end sub menu kint=0 glcdmenu1_ili9326(50,200,ili9326_blue) 'print menu screen 'now print movable * i8=9 k9=1 kk1=1 do if i8<>portb.1 then if portb.1=1 then glcdchar_ili9326(250,60,63,ili9326_green) if portb.1=0 then glcdchar_ili9326(250,60,63,ili9326_black) i8=portb.1 end if if portb.6=1 then k9=k9+1:kk1=1 if portb.7=1 then k9=k9-1:kk1=1 if kk1=1 then if k9>100 then k9=10 'gone negative? if k9=0 then k9=10 if k9>10 then k9=1 GLCDChar_ili9326(20,y_ili,63,ili9326_black) y_ili=220-k9*20 GLCDChar_ili9326(20,y_ili,63,ili9326_red) wait 250 ms kk1=0 end if 'kk1=0 'is this needed? if kint=1 then exit do 'interrupt? loop wait 50 ms kint=0 end sub sub spectrum_display dataold=spectruml(0) dataold_h=spectrumh(0) dataold=(dataold-data_low)/k7 k=0 for x_ili9326=1 to 255 datatemp=spectruml(x_ili9326) datatemp_h=spectrumh(x_ili9326) datatemp=(datatemp-data_low)/k7 'x-pos, y-start, y-end, colour k=k+1 glcdline_ili9326(x_ili9326,dataold,datatemp,ili9326_white) dataold=datatemp next x_ili9326 end sub sub curse 'wavelength+absorbance y_ili9326=100 x_ili9326=283 for ii=42 to 51 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,ili9326_yellow) next ii y_ili9326=180 x_ili9326=283 for ii=52 to 61 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,ili9326_yellow) next ii kint=0 cur9326=255 kk1=1 inc9326=1 do if portb.7=1 then cur9326=cur9326+inc9326:kk1=1 if portb.6=1 then cur9326=cur9326-inc9326:kk1=1 if kk1=0 then inc9326=1 if kk1=1 then inc9326=inc9326+1 if inc9326>10 then inc9326=10 if cur9326>1000 then cur9326=255 if cur9326>255 then cur9326=0 dataold=spectruml(cur9326old-1) dataold_h=spectrumh(cur9326old-1) dataold=(dataold-data_low)/k7 datatemp=spectruml(cur9326old) datatemp_h=spectrumh(cur9326old) z9=spectruml(cur9326) z9_h=spectrumh(cur9326) datatemp=(datatemp-data_low)/k7 glcdline_ili9326(cur9326old,0,239,ili9326_black) 'remove cursor glcdline_ili9326(cur9326old,datatemp,dataold,ili9326_white)' restore trace glcdline_ili9326(cur9326,0,239,ili9326_green) 'draw new cursor cur9326old=cur9326 wait 200 ms kk1=0 z9=z9+5 'rounding cursorpos(z9,cur9326) end if kk1=0 'is this needed? if kint=1 then exit do 'interrupt? loop wait 50 ms kint=0 end sub sub cursorpos(z9,cur9326) x_ili9326=320 y_ili9326=60 jj1=[word] (255-cur9326)*xscale jj1=jj1/100 jj1=jj1+xwave z5=jj1/100 z99=jj1%100 z6=z99/10 z7=z99%10 glcdcharlong(x_ili9326,y_ili9326,z5,ili9326_yellow) glcdcharlong(x_ili9326,y_ili9326,z6,ili9326_yellow) glcdcharlong(x_ili9326,y_ili9326,z7,ili9326_yellow) x_ili9326=x_ili9326+5 glcdchar_ili9326(x_ili9326,y_ili9326,49,ili9326_yellow) glcdchar_ili9326(x_ili9326,y_ili9326,48,ili9326_yellow) z2=z9/10000 z9=z9%10000 z3=z9/1000 z9=z9%1000 z4=z9/100 z9=z9%100 z5=z9/10 z6=z9%10 x_ili9326=300 y_ili9326=140 glcdcharlong(x_ili9326,y_ili9326,z2,ili9326_yellow) 'x_ili9326=x_ili9326-7 glcdchar_ili9326(x_ili9326,y_ili9326,66,ili9326_yellow) x_ili9326=x_ili9326+3 glcdcharlong(x_ili9326,y_ili9326,z3,ili9326_yellow) glcdcharlong(x_ili9326,y_ili9326,z4,ili9326_yellow) glcdcharlong(x_ili9326,y_ili9326,z5,ili9326_yellow) end sub sub power_down y_ili9326=150 x_ili9326=30 for ii=1 to 13 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,col_ili9326) next ii wait 1 sec dir porta.3 out porta=b'10000000' trisb=b'00000000' portb=b'00000000' sspcon1.sspen=0 dir portc.3 out dir portc.4 out set trisb.0 on set porta.7 on 'logic &bkl off set Ili9326_glcd_bkl off ili9326_dataport=b'00000000' option_reg.7=1 vregpm=1 sleep nop nop nop vregpm=0 option_reg.7=0 trisb=b'11001011' dir portc.3 in dir portc.4 in set porta.7 off 'logic on wait 100 ms dir porta.3 in sspcon1.sspen=1 ili9326_angle=0 ili9326init 'initialize set Ili9326_glcd_bkl on ILI9326Orientation(ILI9326_angle)'set orientation kint=0 'int off glcdcls_ili9326 y_ili9326=100 x_ili9326=30 for ii=14 to 24 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,col_ili9326) next ii wait 1 sec end sub sub calibrate kint=0 k9w=xwave k9s=xscale kk1=1 x_ili9326=50 y_ili9326=150 for ii=74 to 89 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,ili9326_green) next ii do if portb.6=1 then k9w=k9w+1:kk1=1 if portb.7=1 then k9w=k9w-1:kk1=1 if kk1=1 then if k9w>500 then k9w=500 if k9w<350 then k9w=350 z5=k9w/100 z9=k9w%100 z6=z9/10 z7=z9%10 x_ili9326=270 GLCDChar_ili9326(x_ili9326,y_ili9326,z5,ili9326_red) GLCDChar_ili9326(x_ili9326,y_ili9326,z6,ili9326_red) GLCDChar_ili9326(x_ili9326,y_ili9326,z7,ili9326_red) x_ili9326=x_ili9326+5 GLCDChar_ili9326(x_ili9326,y_ili9326,49,ili9326_red) GLCDChar_ili9326(x_ili9326,y_ili9326,48,ili9326_red) wait 200 ms kk1=0 end if kk1=0 if kint=1 then exit do 'interrupt? loop glcdcls_ili9326 kk1=1 kint=0 xwave=k9w y_ili9326=150 x_ili9326=50 for ii=62 to 73 readtable powerdown,ii,char_ili9326 glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,ili9326_green) next ii do if portb.6=1 then k9s=k9s+1:kk1=1 if portb.7=1 then k9s=k9s-1:kk1=1 if kk1=1 then if k9s>400 then k9s=400 if k9s<100 then k9s=100 z5=k9s/100 z9=k9s%100 z6=z9/10 z7=z9%10 x_ili9326=215 y_ili9326=150 GLCDChar_ili9326(x_ili9326,y_ili9326,z5,ili9326_red) GLCDChar_ili9326(x_ili9326,y_ili9326,66,ili9326_red) 'x_ili9326=x_ili9326+3 GLCDChar_ili9326(x_ili9326,y_ili9326,z6,ili9326_red) GLCDChar_ili9326(x_ili9326,y_ili9326,z7,ili9326_red) wait 200 ms kk1=0 end if kk1=0 if kint=1 then exit do 'interrupt? loop xscale=k9s end sub sub calcscale negmax=0 data_low=65535 data_high=0 for i=0 to 255 datatemp=spectruml(i) datatemp_h=spectrumh(i) blanktemp=blankl(i) blanktemp_h=blankh(i) if datatemp>blanktemp then datatemp=datatemp-blanktemp if datatemp>data_high then data_high=datatemp if datatemp0 then glcdchar_ili9326(x_ili9326,y_ili9326,char_ili9326,col_ili9326) 'x_ili9326=x_ili9326+13 end if next ii sh1=shutter/100 sh9=shutter%100 sh2=sh9/10 sh3=sh9%10 x_ili9326=x_ili9326+13 glcdchar_ili9326(x_ili9326,y_ili9326,sh1,ili9326_blue) 'x_ili9326=x_ili9326+13 glcdchar_ili9326(x_ili9326,y_ili9326,sh2,ili9326_blue) 'x_ili9326=x_ili9326+13 glcdchar_ili9326(x_ili9326,y_ili9326,sh3,ili9326_blue) end sub sub GLCDline_ili9326(x_ili9326,ys_ili9326,ye_ili9326,col_ili9326) start_ili9326=ys_ili9326 if ys_ili9326>=ye_ili9326 then start_ili9326=ye_ili9326 length_ili9326=ys_ili9326-ye_ili9326 end if if ys_ili93262 and shutter<253 then for i=0 to 255 datatemp=blankl(i) datatemp_h=blankh(i) if datatemp>datatempmax then datatempmax=datatemp next i if lcount>255 then goto xyz1 if datatempmax>53000 then shutter=shutter+1 if shutter>253 then goto xyz1 goto abc1 end if if datatempmax<45000 then shutter=shutter-1 if shutter<5 then goto xyz1 goto abc1 end if end if xyz1: set portc.5 on 'lamp off set portc.7 on 'diode array off set Ili9326_glcd_bkl on 'flashdatablank for ii=0 to 255 vr=blankl(II) vr_h=blankh(II) datadark=darkl(ii) datadark_h=darkh(ii) vr=vr-datadark calcabs blankl(II)=abk blankh(II)=abk_h next II 'flashdatablank end sub sub calcabs q1=61400 FOR IB = 1 TO 300 readtable absorb,IB,TRANS q2=TRANS IF VR > TRANS THEN goto qqf Q1 = TRANS NEXT IB abk=30000 return qqf: ABK = (q1 - q2) q1 = ((VR - Q2)*10 / ABK)*10 q2=((vr-q2)*10)%abk q1=q1+(q2*10)/abk ABk = iB * 100 -q1 -100 if ib>298 then abk=30000 end sub sub flashdata for word8=0 to 7 off8=word8*32 eeadrl=fladdr eeadrh=fladdr_h set EECON1.eepgd on ' Point to flash memory set EECON1.cfgs off ' Not configuration space set EECON1.free off 'write set EECON1.wren on ' Enable writes set EECON1.lwlo on ' Write Latches for kmem=0 to 31 datatemp=spectruml(off8+kmem) datatemp_h=spectrumh(off8+kmem) datatemp=(datatemp+2)/4 eedatl=datatemp eedath=datatemp_h if kmem=31 then set EECON1.lwlo off eecon2=0x55 eecon2=0xAA set eecon1.wr on nop nop 'wait while eecon1.wr=1 if kmem=31 then set eecon1.wren off eeadrl=eeadrl+1 next kmem fladdr=fladdr+32 next word8 if fladdr>16200 then fladdr=10240 'rewind to start end sub sub flashdelete eeadrl=fladdr eeadrh=fladdr_h repeat 8 set EECON1.eepgd on ' Point to flash memory set EECON1.cfgs off ' Not configuration space set EECON1.free on 'erase set EECON1.wren on ' Enable writes eecon2=0x55 eecon2=0xAA set eecon1.wr on nop nop set eecon1.wren off eeadrl=eeadrl+32 end repeat end sub sub flashread1789 eeadrl=flashrd eeadrh=flashrd_h for word8=0 to 255 set EECON1.eepgd on ' Point to flash memory set EECON1.cfgs off ' Not configuration space set EECON1.rd on ' Write Latches nop nop datatemp=eedatl datatemp_h=eedath datatemp=datatemp*4 spectruml(word8)=datatemp spectrumh(word8)=datatemp_h eeadrl=eeadrl+1 next word8 'if fladdr>16000 then fladdr=10240 end sub sub flashdataspectrum for word8=0 to 7 off8=word8*32 eeadrl=fladdr eeadrh=fladdr_h set EECON1.eepgd on ' Point to flash memory set EECON1.cfgs off ' Not configuration space set EECON1.free off 'write set EECON1.wren on ' Enable writes set EECON1.lwlo on ' Write Latches for kmem=0 to 31 datatemp=spectruml(off8+kmem) datatemp_h=spectrumh(off8+kmem) datatemp=datatemp/4 eedatl=datatemp eedath=datatemp_h if kmem=31 then set EECON1.lwlo off eecon2=0x55 eecon2=0xAA set eecon1.wr on nop nop 'wait while eecon1.wr=1 if kmem=31 then set eecon1.wren off eeadrl=eeadrl+1 next kmem fladdr=fladdr+32 next word8 end sub sub flashdatablank for word8=0 to 7 off8=word8*32 eeadrl=fladdr eeadrh=fladdr_h set EECON1.eepgd on ' Point to flash memory set EECON1.cfgs off ' Not configuration space set EECON1.free off 'write set EECON1.wren on ' Enable writes set EECON1.lwlo on ' Write Latches for kmem=0 to 31 'can't do it like this!!!!! datatemp=blankl(off8+kmem) datatemp_h=blankh(off8+kmem) datatemp=datatemp/4 eedatl=datatemp eedath=datatemp_h if kmem=31 then set EECON1.lwlo off eecon2=0x55 eecon2=0xAA set eecon1.wr on nop nop 'wait while eecon1.wr=1 if kmem=31 then set eecon1.wren off eeadrl=eeadrl+1 next kmem fladdr=fladdr+32 next word8 end sub sub flashdatadark for word8=0 to 7 off8=word8*32 eeadrl=fladdr eeadrh=fladdr_h set EECON1.eepgd on ' Point to flash memory set EECON1.cfgs off ' Not configuration space set EECON1.free off 'write set EECON1.wren on ' Enable writes set EECON1.lwlo on ' Write Latches for kmem=0 to 31 datatemp=darkl(off8+kmem) datatemp_h=darkh(off8+kmem) 'datatemp=datatemp/4 eedatl=datatemp eedath=datatemp_h if kmem=31 then set EECON1.lwlo off eecon2=0x55 eecon2=0xAA set eecon1.wr on nop nop 'wait while eecon.wr=1 if kmem=31 then set eecon1.wren off eeadrl=eeadrl+1 next kmem fladdr=fladdr+32 next word8 end sub sub wakeup intoff kint=kint+1 'flag for interrupt if kint>1 then kint=0 'glcdprint(200,200,"I",ili9340_white) wait 250 ms inton return end sub sub ILI9326INIT 'Reset********************* Set ILI9326_GLCD_RST On Wait 15 ms Set ILI9326_GLCD_RST Off Wait 15 ms Set ILI9326_GLCD_RST On Wait 15 ms '//*************Power On sequence ****************// 'parameters below taken from... '* Module for Microchip Graphics Library '* LCD controller driver* ILI9326 'discharge********************* SendCommand_ILI9326(0x0100) SendData_ili9326(0x0000) SendCommand_ILI9326(0x0102) SendData_ili9326(0x0000) SendCommand_ILI9326(0x0103) SendData_ili9326(0x0000) wait 200 ms 'power settings***** SendCommand_ILI9326(0x0100) SendData_ili9326(0x1190) SendCommand_ILI9326(0x0101) SendData_ili9326(0x0017) SendCommand_ILI9326(0x0102) SendData_ili9326(0x01BD) SendCommand_ILI9326(0x0103) SendData_ili9326(0x0350) SendCommand_ILI9326(0x0281) SendData_ili9326(0x0017) SendCommand_ILI9326(0x0200) SendData_ili9326(0x0000) SendCommand_ILI9326(0x0201) SendData_ili9326(0x0000) 'set gamma curve************** SendCommand_ILI9326(0x0300) SendData_ili9326(0x0000) SendCommand_ILI9326(0x0301) SendData_ili9326(0x0707) SendCommand_ILI9326(0x0302) SendData_ili9326(0x0606) SendCommand_ILI9326(0x0305) SendData_ili9326(0x0006) SendCommand_ILI9326(0x0306) SendData_ili9326(0x0A09) SendCommand_ILI9326(0x0307) SendData_ili9326(0x0203) SendCommand_ILI9326(0x0308) SendData_ili9326(0x0005) SendCommand_ILI9326(0x0309) SendData_ili9326(0x0007) SendCommand_ILI9326(0x030C) SendData_ili9326(0x0400) SendCommand_ILI9326(0x030D) SendData_ili9326(0x000A) 'set GRAM area************** SendCommand_ILI9326(0x0210) SendData_ili9326(0x0000) SendCommand_ILI9326(0x0211) SendData_ili9326(0x00EF)' 240 SendCommand_ILI9326(0x212) SendData_ili9326(0x0000) SendCommand_ILI9326(0x0213) SendData_ili9326(0x018F) '400 SendCommand_ILI9326(0x0400) SendData_ili9326(0x3500) SendCommand_ILI9326(0x0401) SendData_ili9326(0x0001) SendCommand_ILI9326(0x0404) SendData_ili9326(0x0000) SendCommand_ILI9326(0x0010) 'set screen defaults SendData_ili9326(0x0010) SendCommand_ILI9326(0x0011) 'last set of commands SendData_ili9326(0x0000) SendCommand_ILI9326(0x020B) SendData_ili9326(0x0000) SendCommand_ILI9326(0x0007) SendData_ili9326(0x0173) 'display on end sub sub ILI9326Orientation(ILI9326_angle) if ILI9326_angle=0 then SendCommand_ILI9326(0x0003) SendData_ili9326(0x0030) end if if ILI9326_angle=90 then SendCommand_ILI9326(0x0003) SendData_ili9326(0x0028) end if if ILI9326_angle=180 then SendCommand_ILI9326(0x0003) SendData_ili9326(0x0000) end if if ILI9326_angle=270 then SendCommand_ILI9326(0x0003) SendData_ili9326(0x0018) end if end sub table absorb 60000 ' 0 58634 ' .01 57300 ' .02 55995 ' .03 54721 ' .04 53475 ' .05 52258 ' .06 51068 ' .07 49906 ' .08 48770 ' .09 47660 ' .1 46575 ' .11 45515 ' .12 44479 ' .13 43466 ' .14 42477 ' .15 41510 ' .16 40565 ' .17 39642 ' .18 38739 ' .19 37857 ' .2 36996 ' .21 36154 ' .22 35331 ' .23 34526 ' .24 33740 ' .25 32972 ' .26 32222 ' .27 31488 ' .28 30772 ' .29 30071 ' .3 29387 ' .31 28718 ' .32 28064 ' .33 27425 ' .34 26801 ' .35 26191 ' .36 25595 ' .37 25012 ' .38 24443 ' .39 23886 ' .4 23343 ' .41 22811 ' .42 22292 ' .43 21785 ' .44 21289 ' .45 20804 ' .46 20331 ' .47 19868 ' .48 19416 ' .49 18974 ' .5 18542 ' .51 18120 ' .52 17707 ' .53 17304 ' .54 16910 ' .55 16525 ' .56 16149 ' .57 15782 ' .58 15422 ' .59 15071 ' .6 14728 ' .61 14393 ' .62 14065 ' .63 13745 ' .64 13432 ' .65 13127 ' .66 12828 ' .67 12536 ' .68 12250 ' .69 11972 ' .7 11699 ' .71 11433 ' .72 11173 ' .73 10918 ' .74 10670 ' .75 10427 ' .76 10189 ' .77 9958 ' .78 9731 ' .79 9509 ' .8 9293 ' .81 9081 ' .82 8875 ' .83 8673 ' .84 8475 ' .85 8282 ' .86 8094 ' .87 7910 ' .88 7730 ' .89 7554 ' .9 7382 ' .91 7214 ' .92 7049 ' .93 6889 ' .94 6732 ' .95 6579 ' .96 6429 ' .97 6283 ' .98 6140 ' .99 6000 ' 1 5863 ' 1.01 5730 ' 1.02 5600 ' 1.03 5472 ' 1.04 5348 ' 1.05 5226 ' 1.06 5107 ' 1.07 4991 ' 1.08 4877 ' 1.09 4766 ' 1.1 4657 ' 1.11 4551 ' 1.12 4448 ' 1.13 4347 ' 1.14 4248 ' 1.15 4151 ' 1.16 4057 ' 1.17 3964 ' 1.18 3874 ' 1.19 3786 ' 1.2 3700 ' 1.21 3615 ' 1.22 3533 ' 1.23 3453 ' 1.24 3374 ' 1.25 3297 ' 1.26 3222 ' 1.27 3149 ' 1.28 3077 ' 1.29 3007 ' 1.3 2939 ' 1.31 2872 ' 1.32 2806 ' 1.33 2743 ' 1.34 2680 ' 1.35 2619 ' 1.36 2559 ' 1.37 2501 ' 1.38 2444 ' 1.39 2389 ' 1.4 2334 ' 1.41 2281 ' 1.42 2229 ' 1.43 2178 ' 1.44 2129 ' 1.45 2080 ' 1.46 2033 ' 1.47 1987 ' 1.48 1942 ' 1.49 1897 ' 1.5 1854 ' 1.51 1812 ' 1.52 1771 ' 1.53 1730 ' 1.54 1691 ' 1.55 1653 ' 1.56 1615 ' 1.57 1578 ' 1.58 1542 ' 1.59 1507 ' 1.6 1473 ' 1.61 1439 ' 1.62 1407 ' 1.63 1375 ' 1.64 1343 ' 1.65 1313 ' 1.66 1283 ' 1.67 1254 ' 1.68 1225 ' 1.69 1197 ' 1.7 1170 ' 1.71 1143 ' 1.72 1117 ' 1.73 1092 ' 1.74 1067 ' 1.75 1043 ' 1.76 1019 ' 1.77 996 ' 1.78 973 ' 1.79 951 ' 1.8 929 ' 1.81 908 ' 1.82 887 ' 1.83 867 ' 1.84 848 ' 1.85 828 ' 1.86 809 ' 1.87 791 ' 1.88 773 ' 1.89 755 ' 1.9 738 ' 1.91 721 ' 1.92 705 ' 1.93 689 ' 1.94 673 ' 1.95 658 ' 1.96 643 ' 1.97 628 ' 1.98 614 ' 1.99 600 ' 2 586 ' 2.01 573 ' 2.02 560 ' 2.03 547 ' 2.04 535 ' 2.05 523 ' 2.06 511 ' 2.07 499 ' 2.08 488 ' 2.09 477 ' 2.1 466 ' 2.11 455 ' 2.12 445 ' 2.13 435 ' 2.14 425 ' 2.15 415 ' 2.16 406 ' 2.17 396 ' 2.18 387 ' 2.19 379 ' 2.2 370 ' 2.21 362 ' 2.22 353 ' 2.23 345 ' 2.24 337 ' 2.25 330 ' 2.26 322 ' 2.27 315 ' 2.28 308 ' 2.29 301 ' 2.3 294 ' 2.31 287 ' 2.32 281 ' 2.33 274 ' 2.34 268 ' 2.35 262 ' 2.36 256 ' 2.37 250 ' 2.38 244 ' 2.39 239 ' 2.4 233 ' 2.41 228 ' 2.42 223 ' 2.43 218 ' 2.44 213 ' 2.45 208 ' 2.46 203 ' 2.47 199 ' 2.48 194 ' 2.49 190 ' 2.5 185 ' 2.51 181 ' 2.52 177 ' 2.53 173 ' 2.54 169 ' 2.55 165 ' 2.56 161 ' 2.57 158 ' 2.58 154 ' 2.59 151 ' 2.6 147 ' 2.61 144 ' 2.62 141 ' 2.63 137 ' 2.64 134 ' 2.65 131 ' 2.66 128 ' 2.67 125 ' 2.68 123 ' 2.69 120 ' 2.7 117 ' 2.71 114 ' 2.72 112 ' 2.73 109 ' 2.74 107 ' 2.75 104 ' 2.76 102 ' 2.77 100 ' 2.78 97 ' 2.79 95 ' 2.8 93 ' 2.81 91 ' 2.82 89 ' 2.83 87 ' 2.84 85 ' 2.85 83 ' 2.86 81 ' 2.87 79 ' 2.88 77 ' 2.89 76 ' 2.9 74 ' 2.91 72 ' 2.92 70 ' 2.93 69 ' 2.94 67 ' 2.95 66 ' 2.96 64 ' 2.97 63 ' 2.98 61 ' 2.99 60 ' 3 end table table courier14 0x0000 ' 0x0000 ' 0x0000 ' 0x1F80 ' ###### 0x7FE0 ' ########## 0xE070 ' ### ### 0xC030 ' ## ## 0xC030 ' ## ## 0xE070 ' ### ### 0x7FE0 ' ########## 0x1F80 ' ###### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0x0030 ' ## 0x0030 ' ## 0xFFF0 ' ############ 0xFFF0 ' ############ 0x6030 ' ## ## 0x6030 ' ## ## 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x3830 ' ### ## 0x7C30 ' ##### ## 0xE630 ' ### ## ## 0xC330 ' ## ## ## 0xC1B0 ' ## ## ## 0xE0F0 ' ### #### 0x7070 ' ### ### 0x3030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x39C0 ' ### ### 0x7FE0 ' ########## 0xCF30 ' ## #### ## 0xC630 ' ## ## ## 0xC630 ' ## ## ## 0xC630 ' ## ## ## 0x6030 ' ## ## 0x6070 ' ## ### 0x0060 ' ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x01B0 ' ## ## 0xFFF0 ' ############ 0xFFF0 ' ############ 0xE1B0 ' ### ## ## 0x39B0 ' ### ## ## 0x1D80 ' ### ## 0x0780 ' #### 0x0380 ' ### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x03C0 ' #### 0xC7E0 ' ## ###### 0xCE70 ' ## ### ### 0xCC30 ' ## ## ## 0xCC30 ' ## ## ## 0xFE30 ' ####### ## 0xFE70 ' ####### ### 0x0060 ' ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0xC3C0 ' ## #### 0xC7E0 ' ## ###### 0xCE70 ' ## ### ### 0xCC30 ' ## ## ## 0x6C30 ' ## ## ## 0x7670 ' ### ## ### 0x3FE0 ' ######### 0x0F80 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0xF000 ' #### 0xFE00 ' ####### 0xDFC0 ' ## ####### 0xC3F0 ' ## ###### 0xC070 ' ## ### 0xC000 ' ## 0xE000 ' ### 0xE000 ' ### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x39C0 ' ### ### 0x7FE0 ' ########## 0xC630 ' ## ## ## 0xC630 ' ## ## ## 0xC630 ' ## ## ## 0xC630 ' ## ## ## 0x7FE0 ' ########## 0x39C0 ' ### ### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x1F00 ' ##### 0x7FC0 ' ######### 0xE6E0 ' ### ## ### 0xC360 ' ## ## ## 0xC330 ' ## ## ## 0xE730 ' ### ### ## 0x7E30 ' ###### ## 0x3C30 ' #### ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0x0070 ' ### 0x03F0 ' ###### 0x1FB0 ' ###### ## 0x7D80 ' ##### ## 0x7180 ' ### ## 0x7D80 ' ##### ## 0x6FB0 ' ## ##### ## 0x63F0 ' ## ###### 0x6070 ' ## ### 0x0030 ' ## 0x0000 ' 0x0000 ' 0x0000 ' 0x01E0 ' #### 0x3BF0 ' ### ###### 0x7F30 ' ####### ## 0x6630 ' ## ## ## 0x6630 ' ## ## ## 0x6630 ' ## ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x7860 ' #### ## 0x7860 ' #### ## 0x2030 ' # ## 0x6030 ' ## ## 0x6030 ' ## ## 0x6030 ' ## ## 0x3060 ' ## ## 0x3FE0 ' ######### 0x0F80 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0F80 ' ##### 0x3FE0 ' ######### 0x3060 ' ## ## 0x6030 ' ## ## 0x6030 ' ## ## 0x6030 ' ## ## 0x6030 ' ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x78F0 ' #### #### 0x78F0 ' #### #### 0x6030 ' ## ## 0x6F30 ' ## #### ## 0x6F30 ' ## #### ## 0x6630 ' ## ## ## 0x6630 ' ## ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x7800 ' #### 0x7800 ' #### 0x6000 ' ## 0x6F30 ' ## #### ## 0x6F30 ' ## #### ## 0x6630 ' ## ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0300 ' ## 0x7BE0 ' #### ##### 0x7BF0 ' #### ###### 0x3330 ' ## ## ## 0x6330 ' ## ## ## 0x6330 ' ## ## ## 0x6030 ' ## ## 0x3060 ' ## ## 0x3FE0 ' ######### 0x0F80 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x6030 ' ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6630 ' ## ## ## 0x0600 ' ## 0x6630 ' ## ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x6030 ' ## ## 0x6030 ' ## ## 0x6030 ' ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x6030 ' ## ## 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x6000 ' ## 0x6000 ' ## 0x7FC0 ' ######### 0x7FE0 ' ########## 0x6070 ' ## ### 0x6030 ' ## ## 0x6030 ' ## ## 0x0030 ' ## 0x01E0 ' #### 0x01E0 ' #### 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0x6030 ' ## ## 0x60F0 ' ## #### 0x71E0 ' ### #### 0x7B80 ' #### ### 0x0E00 ' ### 0x6630 ' ## ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x01F0 ' ##### 0x01F0 ' ##### 0x0030 ' ## 0x0030 ' ## 0x6030 ' ## ## 0x6030 ' ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x6030 ' ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x7830 ' #### ## 0x0F30 ' #### ## 0x0180 ' ## 0x0F30 ' #### ## 0x7830 ' #### ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x6000 ' ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x61F0 ' ## ##### 0x0F80 ' ##### 0x7C30 ' ##### ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0F80 ' ##### 0x3FE0 ' ######### 0x3060 ' ## ## 0x6030 ' ## ## 0x6030 ' ## ## 0x6030 ' ## ## 0x3060 ' ## ## 0x3FE0 ' ######### 0x0F80 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x1C00 ' ### 0x3E00 ' ##### 0x6300 ' ## ## 0x6330 ' ## ## ## 0x6330 ' ## ## ## 0x6330 ' ## ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0F8C ' ##### 0x3FEE ' ######### 0x3066 ' ## ## 0x603C ' ## ## 0x603C ' ## ## 0x603E ' ## ## 0x3066 ' ## ## 0x3FE0 ' ######### 0x0F80 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0x1C70 ' ### ### 0x3EE0 ' ##### ### 0x77C0 ' ### ##### 0x6380 ' ## ### 0x6330 ' ## ## ## 0x6330 ' ## ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x79C0 ' #### ### 0x7BE0 ' #### ##### 0x2370 ' # ## ### 0x6330 ' ## ## ## 0x6230 ' ## # ## 0x6630 ' ## ## ## 0x7620 ' ### ## # 0x3EF0 ' ##### #### 0x1CF0 ' ### #### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x7C00 ' ##### 0x7C00 ' ##### 0x6030 ' ## ## 0x6030 ' ## ## 0x7FF0 ' ########### 0x7FF0 ' ########### 0x6030 ' ## ## 0x6030 ' ## ## 0x7C00 ' ##### 0x7C00 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x6000 ' ## 0x7FC0 ' ######### 0x7FE0 ' ########## 0x6070 ' ## ### 0x0030 ' ## 0x6070 ' ## ### 0x7FE0 ' ########## 0x7FC0 ' ######### 0x6000 ' ## 0x0000 ' 0x0000 ' 0x0000 ' 0x6000 ' ## 0x7000 ' ### 0x7E00 ' ###### 0x6F80 ' ## ##### 0x01F0 ' ##### 0x0070 ' ### 0x01F0 ' ##### 0x6F80 ' ## ##### 0x7E00 ' ###### 0x7000 ' ### 0x6000 ' ## 0x0000 ' 0x0000 ' 0x6000 ' ## 0x7F00 ' ####### 0x7FF0 ' ########### 0x60F0 ' ## #### 0x6FF0 ' ## ######## 0x0E00 ' ### 0x6FF0 ' ## ######## 0x60F0 ' ## #### 0x7FF0 ' ########### 0x7F00 ' ####### 0x6000 ' ## 0x0000 ' 0x0000 ' 0x6030 ' ## ## 0x6030 ' ## ## 0x7070 ' ### ### 0x78F0 ' #### #### 0x0D80 ' ## ## 0x0700 ' ### 0x0D80 ' ## ## 0x78F0 ' #### #### 0x7070 ' ### ### 0x6030 ' ## ## 0x6030 ' ## ## 0x0000 ' 0x0000 ' 0x6000 ' ## 0x7000 ' ### 0x7830 ' #### ## 0x6E30 ' ## ### ## 0x07F0 ' ####### 0x07F0 ' ####### 0x6E30 ' ## ### ## 0x7830 ' #### ## 0x7000 ' ### 0x6000 ' ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x70F0 ' ### #### 0x78F0 ' #### #### 0x6E30 ' ## ### ## 0x6730 ' ## ### ## 0x61B0 ' ## ## ## 0x78F0 ' #### #### 0x7870 ' #### ### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0x0FF0 ' ######## 0x1FF0 ' ######### 0x1B60 ' ## ## ## 0x1B30 ' ## ## ## 0x1B30 ' ## ## ## 0x1BB0 ' ## ### ## 0x09F0 ' # ##### 0x00E0 ' ### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x07C0 ' ##### 0x0FE0 ' ####### 0x1C70 ' ### ### 0x1830 ' ## ## 0x1830 ' ## ## 0x1830 ' ## ## 0x0C60 ' ## ## 0xFFF0 ' ############ 0xFFF0 ' ############ 0xC030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x1E60 ' #### ## 0x0E30 ' ### ## 0x1830 ' ## ## 0x1830 ' ## ## 0x1830 ' ## ## 0x1830 ' ## ## 0x1C70 ' ### ### 0x0FE0 ' ####### 0x07C0 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0xFFF0 ' ############ 0xFFF0 ' ############ 0xCC60 ' ## ## ## 0x1830 ' ## ## 0x1830 ' ## ## 0x1830 ' ## ## 0x1C70 ' ### ### 0x0FE0 ' ####### 0x07C0 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0760 ' ### ## 0x0F70 ' #### ### 0x1B30 ' ## ## ## 0x1B30 ' ## ## ## 0x1B30 ' ## ## ## 0x1B30 ' ## ## ## 0x1B70 ' ## ## ### 0x0FE0 ' ####### 0x07C0 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0xC000 ' ## 0xD830 ' ## ## ## 0xD830 ' ## ## ## 0xD830 ' ## ## ## 0xD830 ' ## ## ## 0xFFF0 ' ############ 0x7FF0 ' ########### 0x1830 ' ## ## 0x1830 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x1800 ' ## 0x1FFC ' ######### 0x1FFE ' ######### 0x0C63 ' ## ## 0x1833 ' ## ## 0x1833 ' ## ## 0x1833 ' ## ## 0x1C73 ' ### ### 0x0FE0 ' ####### 0x07C0 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0x0FF0 ' ######## 0x1FF0 ' ######### 0x1830 ' ## ## 0x1800 ' ## 0x1800 ' ## 0x0C30 ' ## ## 0xFFF0 ' ############ 0xFFF0 ' ############ 0xC030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0x0030 ' ## 0x0030 ' ## 0xDFF0 ' ## ######### 0xDFF0 ' ## ######### 0x1830 ' ## ## 0x1830 ' ## ## 0x1830 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x1FFC ' ######### 0xDFFE ' ## ######### 0xD803 ' ## ## 0x1803 ' ## 0x1803 ' ## 0x1803 ' ## 0x1803 ' ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0x1830 ' ## ## 0x1830 ' ## ## 0x1870 ' ## ### 0x1CC0 ' ### ## 0x0780 ' #### 0x0300 ' ## 0xFFF0 ' ############ 0xFFF0 ' ############ 0xC030 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0x0030 ' ## 0x0030 ' ## 0xFFF0 ' ############ 0xFFF0 ' ############ 0xC030 ' ## ## 0xC030 ' ## ## 0xC030 ' ## ## 0x0000 ' 0x0000 ' 0x0030 ' ## 0x0FF0 ' ######## 0x1FF0 ' ######### 0x1800 ' ## 0x1830 ' ## ## 0x0FF0 ' ######## 0x1FF0 ' ######### 0x1800 ' ## 0x1830 ' ## ## 0x1FF0 ' ######### 0x1FF0 ' ######### 0x1830 ' ## ## 0x0000 ' 0x0000 ' 0x0030 ' ## 0x0FF0 ' ######## 0x1FF0 ' ######### 0x1830 ' ## ## 0x1800 ' ## 0x1800 ' ## 0x0C30 ' ## ## 0x1FF0 ' ######### 0x1FF0 ' ######### 0x1830 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x07C0 ' ##### 0x0FE0 ' ####### 0x1C70 ' ### ### 0x1830 ' ## ## 0x1830 ' ## ## 0x1830 ' ## ## 0x1C70 ' ### ### 0x0FE0 ' ####### 0x07C0 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x07C0 ' ##### 0x0FE0 ' ####### 0x1C70 ' ### ### 0x1830 ' ## ## 0x1830 ' ## ## 0x1833 ' ## ## 0x0C63 ' ## ## 0x1FFF ' ######### 0x1FFF ' ######### 0x1803 ' ## 0x0000 ' 0x0000 ' 0x1803 ' ## 0x1FFF ' ######### 0x1FFF ' ######### 0x0C63 ' ## ## 0x1833 ' ## ## 0x1830 ' ## ## 0x1830 ' ## ## 0x1C70 ' ### ### 0x0FE0 ' ####### 0x07C0 ' ##### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0C00 ' ## 0x1C30 ' ### ## 0x1830 ' ## ## 0x1830 ' ## ## 0x0C30 ' ## ## 0x1FF0 ' ######### 0x1FF0 ' ######### 0x1830 ' ## ## 0x1830 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x1CE0 ' ### ### 0x1DE0 ' ### #### 0x19B0 ' ## ## ## 0x19B0 ' ## ## ## 0x1B30 ' ## ## ## 0x1B30 ' ## ## ## 0x0F70 ' #### ### 0x0E70 ' ### ### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0060 ' ## 0x1860 ' ## ## 0x1830 ' ## ## 0x1830 ' ## ## 0x1830 ' ## ## 0xFFF0 ' ############ 0xFFE0 ' ########### 0x1800 ' ## 0x1800 ' ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0030 ' ## 0x1FF0 ' ######### 0x1FF0 ' ######### 0x1860 ' ## ## 0x0030 ' ## 0x0030 ' ## 0x0030 ' ## 0x1FF0 ' ######### 0x1FE0 ' ######## 0x1800 ' ## 0x0000 ' 0x0000 ' 0x1800 ' ## 0x1800 ' ## 0x1C00 ' ### 0x1F00 ' ##### 0x1BC0 ' ## #### 0x00F0 ' #### 0x0030 ' ## 0x00F0 ' #### 0x1BC0 ' ## #### 0x1F00 ' ##### 0x1C00 ' ### 0x1800 ' ## 0x1800 ' ## 0x0000 ' 0x1800 ' ## 0x1F00 ' ##### 0x1FF0 ' ######### 0x18F0 ' ## #### 0x01C0 ' ### 0x0700 ' ### 0x01C0 ' ### 0x18F0 ' ## #### 0x1FF0 ' ######### 0x1F00 ' ##### 0x1800 ' ## 0x0000 ' 0x0000 ' 0x1830 ' ## ## 0x1830 ' ## ## 0x1C70 ' ### ### 0x1EF0 ' #### #### 0x0380 ' ### 0x0380 ' ### 0x1EF0 ' #### #### 0x1C70 ' ### ### 0x1830 ' ## ## 0x1830 ' ## ## 0x0000 ' 0x0000 ' 0x0000 ' 0x1800 ' ## 0x1C00 ' ### 0x1F00 ' ##### 0x1BE3 ' ## ##### 0x00FB ' #### 0x003F ' ## 0x00FF ' #### 0x1BE3 ' ## ##### 0x1F03 ' ##### 0x1C03 ' ### 0x1800 ' ## 0x0000 ' 0x0000 ' 0x0000 ' 0x1870 ' ## ### 0x1C70 ' ### ### 0x1E30 ' #### ## 0x1B30 ' ## ## ## 0x19B0 ' ## ## ## 0x18F0 ' ## #### 0x1C70 ' ### ### 0x1C30 ' ### ## 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' '62 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 ' 0x0E00 ' ### 0x0E00 ' ### 0x0E38 ' ### ### 0x0778 ' ### #### 0x07F8 ' ######## 0xFFE0 ' ########### 0xFFC0 ' ########## '63 0xFFE0 ' ########### 0x07F8 ' ######## 0x0778 ' ### #### 0x0E38 ' ### ### 0x0E00 ' ### 0x0E00 ' ### 0x0006 ' ## 0x000E ' ### 0x003E ' ##### 0x00F6 ' lambda #### ## 0x03C0 ' #### 0x0F00 ' #### 0x3F00 ' ###### 0xF3C0 ' #### #### 0xC0F6 ' ## #### ## 0xC03E ' ## ##### 0xC00E ' ## ### 0x0006 ' ## 0x0000 ' 0x0000 0x0000 0x0000 0x0180 0x0180 0x0180 0x0180 '- minus 0x0180 0x0180 0x0180 0x0000 0x0000 0x0000 0x0000 ' 0x0000 ' 0x0000 ' 0x01C0 ' ### 0x03E0 ' ##### 0x07F0 ' ####### 0x07F0 ' ####### 0x07F0 ' ####### 0x03E0 ' ##### 0x01C0 ' ### 0x0000 ' 0x0000 ' 0x0000 ' 0x0000 0x0000 0x0000 0x0CC0 0x0CC0 0x0CC0 0x0CC0 0x0CC0 '= equals sign 0x0CC0 0x0CC0 0x0000 0x0000 0x0000 end table table gcb 16 53 40 36 55 62 12 50 58 62 11 36 54 44 38 end table table menu1 11 , 47 , 36 , 49 , 46, 0 ' Blank 28 , 51 , 40 , 38 , 55 , 53 , 56 , 48, 0 ' Spectrum 32 , 53 , 44 , 55 , 40 , 62 , 15 , 47 , 36 , 54 , 43, 0 'Write Flash 24 , 41 , 41, 0 ' Off 28 , 51 , 40 , 38 , 62 , 13 , 44 , 54 , 51 , 47 , 36 , 60, 0 ' Spec Display 28 , 38 , 36 , 49 , 54,62, 1,6,0 ' Scans 12 , 36 , 47 , 44 , 37 , 53 , 36 , 55 , 40,62, 0 ' Calibrate 30 , 28 , 11 , 62 , 29 , 53 , 36 , 49 , 54 , 41 , 40 , 53, 0 ' USB Transfer 13, 36, 53, 46, 62, 12, 56, 53, 53, 40, 49, 55,0 'Dark Current 28,43,56,55,55,40,53 'Shutter end table table powerdown 25 , 50 , 58 , 40 , 53 , 44 , 49 , 42 , 62 , 13 , 50 , 58 , 49 ' Powering Down 1-13 25 , 50 , 58 , 40 , 53 , 44 , 49 , 42 , 62 , 30 , 51 ' Powering Up 14-24 28 , 38 , 36 , 49 , 54 , 62 , 15 , 44 , 59 , 40 , 39 , 62 , 36 , 55 , 62 , 1 , 6 ' Scans Fixed at 16 25-41 32 , 36 , 57 , 40 , 47 , 40 , 49 , 42 , 55 , 43 ' Wavelength 42-51 10 , 37 , 54 , 50 , 53 , 37 , 36 , 49 , 38 , 40 ' Absorbance 52-61 49 , 48 , 62 , 51 , 40 , 53 , 62 , 51 , 44 , 59 , 40 , 47 ' nm per pixel 62-73 28 , 55 , 36 , 53 , 55 , 62 , 58 , 36 , 57 , 40 , 47 , 40 , 49 , 42 , 55 , 43 ' Start wavelength 74-89 11, 47, 36, 49, 46, 62, 44, 49, 62, 54, 36, 48, 51, 47, 40, 62, 43, 50, 47, 39, 40, 53 ' Blank in sample holder 90-111 25, 53, 40, 54, 54, 62, 55, 43, 40, 62, 53, 40, 39, 62, 37, 56, 55, 55, 50, 49 ' Press the red button 112-131 12, 36, 49, 62, 55, 36, 46, 40, 62, 54, 50, 48, 40, 62, 55, 44, 48, 40 ' Can take some time 132-149 17, 44, 42, 43, 62, 10, 37, 54, 62, 54, 36, 48, 51, 47, 40, 62, 44, 49, 62, 43, 50, 47, 39, 40, 53 ' High Abs sample in holder 150-174 23, 50, 62, 54, 51, 40, 38, 55, 53, 36, 62, 54, 55, 50, 53, 40, 39, 64 ' No spectra stored! 175-192 end table table font1 b'00000000' b'11100000' b'11111000' b'11111100' b'11111110' b'00001111' b'00000011' b'00000011' b'00001111' b'11111110' b'11111100' b'11111000' b'11100000' b'00000000' b'00000000' b'00000000' b'00001100' b'00001100' b'00001110' b'00001110' 'end of zero b'11111111' 'start of one b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11110000' b'11111100' b'11111110' b'11110110' b'11100011' b'00000011' b'00000011' b'00001111' b'11111111' b'11111110' '2 b'11111110' b'11111100' b'11110000' b'00000000' b'00000000' b'00111000' b'01111100' b'01111110' b'00110011' b'00000011' b'00000011' b'00000011' b'00001111' b'11111110' b'11111110' b'11111000' b'11110000' b'00000000' b'00000000' b'00000000' '3 b'00000000' b'00000000' b'00000000' b'11110000' b'11111111' b'11111111' b'00011111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11111100' b'11111110' b'11111110' b'00011110' b'00011110' '4 b'00011110' b'00011110' b'00011110' b'00011110' b'00011111' b'00011111' b'00000000' b'00000000' b'00000000' b'00000000' b'10000000' b'11100000' b'11111000' b'11111100' b'01111110' b'00001110' b'00000011' b'00000011' b'00011111' b'00111111' '5 b'00111110' b'00111110' b'00011100' b'00000000' b'01111110' b'01111110' b'00111110' b'00011110' b'00011110' b'00011110' b'00011110' b'00011110' b'00011110' b'00011110' b'11011110' b'11111110' b'01111110' b'00011110' b'00000000' b'00000000' '6 b'11110000' b'11111100' b'11111110' b'00000110' b'00000011' b'00000011' b'00000011' b'00000111' b'00001110' b'11111110' b'11111100' b'11110000' b'00000000' b'00000000' b'11000000' b'11110000' b'11111100' b'11111110' b'11111110' b'00001111' '7 b'00000011' b'00000011' b'00001111' b'11111110' b'11111110' b'11111000' b'11110000' b'00000000' b'00000000' b'00011110' b'00110011' b'00110011' b'10011110' b'11100000' b'11111000' b'11111110' b'00001111' b'00000111' b'00000011' b'00000011' '8 b'11110011' b'11111110' b'11111100' b'11111000' b'11111100' b'11111110' b'00000001' b'00000001' b'11111110' b'11111100' b'00000000' b'00000000' b'00000000' b'11100000' b'11111100' b'00111110' b'00000110' b'00000000' b'00000000' b'00000000' '9 b'00000000' b'00000000' b'00000000' b'00001100' b'00001100' b'00001110' b'00001110' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' end table table font2 b'11111110' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'11111111' b'11111111' b'11111111' b'11111111' b'11111110' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000001' b'00000001' b'00000001' b'00000000' b'00000000' b'11000000' b'11111000' b'11111111' b'11111111' b'01111111' b'00011111' b'00000111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11000000' b'11000000' b'11100000' b'01111000' b'00111111' b'00111111' b'00001111' b'00000011' b'00000000' b'00000000' b'00000000' b'00000000' b'10000000' b'11111110' b'11111111' b'11111111' b'00000111' b'00000000' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'11111111' b'11111111' b'01111111' b'01110000' b'01110000' b'01110000' b'11110000' b'11110000' b'11100000' b'11100000' b'11000000' b'10000000' b'00000000' b'00000000' b'11111000' b'11111111' b'11111111' b'11111111' b'11111111' b'11000000' b'01100000' b'01110000' b'11110000' b'11110000' b'11110000' b'11100000' b'11000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11100000' b'11111000' b'11111111' b'00011111' b'00000011' b'00000000' b'00000000' b'00000000' b'00000000' b'00000111' b'00011111' b'01111111' b'11111111' b'11111100' b'11111000' b'11110000' b'11110000' b'11011110' b'10001111' b'00000111' b'00000001' b'00000000' b'00000000' b'01111111' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'11111111' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'11111110' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000001' b'00000001' b'00000000' b'00000001' b'00000011' b'00000100' b'00000100' b'00000011' b'00000001' b'10000000' b'11111000' b'01111111' b'00001111' b'00000001' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11100000' b'11100000' b'11100000' b'11100000' b'11100000' b'00000000' b'00000000' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' end table table font3 b'01111111' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'11111111' b'11111111' b'11111111' b'11111111' b'01111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11000000' b'11110000' b'11111100' b'00111111' b'00011111' b'00000111' b'00000011' b'00000001' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000001' b'00000111' b'11111111' b'11111110' b'11111100' b'11111000' b'11100000' b'00000000' b'11000000' b'11111000' b'11111111' b'11111111' b'11101111' b'11100001' b'11100000' b'11100000' b'11111111' b'11111111' b'11111111' b'11111111' b'11100000' b'11100000' b'11100000' b'00000000' b'00000001' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000011' b'11111111' b'11111111' b'11111111' b'11111111' b'11111100' b'00000000' b'11111111' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'11111111' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11110000' b'11111110' b'11111111' b'11111111' b'00000001' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11000000' b'11111000' b'11111100' b'00011110' b'00000111' b'00000001' b'00000011' b'00000111' b'00011111' b'01111111' b'11111111' b'11111111' b'11111100' b'11110000' b'00000000' b'00000000' b'00000011' b'00000111' b'00001111' b'00001111' b'00001111' b'00001110' b'00000110' b'00000111' b'11111111' b'11111111' b'11111111' b'11111111' b'00111111' b'00000000' b'00000000' b'00000000' b'01111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11100000' b'11111100' b'00111111' b'00000011' b'10000000' b'11000000' b'00100000' b'00100000' b'11000000' b'10000000' b'00000000' b'00000000' b'00000011' b'00000011' b'00000011' b'00000011' b'00000011' b'00000000' b'00000000' b'11111111' b'11111111' b'11111111' b'11111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' end table table font4 b'00000000' b'00000111' b'00011111' b'00111111' b'01111111' b'11110000' b'11000000' b'11000000' b'11110000' b'01111111' b'01111111' b'00011111' b'00000111' b'00000000' b'00000000' b'00000000' b'00000000' b'11000000' b'11000000' b'11100000' b'11111111' b'11111111' b'11111111' b'11111111' b'11100000' b'11000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11110000' b'11111100' b'11111111' b'11110111' b'11110001' b'11110000' b'11110000' b'11110000' b'11110000' b'11110000' b'11110000' b'11111000' b'11111100' b'11111100' b'00000000' b'00011110' b'00111111' b'01111111' b'11111111' b'11001110' b'11000000' b'11000000' b'11100000' b'11111000' b'01111111' b'01111111' b'00111111' b'00011111' b'00000111' b'00000000' b'00000001' b'00000001' b'00000001' b'00000001' b'00000001' b'00000001' b'11000001' b'11000001' b'11111111' b'11111111' b'11111111' b'11111111' b'11000001' b'11000001' b'00000001' b'00011110' b'00111111' b'01111111' b'11101111' b'11001110' b'11000000' b'11000000' b'11100000' b'11111000' b'01111111' b'01111111' b'00111111' b'00001111' b'00000011' b'00000000' b'00000000' b'00001111' b'00111111' b'01111111' b'01111111' b'11110000' b'11000000' b'11000000' b'11110000' b'11111111' b'01111111' b'00111111' b'00011111' b'00000011' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'01111111' b'11111111' b'11111111' b'11111111' b'01111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000111' b'00011111' b'00111111' b'01111000' b'11100000' b'11000000' b'11000000' b'11000000' b'11100000' b'11110000' b'01111111' b'00111111' b'00011111' b'00000111' b'00000000' b'00000000' b'00111000' b'01111100' b'11111100' b'11111100' b'11011000' b'11000000' b'11100000' b'01111100' b'01111111' b'00111111' b'00001111' b'00000011' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000001' b'00000111' b'00011111' b'01111110' b'11110000' b'11100000' b'11000000' b'11000000' b'11000000' b'01100000' b'00110000' b'00011100' b'00000000' b'11000000' b'11111000' b'01111111' b'00001111' b'00000001' b'00000000' b'00000000' b'00111111' b'01111111' b'10000000' b'10000000' b'01111111' b'00111111' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'11000000' b'11000000' b'11100000' b'11111111' b'11111111' b'11111111' b'11111111' b'11100000' b'11000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' b'00000000' end table