<root>
<document schema='101' license='1,WoodWorkerB,9GHDGJ' title='' description='' target='PIC.18F.18F4580' >
	<config data='!0,ff!8,38!10,f9!18,fe!20,ff!28,fd!30,fb!38,ff!40,ff!48,ff!50,ff!58,ff!60,ff!68,ff%8,8%e,0%f,0%10,1%11,0%13,3%18,0%19,f%29,0%2a,1%2f,1%30,1%32,0%34,1%36,1%37,1%40,1%41,1%42,1%43,1%4f,1%4e,1%50,1%51,1%52,1%53,1%5f,1%5e,1%5d,1%60,1%61,1%62,1%63,1%6e,1' clkspd='8000000' simspd='4' usewdt='1' constif='0' />
	<plugins >
		<dll_dbg_icd enabled='0' >
			<data name='debug' value='1' />
			<data name='userpins' value='0' />
			<data name='speed' value='1000' />
			<data name='usev9' value='0' />
			<data name='breaks' value='8' />
			<data name='stacks' value='8' />
			<data name='clkport' value='1' />
			<data name='clkbit' value='6' />
			<data name='dataport' value='1' />
			<data name='databit' value='7' />
			<data name='ghostype' value='0' />
			<data name='monitor' value='1' />
			<data name='ictloop' value='1' />
			<data name='ictrate' value='1000' />
			<data name='ictmask' value='-1' />
			<data name='anlpres' value='255' />
			<data name='digmask1' value='-1' />
			<data name='digmask2' value='-1' />
		</dll_dbg_icd>
		<dll_models enabled='1' />
		<dll_upgrader enabled='1' />
		<dll_webhelp enabled='1' />
	</plugins>
	<supplement use='0' head='' body='' />
	<debug >
		<watch expr='Counter' />
		<watch expr='Command' />
		<watch expr='Parameter' />
		<watch expr='String_Test' />
		<watch expr='SingleBitString' />
		<watch expr='LCD_Print_Char.LCD_Character' />
	</debug>
	<components >
		<settings autoimg='1' center='1' unitscale='0' fixedscale='0' fixedx='1' fixedy='1' fixedz='1' headcode='0' />
		<definition guid='a489175f-82ff-40fc-8588-0c2b3d29ee48' vstate='30' vmin='2' vmaj='0' srcleaf='' visiblename='LCD_Serial' description='' category='Misc' catenable='1' author='BWV' manuname='' manucode='' sysinfo='0' keywords='' dynamic='0' iconpath='' />
		<component class_type='root' codename='LCD_Serial' x='0' y='0' z='0' xsz='1' ysz='1' zsz='1' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' interactive='1' solid='1' layer='0' poslock='0' >
			<resources />
			<properties />
			<values />
			<events />
			<apis >
				<api name='LCD_Init' alt='$(type)_$(module)__$(macro)' type='1' proto='1' />
				<api name='LCD_Backspace' alt='LCD_Backspace' type='1' proto='1' />
				<api name='LCD_Cursor_Blink_Off' alt='LCD_Cursor_Blink_Off' type='1' proto='1' />
				<api name='LCD_Shift_Display_Right' alt='LCD_Shift_Display_Right' type='1' proto='1' />
				<api name='LCD_Cursor_Left' alt='LCD_Cursor_Left' type='1' proto='1' />
				<api name='LCD_Cursor_Home' alt='LCD_Cursor_Home' type='1' proto='1' />
				<api name='LCD_Cursor_Underline_On' alt='LCD_Cursor_Underline_On' type='1' proto='1' />
				<api name='LCD_Set_Backlight_Brightness' alt='LCD_Set_Backlight_Brightness' type='1' proto='1' />
				<api name='LCD_Clear_Screen' alt='LCD_Clear_Screen' type='1' proto='1' />
				<api name='LCD_Set_Contrast' alt='LCD_Set_Contrast' type='1' proto='1' />
				<api name='LCD_Cursor_Underline_Off' alt='LCD_Cursor_Underline_Off' type='1' proto='1' />
				<api name='LCD_Cursor_Blink_On' alt='LCD_Cursor_Blink_On' type='1' proto='1' />
				<api name='LCD_Set_Cursor' alt='LCD_Set_Cursor' type='1' proto='1' />
				<api name='LCD_Shift_Display_Left' alt='LCD_Shift_Display_Left' type='1' proto='1' />
				<api name='LCD_Display_On' alt='$(type)_$(module)__$(macro)' type='1' proto='1' />
				<api name='LCD_Cursor_Right' alt='LCD_Cursor_Right' type='1' proto='1' />
				<api name='LCD_Display_Off' alt='$(type)_$(module)__$(macro)' type='1' proto='1' />
			</apis>
			<variables >
				<variable public='0' >
					<def class_type='variable' name='Counter' type='u16' description='' isconst='0' isinit='1' usrinit='65' setinit='0x41' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='SingleBitString' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='false' type='b1' description='' isconst='1' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Parameter' type='u8' description='Some commands require a parameter.  0xFF = No parameter' isconst='0' isinit='1' usrinit='255' setinit='0xFF' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Cursor_Status' type='b1' description='Is the cursor visible? (cleared when turn display off' isconst='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Command' type='u16' description='Command to be passed to LCD_Command to send to LCD' isconst='0' isinit='1' usrinit='0' setinit='0x00' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='String_Test' type='T8' description='Test String' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='20' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Delay' type='u16' description='Delay in microseconds between prefix and command' isconst='0' isinit='1' usrinit='100' setinit='100' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='bCounter' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='true' type='b1' description='' isconst='1' isinit='1' usrinit='1' setinit='1' />
				</variable>
			</variables>
			<macros >
				<macro >
					<flowline name='LCD_Init' description='Set up serial port' >
						<command class_type='call' title='Call Component Macro' component='cal_uart1' macro='Init' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='Delay = 100' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Clear_Screen' />
						<command class_type='call' title='Call Macro' macro='LCD_Set_Backlight_Brightness' >
							<argument exp='7' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Set_Contrast' >
							<argument exp='40' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Backspace' description='Move cursor back one space' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x4E' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Cursor_Blink_Off' description='Make cursor not blink' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x4C' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Shift_Display_Right' description='Shifts display to the right one space' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x56' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Cursor_Left' description='Move cursor left one space' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x49' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Print_Char' description='Prints character at current cursor location' >
						<param name='LCD_Character' type='u16' description='Character to print on the screen at current cursor location' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Component Macro' break='1' component='cal_uart1' macro='Send' >
							<argument exp='.LCD_Character' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Cursor_Home' description='Moves cursor to line 1, column 1' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x45' />
							<exp exp='Parameter = 0x00' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Cursor_Underline_On' description='Turns on underline cursor' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x47' />
							<exp exp='Cursor_Status = 1' />
							<exp exp='Delay = 1500' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Set_Backlight_Brightness' description='Set backlight brightness between 1 and 8.  Default = 1' >
						<param name='LCD_Parameter' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Set Variables' >
							<exp exp='Command = 0x53' />
							<exp exp='Parameter = .LCD_Parameter' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_test' description='Puts alpha characters on display to test baud, wiring, etc' >
						<command class_type='loop' title='Loop' type='2' exp='8' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_uart1' macro='Send' >
									<argument exp='Counter' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='Counter = Counter + 1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Clear_Screen' description='Clear screen' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x51' />
							<exp exp='Delay = 1500' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Set_Contrast' description='Set Display contrast between 1 and 50, with 50 the highest contrast.  Default = 40' >
						<param name='LCD_Parameter' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Set Variables' >
							<exp exp='Command = 0x52' />
							<exp exp='Parameter = .LCD_Parameter' />
							<exp exp='Delay = 500' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Cursor_Underline_Off' description='Turns off underline cursor' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x48' />
							<exp exp='Cursor_Status = 0' />
							<exp exp='Delay = 1500' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Command' description='Turn off display (Display contents not changed)' >
						<command class_type='call' title='Call Component Macro' component='cal_uart1' macro='Send' >
							<argument exp='0xFE' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_uart1' macro='Send' >
							<argument exp='Command' />
						</command>
						<command class_type='decision' title='Is any parameter to send?' exp='Parameter = 0xFF' swap='1' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_uart1' macro='Send' >
									<argument exp='Parameter' />
								</command>
								<command class_type='calculation' title='Reset Variables' >
									<exp exp='Parameter = 0xFF' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='delay' title='Delay' exp='Delay' type='0' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='Delay = 100' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Set_Cursor' description='Sets the cursor position.  
Line 1, col 1 = 0x00
Line 2, col 1 = 0x40
Line 3, col 1 = 0x14
Line 4, col 1 = 0x54' >
						<param name='LCD_Parameter' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Set Variables' >
							<exp exp='Command = 0x45' />
							<exp exp='Parameter = .LCD_Parameter' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Cursor_Blink_On' description='Make cursor blink' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x4B' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Shift_Display_Left' description='Shifts display to the left one space' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x55' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro keep='1' >
					<flowline name='LCD_Display_On' description='Turns on the display (display text not altered)' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x41' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
						<command class_type='decision' title='Cursor on?' exp='Cursor_Status = 1' swap='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='LCD_Cursor_Underline_On' />
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Cursor_Right' description='Move cursor right one space' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x4A' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_Display_Off' description='Turn off display (Display contents not changed)' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Command = 0x42' />
						</command>
						<command class_type='call' title='Call Macro' macro='LCD_Command' />
					</flowline>
				</macro>
				<macro >
					<flowline name='Main' description='' >
						<command class_type='native' title='C Code' ccode='/*
  Enter C code below this comment
*/
osccon=0x70; //8MHz' language='C' />
						<command class_type='call' title='Call Macro' macro='LCD_Init' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='String_Test = &quot;Hello World&quot;' />
						</command>
						<command class_type='call' title='Call Macro' disable='1' macro='LCD_Print_Char' >
							<argument exp='0x41' />
						</command>
						<command class_type='delay' title='Delay' exp='1' type='1' />
						<command class_type='calculation' title='init' >
							<exp exp='bCounter = 0' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='bCounter &lt; 11' start='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='LCD_Print_Char' >
									<argument exp='String_Test[bCounter]' />
								</command>
								<command class_type='calculation' title='init' >
									<exp exp='bCounter = bCounter + 1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
			</macros>
			<component class_type='ref' guid='91b64b1d-b8b2-40f1-b073-e953a91fa234' vmin='1' vmaj='1' codename='cal_uart1' x='0' y='0' z='0' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' interactive='1' solid='1' layer='1' poslock='0' >
				<resources />
				<properties />
				<values >
					<value target='CHANNEL' data='001' />
					<value target='TX' data='$PORTC.6' />
					<value target='OutputPins' data='007' />
					<value target='RX' data='$PORTC.7' />
					<value target='InputPins' data='013' />
					<value target='CTS_PORT' data='$PORTC.5' />
					<value target='CTS_PIN' data='5' />
					<value target='CTS_TRIS' data='$PORTC.5' />
					<value target='RTS_PORT' data='$PORTC.4' />
					<value target='RTS_PIN' data='4' />
					<value target='RTS_TRIS' data='$PORTC.4' />
					<value target='BAUD_LIST' data='004' />
					<value target='BAUD' data='9600' />
					<value target='DBITS' data='008' />
					<value target='RETURN' data='000' />
					<value target='ECHO' data='000' />
					<value target='INT' data='000' />
					<value target='FLOWEN' data='000' />
					<value target='RTS' data='$PORTC.4' />
					<value target='CTS' data='$PORTC.5' />
					<value target='REF' data='0' />
					<value target='TX_PORT' data='$PORTC.6' />
					<value target='TX_TRIS' data='$PORTC.6' />
					<value target='TX_PIN' data='6' />
					<value target='RX_PORT' data='$PORTC.7' />
					<value target='RX_TRIS' data='$PORTC.7' />
					<value target='RX_PIN' data='7' />
					<value target='REMAPPABLE' data='' />
					<value target='OutputReg' data='007' />
					<value target='TXRPNUM' data='3' />
					<value target='RXRPREG' data='RPINR18bits.U1RXR' />
					<value target='Injector' data='000' />
					<value target='InjectorHandle' data='0' />
					<value target='ScopeTraces' data='0' />
					<value target='ConsoleData' data='0' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='c34f9b8a-a915-4f75-ad0c-87f2ad670a8a' vmin='2' vmaj='1' codename='CircularBuffer1' x='0' y='0' z='0' xsz='20' ysz='20' zsz='20' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' interactive='1' solid='1' layer='0' poslock='0' >
				<resources />
				<properties />
				<values >
					<value target='BufferSize' data='128' />
					<value target='StorageType' data='000' />
					<value target='MemType' data='000' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
		</component>
	</components>
	<keymap />
	<panel2d shadows='0' lighting='0' brightness='0' perspective='0' >
		<background rgb='9737364' img='' style='0' />
		<camera xe='0' ye='0' ze='23.2859' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
	</panel2d>
	<panel3d shadows='0' lighting='0' brightness='0' perspective='0' >
		<background rgb='12582912' img='..\icons\solar\space.gif' style='0' />
		<table rgb='49280' img='' style='0' size='0' />
		<camera xe='0' ye='0' ze='300' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
	</panel3d>
	<layout >
		<view type='0' name='Main' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAHwQAAJMCAAA' zoom='75' scrollx='0' scrolly='198' flags='0' />
	</layout>
</document>
</root>
