<root>
<document schema='101' license='1,Daniel Sallros,FXBWB0' title='' description='' target='PIC.18F.18F4550' >
	<config data='!0,e4!8,fc!10,fe!18,fe!20,ff!28,fd!30,9b!38,ff!40,ff!48,ff!50,ff!58,ff!60,ff!68,ff%5,1%3,0%0,4%8,c%e,1%f,1%15,1%10,0%11,3%13,3%18,0%19,f%28,1%29,0%2a,1%2f,1%30,1%32,0%35,0%36,0%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='40000000' simspd='1' usewdt='0' constif='0' />
	<plugins >
		<dll_dbg_icd enabled='0' >
			<data name='debug' value='1' />
			<data name='userpins' value='0' />
			<data name='speed' value='0' />
			<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='monitor' value='1' />
			<data name='ictloop' value='0' />
			<data name='ictrate' value='20000' />
			<data name='ictmask' value='0' />
		</dll_dbg_icd>
		<dll_models enabled='1' />
		<dll_upgrader enabled='1' />
		<dll_webhelp enabled='1' />
	</plugins>
	<supplement use='0' head='' body='' />
	<debug />
	<components >
		<settings autoimg='1' center='1' unitscale='0' fixedscale='0' fixedx='1' fixedy='1' fixedz='1' headcode='0' />
		<definition guid='8aab4b54-a912-449c-b11a-7c1a5db8d591' vstate='40' vmin='0' vmaj='1' srcleaf='' visiblename='TCP/IP (ENC28J60)' description='A set of routines used to control a ENC28J60 TCP/IP Module' category='Comms' catenable='1' author='Ben Rowland' manuname='Microchip' manucode='ENC28J60' sysinfo='0' keywords='' dynamic='0' iconpath='' />
		<component class_type='root' codename='TCPIP_ENC28J60' 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='1' poslock='0' >
			<resources />
			<properties >
				<property name='SPI Settings' folder='property_3' hidden='0' >
					<property name='SPI Channel' target='CHANNEL' typeid='16' hidden='0' locked='0' info='SPI peripheral onboard the target microcontroller to use.' filter='000Software
001Channel 1
002Channel 2
003Channel 3
004Channel 4
' />
					<property name='Prescale' target='PR_SCALE' typeid='16' hidden='0' locked='0' info='Rate by which the master oscillator is reduced before clocking the SPI peripheral' filter='004Fosc/4
016Fosc/16
064Fosc/64' />
					<property name='Chip Select CS' target='cs_pin' typeid='5' hidden='0' locked='0' info='' />
					<property name='MOSI (SDO)' target='MOSI' typeid='5' hidden='0' locked='0' info='' />
					<property name='MISO (SDI)' target='MISO' typeid='5' hidden='0' locked='0' info='' />
					<property name='CLK' target='CLK' typeid='5' hidden='0' locked='0' info='' />
					<property name='MOSI Remap' target='MosiRemap' typeid='16' hidden='1' locked='0' info='' filter='000$PORTE.5
001$PORTE.7
002$PORTG.6
003$PORTG.8
004$PORTF.4
005$PORTF.5
006$PORTF.3
007$PORTD.0
008$PORTD.1
009$PORTD.2
010$PORTD.3
011$PORTD.4
012$PORTD.5
013$PORTD.6
014$PORTD.7
015$PORTF.0
016$PORTF.1
017$PORTE.0
018$PORTE.2
019$PORTE.4' />
					<property name='MISO Remap' target='MisoRemap' typeid='16' hidden='1' locked='0' info='' filter='085$PORTE.5
086$PORTE.6
087$PORTE.7
118$PORTG.6
119$PORTG.7
120$PORTG.8
121$PORTG.9
037$PORTB.5
036$PORTB.4
035$PORTB.3
034$PORTB.2
033$PORTB.1
032$PORTB.0
038$PORTB.6
039$PORTB.7
040$PORTB.8
041$PORTB.9
042$PORTB.10
043$PORTB.11
044$PORTB.12
045$PORTB.13
046$PORTB.14
047$PORTB.15
100$PORTF.4
101$PORTF.5
099$PORTF.3
060$PORTC.12
072$PORTD.8
073$PORTD.9
074$PORTD.10
075$PORTD.11
064$PORTD.0
061$PORTC.13
062$PORTC.14
065$PORTD.1
066$PORTD.2
067$PORTD.3
068$PORTD.4
069$PORTD.5
070$PORTD.6
071$PORTD.7
096$PORTF.0
097$PORTF.1
080$PORTE.0
081$PORTE.1
082$PORTE.2
083$PORTE.3
084$PORTE.4' />
					<property name='CLK Remap' target='ClkRemap' typeid='16' hidden='1' locked='0' info='' filter='000$PORTE.5
001$PORTE.7
002$PORTG.6
003$PORTG.8
004$PORTF.4
005$PORTF.5
006$PORTF.3
007$PORTD.0
008$PORTD.1
009$PORTD.2
010$PORTD.3
011$PORTD.4
012$PORTD.5
013$PORTD.6
014$PORTD.7
015$PORTF.0
016$PORTF.1
017$PORTE.0
018$PORTE.2
019$PORTE.4' />
				</property>
				<property name='MAC Address' folder='property_1' hidden='0' >
					<property name='MAC0' target='MAC0' typeid='21' hidden='0' locked='0' info='' />
					<property name='MAC1' target='MAC1' typeid='21' hidden='0' locked='0' info='' />
					<property name='MAC2' target='MAC2' typeid='21' hidden='0' locked='0' info='' />
					<property name='MAC3' target='MAC3' typeid='21' hidden='0' locked='0' info='' />
					<property name='MAC4' target='MAC4' typeid='21' hidden='0' locked='0' info='' />
					<property name='MAC5' target='MAC5' typeid='21' hidden='0' locked='0' info='' />
				</property>
				<property name='IP Address' folder='property_2' hidden='0' >
					<property name='IP0' target='IP0' typeid='21' hidden='0' locked='0' info='' />
					<property name='IP1' target='IP1' typeid='21' hidden='0' locked='0' info='' />
					<property name='IP2' target='IP2' typeid='21' hidden='0' locked='0' info='' />
					<property name='IP3' target='IP3' typeid='21' hidden='0' locked='0' info='' />
				</property>
				<property name='Port' folder='property_4' hidden='0' >
					<property name='Port' target='Port' typeid='21' hidden='0' locked='0' info='' />
				</property>
			</properties>
			<values >
				<value target='CHANNEL' data='000' />
				<value target='PR_SCALE' data='004' />
				<value target='cs_pin' data='$PORTA.5' />
				<value target='MOSI' data='$PORTA.0' />
				<value target='MISO' data='$PORTA.1' />
				<value target='CLK' data='$PORTA.2' />
				<value target='MosiRemap' data='013' />
				<value target='MisoRemap' data='065' />
				<value target='ClkRemap' data='009' />
				<value target='MAC0' data='100' />
				<value target='MAC1' data='101' />
				<value target='MAC2' data='120' />
				<value target='MAC3' data='150' />
				<value target='MAC4' data='0' />
				<value target='MAC5' data='50' />
				<value target='IP0' data='192' />
				<value target='IP1' data='168' />
				<value target='IP2' data='1' />
				<value target='IP3' data='90' />
				<value target='Port' data='80' />
			</values>
			<events >
				<event class='Components' event='Property' target='Ev_Property' />
				<event class='Components' event='Initialise' target='Ev_Initialise' />
			</events>
			<apis >
				<api name='EncPhyWrite' alt='EncPhyWrite' type='1' proto='1' />
				<api name='EncWrite' alt='EncWrite' type='1' proto='1' />
				<api name='IpFillTcpData' alt='IpFillTcpData' type='1' proto='1' />
				<api name='IpInitLenInfo' alt='IpInitLenInfo' type='1' proto='1' />
				<api name='EncSetBank' alt='EncSetBank' type='1' proto='1' />
				<api name='IpMakeTcpAckFromAny' alt='IpMakeTcpAckFromAny' type='1' proto='1' />
				<api name='IpMakeTcpHead' alt='IpMakeTcpHead' type='1' proto='1' />
				<api name='EncClockOut' alt='EncClockOut' type='1' proto='1' />
				<api name='IpMakeEth' alt='IpMakeEth' type='1' proto='1' />
				<api name='IpMakeTcpSynackFromSyn' alt='IpMakeTcpSynackFromSyn' type='1' proto='1' />
				<api name='IpInitIpArpUdpTcp' alt='IpInitIpArpUdpTcp' type='1' proto='1' />
				<api name='EncReadBuffer' alt='EncReadBuffer' type='1' proto='1' />
				<api name='IpMakeIp' alt='IpMakeIp' type='1' proto='1' />
				<api name='IpMakeEthIpNew' alt='IpMakeEthIpNew' type='1' proto='1' />
				<api name='IpMakeIpTcpNew' alt='IpMakeIpTcpNew' type='1' proto='1' />
				<api name='IpMakeArpRequest' alt='IpMakeArpRequest' type='1' proto='1' />
				<api name='IpChecksum' alt='IpChecksum' type='1' proto='1' />
				<api name='IpTcpGetDataLength' alt='IpTcpGetDataLength' type='1' proto='1' />
				<api name='EncPacketSend' alt='EncPacketSend' type='1' proto='1' />
				<api name='EncReadOp' alt='EncReadOp' type='1' proto='1' />
				<api name='IpMakeUdpReplyFromRequest' alt='IpMakeUdpReplyFromRequest' type='1' proto='1' />
				<api name='EncRead' alt='EncRead' type='1' proto='1' />
				<api name='IpArpPacketIsMyreplyArp' alt='IpArpPacketIsMyreplyArp' type='1' proto='1' />
				<api name='IpEthTypeArpMyIP' alt='IpEthTypeArpMyIP' type='1' proto='1' />
				<api name='IpMakeArpAnswerFromRequest' alt='IpMakeArpAnswerFromRequest' type='1' proto='1' />
				<api name='EncGetRev' alt='EncGetRev' type='1' proto='1' />
				<api name='EncInit' alt='EncInit' type='1' proto='1' />
				<api name='EncWriteBuffer' alt='EncWriteBuffer' type='1' proto='1' />
				<api name='IpGetTcpDataPointer' alt='IpGetTcpDataPointer' type='1' proto='1' />
				<api name='EncPacketReceive' alt='EncPacketReceive' type='1' proto='1' />
				<api name='IpMakeTcpAckWithData' alt='IpMakeTcpAckWithData' type='1' proto='1' />
				<api name='EncWriteOp' alt='EncWriteOp' type='1' proto='1' />
				<api name='IpEthTypeIpMyIp' alt='IpEthTypeIpMyIp' type='1' proto='1' />
				<api name='IpFillIpHdrChecksum' alt='IpFillIpHdrChecksum' type='1' proto='1' />
				<api name='IpMakeEchoReplyFromRequest' alt='IpMakeEchoReplyFromRequest' type='1' proto='1' />
				<api name='IpTcpClientSendPacket' alt='IpTcpClientSendPacket' type='1' proto='1' />
				<api name='Initialise' alt='Initialise' type='1' proto='1' />
			</apis>
			<variables >
				<variable public='0' >
					<def class_type='variable' name='info_hdr_len' type='s16' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
				</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='Enc28j60Bank' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='LTest' type='u8' description='' isconst='0' isinit='1' usrinit='1' setinit='1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='pvt_Channel' type='s16' description='' isconst='0' isinit='1' usrinit='-1' setinit='-1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='info_data_len' type='s16' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Buffer' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='256' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='IP_Identifier' type='u16' description='' isconst='0' isinit='1' usrinit='1' setinit='1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='SeqNum' type='u8' description='' isconst='0' isinit='1' usrinit='10' setinit='0x0A' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='BANK_MASK' type='s16' description='' isconst='1' isinit='1' usrinit='96' setinit='0x60' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='NextPacketPtr' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='true' type='b1' description='' isconst='1' isinit='1' usrinit='1' setinit='1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='ADDR_MASK' type='s16' description='' isconst='1' isinit='1' usrinit='31' setinit='0x1F' />
				</variable>
			</variables>
			<macros >
				<macro >
					<flowline name='EncPhyWrite' description='' >
						<param name='Address' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Data' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='retval' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='PHY register address' macro='EncWrite' >
							<argument exp='0xD4' />
							<argument exp='.Address' />
						</command>
						<command class_type='call' title='PHY data' macro='EncWrite' >
							<argument exp='0xD6' />
							<argument exp='.Data' />
						</command>
						<command class_type='call' title='PHY data' macro='EncWrite' >
							<argument exp='0xD7' />
							<argument exp='.Data &gt;&gt; 8' />
						</command>
						<command class_type='loop' title='wait until the PHY write completes' type='0' exp='.retval &amp; 0x01' start='0' >
							<flowline >
								<command class_type='delay' title='Delay' exp='15' type='0' />
								<command class_type='call' title='Call Macro' macro='EncRead' >
									<return exp='.retval' />
									<argument exp='0xCA' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncWrite' description='' >
						<param name='Address' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Data' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='EncSetBank' >
							<argument exp='.Address' />
						</command>
						<command class_type='call' title='ENC28J60_WRITE_CTRL_REG' macro='EncWriteOp' >
							<argument exp='0x40' />
							<argument exp='.Address' />
							<argument exp='.Data' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpInitLenInfo' description='' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='info_data_len = (Buffer[0x10] &lt;&lt; 8) | Buffer[0x11]' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='info_data_len = info_data_len - 20' />
						</command>
						<command class_type='calculation' title='generate len in bytes' >
							<exp exp='info_hdr_len = (Buffer[0x2E] &gt;&gt; 4) * 4' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='info_data_len = info_data_len - info_hdr_len' />
						</command>
						<command class_type='decision' title='Decision' exp='info_data_len &lt;= 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='info_data_len = 0' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpFillTcpData' description='' >
						<return name='Return' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Position' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Data' type='T8*' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='loop' title='Loop' type='0' exp='.Data[.idx]' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Buffer[0x36 + .Position] = .Data[.idx]' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.idx = .idx + 1' />
									<exp exp='.Position = .Position + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = .Position' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncSetBank' description='' >
						<param name='Address' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='(.Address &amp; BANK_MASK) != Enc28j60Bank' swap='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='EncWriteOp' >
									<argument exp='0xA0' />
									<argument exp='0x1F' />
									<argument exp='0x03' />
								</command>
								<command class_type='call' title='Call Macro' macro='EncWriteOp' >
									<argument exp='0x80' />
									<argument exp='0x1F' />
									<argument exp='(.Address &amp; BANK_MASK) &gt;&gt; 5' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='Enc28j60Bank = (.Address &amp; BANK_MASK)' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeTcpHead' description='' >
						<param name='RelAckNum' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Mss' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='CpSeq' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='4' setinit='4' />
						<local name='tseq' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Set Source and Destination Ports' >
							<exp exp='Buffer[0x24] = Buffer[0x22]' />
							<exp exp='Buffer[0x25] = Buffer[0x23]' />
							<exp exp='' />
							<exp exp='Buffer[0x22] = Port &gt;&gt; 8' />
							<exp exp='Buffer[0x23] = Port' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.idx &gt; 0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.RelAckNum = Buffer[0x26 + .idx - 1] + .RelAckNum' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.tseq = Buffer[0x2A + .idx - 1]' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='Buffer[0x2A + .idx - 1] = .RelAckNum' />
								</command>
								<command class_type='decision' title='Decision' exp='.CpSeq' swap='0' >
									<flowline >
										<command class_type='calculation' title='copy the acknum sent to us into the sequence number' >
											<exp exp='Buffer[0x26 + .idx - 1] = .tseq' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='Buffer[0x26 + .idx - 1] = 0' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.RelAckNum = .RelAckNum &gt;&gt; 8' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.idx = .idx - 1' />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='Decision' exp='.CpSeq = 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='put inital seq number' >
									<exp exp='Buffer[0x26] = 0' />
									<exp exp='Buffer[0x27] = 0' />
								</command>
								<command class_type='calculation' title='' >
									<exp exp='Buffer[0x28] = SeqNum' />
									<exp exp='Buffer[0x29] = 0' />
								</command>
								<command class_type='calculation' title='' >
									<exp exp='SeqNum = SeqNum + 2' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='zero the checksum' >
							<exp exp='Buffer[0x32] = 0' />
							<exp exp='Buffer[0x33] = 0' />
						</command>
						<command class_type='decision' title='Decision' exp='.Mss' swap='0' >
							<flowline >
								<command class_type='calculation' title='the only option we set is MSS to 1408:' >
									<exp exp='Buffer[0x36] = 2' />
									<exp exp='Buffer[0x37] = 4' />
									<exp exp='Buffer[0x38] = 5' />
									<exp exp='Buffer[0x39] = 0x80' />
									<exp exp='' />
									<exp exp='Buffer[0x2E] = 0x60' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='no options:' >
									<exp exp='Buffer[0x2E] = 0x50' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeTcpAckFromAny' description='' >
						<local name='ck' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<local name='SubBuff' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='28' />
						</local>
						<command class_type='call' title='Call Macro' macro='IpMakeEth' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x2F] = 0x10' />
						</command>
						<command class_type='decision' title='Decision' exp='info_data_len = 0' swap='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='IpMakeTcpHead' >
									<argument exp='1' />
									<argument exp='0' />
									<argument exp='1' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Call Macro' macro='IpMakeTcpHead' >
									<argument exp='info_data_len' />
									<argument exp='0' />
									<argument exp='1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x10] = 0' />
							<exp exp='Buffer[0x11] = 40' />
						</command>
						<command class_type='call' title='Call Macro' macro='IpMakeIp' />
						<command class_type='call' title='Calculate the checksum' macro='IpChecksum' >
							<return exp='.ck' />
							<argument exp='0x1A' />
							<argument exp='28' />
							<argument exp='2' />
						</command>
						<command class_type='calculation' title='Assign checksum' >
							<exp exp='Buffer[0x32] = .ck &gt;&gt; 8' />
							<exp exp='Buffer[0x33] = .ck' />
						</command>
						<command class_type='call' title='' macro='EncPacketSend' >
							<argument exp='54' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncClockOut' description='' >
						<param name='Clk' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='EncWrite' >
							<argument exp='0x75' />
							<argument exp='.Clk &amp; 0x07' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='PopulateInjectorFilter' description='' >
						<local name='ObjHandle' type='h32' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='RootHandle' type='h32' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='OldHandle' type='h32' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<local name='ObjName' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<local name='CmpName' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<local name='CmpStr' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='Index' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='sim' title='Call Macro' macro='Component.Property.SetFilter' >
							<argument exp='this' />
							<argument exp='&quot;Injector&quot;' />
							<argument exp='&quot;&quot;' />
						</command>
						<command class_type='sim' title='Call Macro' macro='Component.GetParent' >
							<return exp='.ObjHandle' />
							<argument exp='this' />
						</command>
						<command class_type='sim' title='Call Macro' macro='Tree.GetCopy' >
							<return exp='.RootHandle' />
							<argument exp='.ObjHandle' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.OldHandle != .ObjHandle' >
							<flowline >
								<command class_type='sim' title='Call Macro' macro='Tree.GetCopy' >
									<return exp='.OldHandle' />
									<argument exp='.ObjHandle' />
								</command>
								<command class_type='sim' title='Call Macro' macro='Tree.GetName' >
									<return exp='.ObjName' />
									<argument exp='.ObjHandle' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.CmpName = Left$ (.ObjName,8)' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.CmpStr = Compare$ (.CmpName,&quot;Injector&quot;,0)' />
								</command>
								<command class_type='decision' title='Decision' exp='.CmpStr = 0' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.CmpName = Left$ (.ObjName,12)' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.CmpStr = Compare$ (.CmpName,&quot;InjectorBase&quot;,0)' />
										</command>
										<command class_type='decision' title='Decision' exp='.CmpStr &gt; 0' swap='0' >
											<flowline >
												<command class_type='sim' title='Call Macro' macro='Component.Property.AddListItem' >
													<argument exp='this' />
													<argument exp='&quot;Injector&quot;' />
													<argument exp='.Index' />
													<argument exp='.ObjName' />
												</command>
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Index = .Index + 1' />
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='sim' title='Call Macro' macro='Tree.Traverse' >
									<argument exp='.ObjHandle' />
									<argument exp='.RootHandle' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeEth' description='' >
						<command class_type='calculation' title='copy the destination mac from the source' >
							<exp exp='Buffer[0] = Buffer[6]' />
							<exp exp='Buffer[1] = Buffer[7]' />
							<exp exp='Buffer[2] = Buffer[8]' />
							<exp exp='Buffer[3] = Buffer[9]' />
							<exp exp='Buffer[4] = Buffer[10]' />
							<exp exp='Buffer[5] = Buffer[11]' />
						</command>
						<command class_type='calculation' title='fill my mac into src' >
							<exp exp='Buffer[6] = MAC0' />
							<exp exp='Buffer[7] = MAC1' />
							<exp exp='Buffer[8] = MAC2' />
							<exp exp='Buffer[9] = MAC3' />
							<exp exp='Buffer[10] = MAC4' />
							<exp exp='Buffer[11] = MAC5' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='pvt_Pins_Cal2Comp' description='' >
						<command class_type='call' title='Call Macro' macro='pvt_Prop_Cal2Comp' >
							<argument exp='&quot;MISO&quot;' />
						</command>
						<command class_type='call' title='Call Macro' macro='pvt_Prop_Cal2Comp' >
							<argument exp='&quot;MOSI&quot;' />
						</command>
						<command class_type='call' title='Call Macro' macro='pvt_Prop_Cal2Comp' >
							<argument exp='&quot;CLK&quot;' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeTcpSynackFromSyn' description='' >
						<local name='ck' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='IpMakeEth' />
						<command class_type='calculation' title='total length field in the IP header' >
							<exp exp='Buffer[0x10] = 0' />
							<exp exp='Buffer[0x11] = 44' />
						</command>
						<command class_type='call' title='Call Macro' macro='IpMakeIp' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x2F] = 0x12' />
						</command>
						<command class_type='call' title='Call Macro' macro='IpMakeTcpHead' >
							<argument exp='1' />
							<argument exp='1' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='Calculate the checksum' macro='IpChecksum' >
							<return exp='.ck' />
							<argument exp='0x1A' />
							<argument exp='32' />
							<argument exp='2' />
						</command>
						<command class_type='calculation' title='Assign checksum' >
							<exp exp='Buffer[0x32] = .ck &gt;&gt; 8' />
							<exp exp='Buffer[0x33] = .ck' />
						</command>
						<command class_type='call' title='add 4 for option mss:' macro='EncPacketSend' >
							<argument exp='58' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_Initialise' description='Initialisation routine for the component once the component is linked to its parent' >
						<return name='Return' type='u32' description='Non-zero to prevent initialisation' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='tempstr' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='call' title='Call Macro' macro='pvt_List_Cal2Comp' >
							<argument exp='&quot;CHANNEL&quot;' />
						</command>
						<command class_type='call' title='Call Macro' macro='pvt_List_Cal2Comp' >
							<argument exp='&quot;PR_SCALE&quot;' />
						</command>
						<command class_type='call' title='Call Macro' macro='pvt_Pins_ShowHide' />
					</flowline>
				</macro>
				<macro >
					<flowline name='IpInitIpArpUdpTcp' description='' />
				</macro>
				<macro >
					<flowline name='EncReadBuffer' description='' >
						<param name='Length' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='Index' type='u16' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='cs_pin = 0' />
						</command>
						<command class_type='call' title='ENC28J60_READ_BUF_MEM' component='cal_spi' macro='Master_Byte' >
							<argument exp='0x3A' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.Index &lt; .Length' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
									<return exp='Buffer[.Index]' />
									<argument exp='0x3A' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Index = .Index + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[.Index] = 0' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='cs_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeIp' description='' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x1E] = Buffer[0x1A]' />
							<exp exp='Buffer[0x1F] = Buffer[0x1B]' />
							<exp exp='Buffer[0x20] = Buffer[0x1C]' />
							<exp exp='Buffer[0x21] = Buffer[0x1D]' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x1A] = IP0' />
							<exp exp='Buffer[0x1B] = IP1' />
							<exp exp='Buffer[0x1C] = IP2' />
							<exp exp='Buffer[0x1D] = IP3' />
						</command>
						<command class_type='calculation' title='Dont fragment' >
							<exp exp='Buffer[0x14] = 0x40' />
							<exp exp='Buffer[0x15] = 0' />
						</command>
						<command class_type='calculation' title='set packet identification' >
							<exp exp='Buffer[0x12] = IP_Identifier &gt;&gt; 8' />
							<exp exp='Buffer[0x13] = IP_Identifier' />
							<exp exp='IP_Identifier = IP_Identifier + 1' />
						</command>
						<command class_type='call' title='Call Macro' macro='IpFillIpHdrChecksum' />
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeEthIpNew' description='' >
						<param name='DestinationMAC' type='u8*' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='6' />
						</param>
						<command class_type='calculation' title='copy the destination mac' >
							<exp exp='Buffer[0] = .DestinationMAC[0]' />
							<exp exp='Buffer[1] = .DestinationMAC[1]' />
							<exp exp='Buffer[2] = .DestinationMAC[2]' />
							<exp exp='Buffer[3] = .DestinationMAC[3]' />
							<exp exp='Buffer[4] = .DestinationMAC[4]' />
							<exp exp='Buffer[5] = .DestinationMAC[5]' />
						</command>
						<command class_type='calculation' title='fill my mac into src' >
							<exp exp='Buffer[6] = MAC0' />
							<exp exp='Buffer[7] = MAC1' />
							<exp exp='Buffer[8] = MAC2' />
							<exp exp='Buffer[9] = MAC3' />
							<exp exp='Buffer[10] = MAC4' />
							<exp exp='Buffer[11] = MAC5' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[12] = 8' />
							<exp exp='Buffer[13] = 0' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeIpTcpNew' description='' >
						<param name='Length' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='DestIp' type='T8*' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<command class_type='calculation' title='set ipv4 and header length' >
							<exp exp='Buffer[0x0E] = 0x45' />
						</command>
						<command class_type='calculation' title='set TOS to default 0x00' >
							<exp exp='Buffer[0x0F] = 0x00' />
						</command>
						<command class_type='calculation' title='set total length' >
							<exp exp='Buffer[0x10] = .Length &gt;&gt; 8' />
							<exp exp='Buffer[0x11] = .Length' />
						</command>
						<command class_type='calculation' title='set packet identification' >
							<exp exp='Buffer[0x12] = IP_Identifier &gt;&gt; 8' />
							<exp exp='Buffer[0x13] = IP_Identifier' />
							<exp exp='IP_Identifier = IP_Identifier + 1' />
						</command>
						<command class_type='calculation' title='set fragment flags' >
							<exp exp='Buffer[0x14] = 0x00' />
							<exp exp='Buffer[0x15] = 0x00' />
						</command>
						<command class_type='calculation' title='set TTL' >
							<exp exp='Buffer[0x16] = 128' />
						</command>
						<command class_type='calculation' title='set ip packettype to tcp/udp/icmp...' >
							<exp exp='Buffer[0x17] = 0x06' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x1E] = .DestIp[0]' />
							<exp exp='Buffer[0x1F] = .DestIp[1]' />
							<exp exp='Buffer[0x20] = .DestIp[2]' />
							<exp exp='Buffer[0x21] = .DestIp[3]' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x1A] = IP0' />
							<exp exp='Buffer[0x1B] = IP1' />
							<exp exp='Buffer[0x1C] = IP2' />
							<exp exp='Buffer[0x1D] = IP3' />
						</command>
						<command class_type='call' title='Call Macro' macro='IpFillIpHdrChecksum' />
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeArpRequest' description='' >
						<param name='ServerIP' type='u8*' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='4' />
						</param>
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='loop' title='Loop' type='0' exp='.idx &lt; 6' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Buffer[0 + .idx] = 0xFF' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.idx = .idx + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[6] = MAC0' />
							<exp exp='Buffer[7] = MAC1' />
							<exp exp='Buffer[8] = MAC2' />
							<exp exp='Buffer[9] = MAC3' />
							<exp exp='Buffer[10] = MAC4' />
							<exp exp='Buffer[11] = MAC5' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[12] = 0x08' />
							<exp exp='Buffer[13] = 0x06' />
						</command>
						<command class_type='calculation' title='Generate ARP Packet' >
							<exp exp='Buffer[0x14] = 0x00' />
							<exp exp='Buffer[0x15] = 0x01' />
						</command>
						<command class_type='calculation' title='setup hardware type to ethernet 0x0001' >
							<exp exp='Buffer[0x0E] = 0x00' />
							<exp exp='Buffer[0x0F] = 0x01' />
						</command>
						<command class_type='calculation' title='setup protocol type to ip 0x0800' >
							<exp exp='Buffer[0x10] = 0x08' />
							<exp exp='Buffer[0x11] = 0x00' />
						</command>
						<command class_type='calculation' title='setup hardware length to 0x06' >
							<exp exp='Buffer[0x12] = 0x06' />
							<exp exp='' />
						</command>
						<command class_type='calculation' title='setup protocol length to 0x04' >
							<exp exp='Buffer[0x13] = 0x04' />
							<exp exp='' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.idx = 0' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.idx &lt; 6' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Buffer[0x20 + .idx] = 0' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.idx = .idx + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x16] = MAC0' />
							<exp exp='Buffer[0x17] = MAC1' />
							<exp exp='Buffer[0x18] = MAC2' />
							<exp exp='Buffer[0x19] = MAC3' />
							<exp exp='Buffer[0x1A] = MAC4' />
							<exp exp='Buffer[0x1B] = MAC5' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.idx = 0' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.idx &lt; 4' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Buffer[0x26 + .idx] = .ServerIP[.idx]' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.idx = .idx + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x1C] = IP0' />
							<exp exp='Buffer[0x1D] = IP1' />
							<exp exp='Buffer[0x1E] = IP2' />
							<exp exp='Buffer[0x1F] = IP3' />
							<exp exp='' />
						</command>
						<command class_type='call' title='eth+arp is 42 bytes:' macro='EncPacketSend' >
							<argument exp='42' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpChecksum' description='' >
						<return name='Return' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Idx' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Length' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Type' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='Sum' type='u32' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<local name='temp2' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='.Type = 1' swap='0' >
							<flowline >
								<command class_type='calculation' title='protocol udp' >
									<exp exp='.Sum = .Sum + 0x11' />
								</command>
								<command class_type='calculation' title='the length here is the length of udp' >
									<exp exp='.Sum = .Sum + (.Length - 8)' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='.Type = 2' swap='0' >
							<flowline >
								<command class_type='calculation' title='protocol udp' >
									<exp exp='.Sum = .Sum + 0x06' />
								</command>
								<command class_type='calculation' title='the length here is the length of tcp ' >
									<exp exp='.Sum = .Sum + (.Length - 8)' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='loop' title='build the sum of 16bit words' type='0' exp='.Length &gt; 1' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.temp2 = (Buffer[.Idx] &lt;&lt; 8) | Buffer[.Idx + 1]' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Sum = .Sum + .temp2' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Idx = .Idx + 2' />
									<exp exp='.Length = .Length - 2' />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='if there is a byte left then add it (padded with zero)' exp='.Length' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.temp2 = (Buffer[.Idx] &lt;&lt; 8)' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Sum = .Sum + .temp2' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='native' title='C Code' disable='1' ccode='while (FCL_SUM &gt;&gt; 16)
{
  FCL_SUM = (FCL_SUM &amp; 0xFFFF) + (FCL_SUM &gt;&gt; 16);
}' language='C' />
						<command class_type='loop' title='Loop' type='0' exp='.Sum / 65536' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.temp2 = .Sum &amp; 0xFFFF' />
								</command>
								<command class_type='calculation' title='now calculate the sum over the bytes in the sum' >
									<exp exp='.Sum = (.Sum / 65536) + .temp2' />
								</command>
							</flowline>
						</command>
						<command class_type='native' title='C Code' ccode='FCR_RETVAL = (MX_UINT16) FCL_SUM ^ 0xFFFF;' language='C' />
						<command class_type='calculation' title='build 1&apos;s complement:' disable='1' >
							<exp exp='.Return = ~ .Sum' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='pvt_Pins_ShowHide' description='' >
						<command class_type='decision' title='Decision' exp='CHANNEL' swap='0' >
							<flowline >
								<command class_type='sim' title='Panel' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;MOSI&quot;' />
									<argument exp='false' />
								</command>
								<command class_type='sim' title='Panel' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;MISO&quot;' />
									<argument exp='false' />
								</command>
								<command class_type='sim' title='Panel' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;CLK&quot;' />
									<argument exp='false' />
								</command>
							</flowline>
							<flowline >
								<command class_type='sim' title='Panel' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;MOSI&quot;' />
									<argument exp='true' />
								</command>
								<command class_type='sim' title='Panel' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;MISO&quot;' />
									<argument exp='true' />
								</command>
								<command class_type='sim' title='Panel' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;CLK&quot;' />
									<argument exp='true' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpTcpGetDataLength' description='' >
						<return name='Return' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='dLength' type='s16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='hLength' type='s16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.dLength = (Buffer[0x10] &lt;&lt; 8) | Buffer[0x11]' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.dLength = .dLength - 20' />
						</command>
						<command class_type='calculation' title='Length in bytes' >
							<exp exp='.hLength = (Buffer[0x2E] &gt;&gt; 4) * 4' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.dLength = .dLength - .hLength' />
							<exp exp='' />
						</command>
						<command class_type='decision' title='Decision' exp='.dLength &lt;= 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.dLength = 0' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = .dLength' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='pvt_Prop_Cal2Comp' description='' >
						<param name='sProperty' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<local name='sTemp' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='sim' title='Call Macro' component='cal_spi' macro='GetValue' >
							<return exp='.sTemp' />
							<argument exp='.sProperty' />
						</command>
						<command class_type='sim' title='Clear the property option list' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='.sProperty' />
							<argument exp='.sTemp' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncPacketSend' description='' >
						<param name='Length' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='EndPointer' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='retval' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Set the write pointer to start of transmit buffer area' macro='EncWrite' >
							<argument exp='0x02' />
							<argument exp='0x00' />
						</command>
						<command class_type='call' title='Set the write pointer to start of transmit buffer area' macro='EncWrite' >
							<argument exp='0x03' />
							<argument exp='0x1A' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.EndPointer = 0x1A00 + .Length' />
						</command>
						<command class_type='decision' title='Decision' exp='.EndPointer &gt; 0x1FFF' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.EndPointer = 0x1FFF' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='call' title='Set the TXND pointer to correspond to the packet size given' macro='EncWrite' >
							<argument exp='0x06' />
							<argument exp='.EndPointer' />
						</command>
						<command class_type='call' title='Set the TXND pointer to correspond to the packet size given' macro='EncWrite' >
							<argument exp='0x07' />
							<argument exp='.EndPointer &gt;&gt; 8' />
						</command>
						<command class_type='call' title='write per-packet control byte (0x00 means use macon3 settings)' macro='EncWriteOp' >
							<argument exp='0x7A' />
							<argument exp='0' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='copy the packet into the transmit buffer' macro='EncWriteBuffer' >
							<argument exp='.Length' />
						</command>
						<command class_type='call' title='send the contents of the transmit buffer onto the network' macro='EncWriteOp' >
							<argument exp='0x80' />
							<argument exp='0x1F' />
							<argument exp='0x08' />
						</command>
						<command class_type='call' title='Reset the transmit logic problem. See Rev. B4 Silicon Errata poi' macro='EncRead' >
							<return exp='.retval' />
							<argument exp='0x1C' />
						</command>
						<command class_type='decision' title='Decision' exp='.retval &amp; 0x02' swap='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='EncWriteOp' >
									<argument exp='0xA0' />
									<argument exp='0x1F' />
									<argument exp='0x08' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_Property' description='Sent when a property has been changed by the User' >
						<return name='Return' type='u32' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='tempstr' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='decision' title='Decision' exp='CHANNEL != pvt_Channel' swap='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='pvt_Prop_Comp2Cal' >
									<argument exp='&quot;CHANNEL&quot;' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
									<return exp='.tempstr' />
									<argument exp='cal_spi' />
									<argument exp='&quot;Remappable&quot;' />
								</command>
								<command class_type='decision' title='Decision' exp='.tempstr[0] = &apos;1&apos;' swap='0' >
									<flowline >
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;MOSIPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;MOSIPins&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;MISOPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;MISOPins&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;CLKPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;ClkPins&quot;' />
											<argument exp='.tempstr' />
										</command>
									</flowline>
									<flowline >
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='0' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='0' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='0' />
										</command>
									</flowline>
								</command>
								<command class_type='call' title='Simulation' macro='pvt_Pins_Cal2Comp' />
								<command class_type='calculation' title='Calculation' >
									<exp exp='pvt_Channel = CHANNEL' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='call' title='Call Macro' macro='pvt_Pins_ShowHide' />
						<command class_type='decision' title='Decision' exp='CHANNEL' swap='0' >
							<flowline >
								<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
									<return exp='.tempstr' />
									<argument exp='cal_spi' />
									<argument exp='&quot;Remappable&quot;' />
								</command>
								<command class_type='decision' title='Decision' exp='.tempstr[0] = &apos;1&apos;' swap='0' >
									<flowline >
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;MOSIPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;MOSIPins&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;MISOPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;MISOPins&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;CLKPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;ClkPins&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='call' title='Simulation' macro='pvt_Pins_Cal2Comp' />
									</flowline>
									<flowline >
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='0' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='0' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='0' />
										</command>
									</flowline>
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Call Macro' macro='pvt_Pins_Comp2Cal' />
							</flowline>
						</command>
						<command class_type='call' title='Panel' macro='pvt_Prop_Comp2Cal' >
							<argument exp='&quot;PR_SCALE&quot;' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncReadOp' description='' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Op' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Address' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='cs_pin = 0' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<argument exp='.Op | (.Address &amp; ADDR_MASK)' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<return exp='.Return' />
							<argument exp='0x00' />
						</command>
						<command class_type='decision' title='Decision' exp='.Address &amp; 0x80' swap='0' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
									<return exp='.Return' />
									<argument exp='0x00' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='cs_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeUdpReplyFromRequest' description='' >
						<param name='Data' type='T8*' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='DataLength' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Port' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<local name='ck' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='IpMakeEth' />
						<command class_type='decision' title='Decision' exp='.DataLength &gt; 220' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.DataLength = 220' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x10] = 0' />
							<exp exp='Buffer[0x11] = 28 + .DataLength' />
						</command>
						<command class_type='call' title='Call Macro' macro='IpMakeIp' />
						<command class_type='calculation' title='Assign Destination Port' >
							<exp exp='Buffer[0x24] = .Port &gt;&gt; 8' />
							<exp exp='Buffer[0x25] = .Port' />
						</command>
						<command class_type='calculation' title='calculte the udp length:' >
							<exp exp='Buffer[0x26] = 0' />
							<exp exp='Buffer[0x27] = 8 + .DataLength' />
						</command>
						<command class_type='calculation' title='Zero the checksum' >
							<exp exp='Buffer[0x28] = 0' />
							<exp exp='Buffer[0x29] = 0' />
						</command>
						<command class_type='loop' title='Copy the data' type='0' exp='.idx &lt; .DataLength' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Buffer[0x2A + .idx] = .Data[.idx]' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.idx = .idx + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='Calculate the checksum' macro='IpChecksum' >
							<return exp='.ck' />
							<argument exp='0x1A' />
							<argument exp='16 + .DataLength' />
							<argument exp='1' />
						</command>
						<command class_type='calculation' title='Zero the checksum' >
							<exp exp='Buffer[0x28] = .ck &gt;&gt; 8' />
							<exp exp='Buffer[0x29] = .ck' />
						</command>
						<command class_type='call' title='Call Macro' macro='EncPacketSend' >
							<argument exp='42 + .DataLength' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='pvt_Pins_Comp2Cal' description='' >
						<command class_type='call' title='Call Macro' macro='pvt_Prop_Comp2Cal' >
							<argument exp='&quot;MISO&quot;' />
						</command>
						<command class_type='call' title='Call Macro' macro='pvt_Prop_Comp2Cal' >
							<argument exp='&quot;MOSI&quot;' />
						</command>
						<command class_type='call' title='Call Macro' macro='pvt_Prop_Comp2Cal' >
							<argument exp='&quot;CLK&quot;' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncRead' description='' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Address' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='EncSetBank' >
							<argument exp='.Address' />
						</command>
						<command class_type='call' title='ENC28J60_READ_CTRL_REG' macro='EncReadOp' >
							<return exp='.Return' />
							<argument exp='0x00' />
							<argument exp='.Address' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpArpPacketIsMyreplyArp' description='' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='decision' title='if packet type is not arp packet exit from function' exp='Buffer[12] != Buffer[0x08] || Buffer[13] != Buffer[0x06]' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='check arp request opcode' exp='Buffer[0x14] != Buffer[0x00] || Buffer[0x15] != Buffer[0x02]' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='if destination ip address in arp packet not match with avr ip ad' exp='Buffer[0x26] != IP0' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='if destination ip address in arp packet not match with avr ip ad' exp='Buffer[0x27] != IP1' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='if destination ip address in arp packet not match with avr ip ad' exp='Buffer[0x28] != IP2' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='if destination ip address in arp packet not match with avr ip ad' exp='Buffer[0x29] != IP3' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 1' />
						</command>
						<command class_type='label' title='Connection Point' labelid='0' labelname='A' />
					</flowline>
				</macro>
				<macro >
					<flowline name='IpEthTypeArpMyIP' description='' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Length' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='decision' title='Decision' exp='.Length &lt; 41' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[12] != 0x08 || Buffer[13] != 0x06' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[0x26] != IP0' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[0x27] != IP1' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[0x28] != IP2' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[0x29] != IP3' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 1' />
						</command>
						<command class_type='label' title='Connection Point' labelid='0' labelname='A' />
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeArpAnswerFromRequest' description='' >
						<command class_type='call' title='Call Macro' macro='IpMakeEth' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x14] = 0' />
							<exp exp='Buffer[0x15] = 2' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x20] = Buffer[0x16]' />
							<exp exp='Buffer[0x21] = Buffer[0x17]' />
							<exp exp='Buffer[0x22] = Buffer[0x18]' />
							<exp exp='Buffer[0x23] = Buffer[0x19]' />
							<exp exp='Buffer[0x24] = Buffer[0x1A]' />
							<exp exp='Buffer[0x25] = Buffer[0x1B]' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x16] = MAC0' />
							<exp exp='Buffer[0x17] = MAC1' />
							<exp exp='Buffer[0x18] = MAC2' />
							<exp exp='Buffer[0x19] = MAC3' />
							<exp exp='Buffer[0x1A] = MAC4' />
							<exp exp='Buffer[0x1B] = MAC5' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x26] = Buffer[0x1C]' />
							<exp exp='Buffer[0x27] = Buffer[0x1D]' />
							<exp exp='Buffer[0x28] = Buffer[0x1E]' />
							<exp exp='Buffer[0x29] = Buffer[0x1F]' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x1C] = IP0' />
							<exp exp='Buffer[0x1D] = IP1' />
							<exp exp='Buffer[0x1E] = IP2' />
							<exp exp='Buffer[0x1F] = IP3' />
						</command>
						<command class_type='call' title='Call Macro' macro='EncPacketSend' >
							<argument exp='42' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncGetRev' description='' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='EncRead' >
							<return exp='.Return' />
							<argument exp='0x72' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncInit' description='' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='cs_pin = 1' />
						</command>
						<command class_type='call' title='System Reset' macro='EncWriteOp' >
							<argument exp='0xFF' />
							<argument exp='0' />
							<argument exp='0xFF' />
						</command>
						<command class_type='delay' title='Delay' exp='50' type='1' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='NextPacketPtr = 0' />
						</command>
						<command class_type='call' title='Rx Start - 0x0000' macro='EncWrite' >
							<argument exp='0x08' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='Rx Start' macro='EncWrite' >
							<argument exp='0x09' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='set receive pointer address - 0x0000' macro='EncWrite' >
							<argument exp='0x0C' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='set receive pointer address' macro='EncWrite' >
							<argument exp='0x0D' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='RX end - 0x19FF' macro='EncWrite' >
							<argument exp='0x0A' />
							<argument exp='0xFF' />
						</command>
						<command class_type='call' title='RX end' macro='EncWrite' >
							<argument exp='0x0B' />
							<argument exp='0x19' />
						</command>
						<command class_type='call' title='TX start - 0x1A00' macro='EncWrite' >
							<argument exp='0x04' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='TX start' macro='EncWrite' >
							<argument exp='0x05' />
							<argument exp='0x1A' />
						</command>
						<command class_type='call' title='TX end - 0x1FFF' macro='EncWrite' >
							<argument exp='0x06' />
							<argument exp='0xFF' />
						</command>
						<command class_type='call' title='TX end' macro='EncWrite' >
							<argument exp='0x07' />
							<argument exp='0x1F' />
						</command>
						<command class_type='call' title='Packet Filter - Bank1' macro='EncWrite' >
							<argument exp='0x38' />
							<argument exp='0xB0' />
						</command>
						<command class_type='call' title='Packet Filter' macro='EncWrite' >
							<argument exp='0x28' />
							<argument exp='0x3F' />
						</command>
						<command class_type='call' title='Packet Filter' macro='EncWrite' >
							<argument exp='0x29' />
							<argument exp='0x30' />
						</command>
						<command class_type='call' title='Packet Filter' macro='EncWrite' >
							<argument exp='0x30' />
							<argument exp='0xF9' />
						</command>
						<command class_type='call' title='Packet Filter' macro='EncWrite' >
							<argument exp='0x31' />
							<argument exp='0xF7' />
						</command>
						<command class_type='call' title='Enable MAC Receive - Bank2' macro='EncWrite' >
							<argument exp='0xC0' />
							<argument exp='0x0D' />
						</command>
						<command class_type='call' title='Enable MAC Receive' macro='EncWrite' >
							<argument exp='0xC1' />
							<argument exp='0x00' />
						</command>
						<command class_type='call' title='Auto 60 Byte Padding &amp; CRC' macro='EncWriteOp' >
							<argument exp='0x80' />
							<argument exp='0xC2' />
							<argument exp='0x32' />
						</command>
						<command class_type='call' title='Inner Frame Gap - Non Back to back' macro='EncWrite' >
							<argument exp='0xC6' />
							<argument exp='0x12' />
						</command>
						<command class_type='call' title='Inner Frame Gap' macro='EncWrite' >
							<argument exp='0xC7' />
							<argument exp='0x0C' />
						</command>
						<command class_type='call' title='Inner Frame Gap - Back to back' macro='EncWrite' >
							<argument exp='0xC4' />
							<argument exp='0x12' />
						</command>
						<command class_type='call' title='Max Packet Size' macro='EncWrite' >
							<argument exp='0xCA' />
							<argument exp='0x00' />
						</command>
						<command class_type='call' title='Max Packet Size' macro='EncWrite' >
							<argument exp='0xCB' />
							<argument exp='0x1A' />
						</command>
						<command class_type='call' title='MAC Address - Bank3' macro='EncWrite' >
							<argument exp='0xE4' />
							<argument exp='MAC0' />
						</command>
						<command class_type='call' title='MAC Address' macro='EncWrite' >
							<argument exp='0xE5' />
							<argument exp='MAC1' />
						</command>
						<command class_type='call' title='MAC Address' macro='EncWrite' >
							<argument exp='0xE2' />
							<argument exp='MAC2' />
						</command>
						<command class_type='call' title='MAC Address' macro='EncWrite' >
							<argument exp='0xE3' />
							<argument exp='MAC3' />
						</command>
						<command class_type='call' title='MAC Address' macro='EncWrite' >
							<argument exp='0xE0' />
							<argument exp='MAC4' />
						</command>
						<command class_type='call' title='MAC Address' macro='EncWrite' >
							<argument exp='0xE1' />
							<argument exp='MAC5' />
						</command>
						<command class_type='call' title='no loopback of transmitted frames' macro='EncPhyWrite' >
							<argument exp='0x10' />
							<argument exp='0x0100' />
						</command>
						<command class_type='call' title='Switch to Bank0' macro='EncSetBank' >
							<argument exp='0x1F' />
						</command>
						<command class_type='call' title='Enable Interrupts' macro='EncWriteOp' >
							<argument exp='0x80' />
							<argument exp='0x1B' />
							<argument exp='0xC0' />
						</command>
						<command class_type='call' title='Enable Packet Reception' macro='EncWriteOp' >
							<argument exp='0x80' />
							<argument exp='0x1F' />
							<argument exp='0x04' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncWriteBuffer' description='' >
						<param name='Length' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='Index' type='u16' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='cs_pin = 0' />
						</command>
						<command class_type='call' title='ENC28J60_WRITE_BUF_MEM' component='cal_spi' macro='Master_Byte' >
							<argument exp='0x7A' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.Index &lt; .Length' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
									<argument exp='Buffer[.Index]' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Index = .Index + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='cs_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpGetTcpDataPointer' description='' >
						<return name='Return' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='info_data_len' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = 0x22 + info_hdr_len' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = 0' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='pvt_Prop_Comp2Cal' description='' >
						<param name='sProperty' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<local name='sTemp' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
							<return exp='.sTemp' />
							<argument exp='this' />
							<argument exp='.sProperty' />
						</command>
						<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
							<argument exp='.sProperty' />
							<argument exp='.sTemp' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncPacketReceive' description='' >
						<return name='Return' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='MaxLength' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='RxStat' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='Length' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='RetVal' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='check if a packet has been received and buffered' macro='EncRead' >
							<return exp='.RetVal' />
							<argument exp='0x39' />
						</command>
						<command class_type='decision' title='Decision' exp='.RetVal = 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = 0' />
								</command>
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='call' title='Set the read pointer to the start of the received packet' macro='EncWrite' >
							<argument exp='0' />
							<argument exp='NextPacketPtr' />
						</command>
						<command class_type='call' title='Call Macro' macro='EncWrite' >
							<argument exp='1' />
							<argument exp='NextPacketPtr &gt;&gt; 8' />
						</command>
						<command class_type='call' title='read the next packet pointer' macro='EncReadOp' >
							<return exp='NextPacketPtr' />
							<argument exp='0x3A' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='read the next packet pointer' macro='EncReadOp' >
							<return exp='.RetVal' />
							<argument exp='0x3A' />
							<argument exp='0' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='NextPacketPtr = NextPacketPtr | (.RetVal &lt;&lt; 8)' />
						</command>
						<command class_type='call' title='read the packet length' macro='EncReadOp' >
							<return exp='.Length' />
							<argument exp='0x3A' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='read the packet length' macro='EncReadOp' >
							<return exp='.RetVal' />
							<argument exp='0x3A' />
							<argument exp='0' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Length = .Length | (.RetVal &lt;&lt; 8)' />
							<exp exp='.Length = .Length - 4' />
						</command>
						<command class_type='call' title='read the receive status ' macro='EncReadOp' >
							<return exp='.RxStat' />
							<argument exp='0x3A' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='read the receive status ' macro='EncReadOp' >
							<return exp='.RetVal' />
							<argument exp='0x3A' />
							<argument exp='0' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.RxStat = .RxStat | (.RetVal &lt;&lt; 8)' />
						</command>
						<command class_type='decision' title='Decision' exp='.Length &gt; (.MaxLength - 1)' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Length = .MaxLength - 1' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='check CRC and symbol errors' exp='(.RxStat &amp; 0x80) = 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Length = 0' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Call Macro' macro='EncReadBuffer' >
									<argument exp='.Length' />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='Move the RX read pointer to the start of the next received packe' macro='EncWrite' >
							<argument exp='0x0C' />
							<argument exp='NextPacketPtr' />
						</command>
						<command class_type='call' title='Move the RX read pointer to the start of the next received packe' macro='EncWrite' >
							<argument exp='0x0D' />
							<argument exp='NextPacketPtr &gt;&gt; 8' />
						</command>
						<command class_type='call' title='decrement the packet counter indicate we are done with this pack' macro='EncWriteOp' >
							<argument exp='0x80' />
							<argument exp='0x1E' />
							<argument exp='0x40' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = .Length' />
						</command>
						<command class_type='label' title='Connection Point' labelid='0' labelname='A' />
					</flowline>
				</macro>
				<macro >
					<flowline name='Loop' description='' >
						<local name='plen' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='dat_p' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='retval' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='CompString' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='4' />
						</local>
						<command class_type='call' title='Check for incoming data' macro='EncPacketReceive' >
							<return exp='.plen' />
							<argument exp='255' />
						</command>
						<command class_type='decision' title='Data Available?' exp='.plen != 0' swap='0' >
							<flowline >
								<command class_type='call' title='ARP Request?' macro='IpEthTypeArpMyIP' >
									<return exp='.retval' />
									<argument exp='.plen' />
								</command>
								<command class_type='decision' title='Decision' exp='.retval' swap='0' >
									<flowline >
										<command class_type='call' title='Call Macro' macro='IpMakeArpAnswerFromRequest' />
										<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
									</flowline>
									<flowline />
								</command>
								<command class_type='call' title='IP Request' macro='IpEthTypeIpMyIp' >
									<return exp='.retval' />
									<argument exp='.plen' />
								</command>
								<command class_type='decision' title='Decision' exp='.retval = 0' swap='0' >
									<flowline >
										<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Ping Request' exp='Buffer[0x17] == 0x01 &amp;&amp; Buffer[0x22] == 8' swap='0' >
									<flowline >
										<command class_type='decision' title='Decision' exp='LTest = 1' swap='0' >
											<flowline >
												<command class_type='output' title='Output' mode='1' port='1048580' mask='4' exp='0' />
												<command class_type='calculation' title='Calculation' >
													<exp exp='LTest = 0' />
												</command>
											</flowline>
											<flowline >
												<command class_type='output' title='Output' mode='1' port='1048580' mask='4' exp='1' />
												<command class_type='calculation' title='Calculation' >
													<exp exp='LTest = 1' />
												</command>
											</flowline>
										</command>
										<command class_type='call' title='Call Macro' macro='IpMakeEchoReplyFromRequest' >
											<argument exp='.plen' />
										</command>
										<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Check for TCP Port Request' exp='Buffer[0x17] == 0x06 &amp;&amp; Buffer[0x24] == 0 &amp;&amp; Buffer[0x25] == Port' swap='0' >
									<flowline >
										<command class_type='decision' title='Synchronise?' exp='Buffer[0x2F] &amp; 0x02' swap='0' >
											<flowline >
												<command class_type='call' title='Call Macro' macro='IpMakeTcpSynackFromSyn' />
												<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
											</flowline>
											<flowline />
										</command>
										<command class_type='decision' title='Ack?' exp='Buffer[0x2F] &amp; 0x10' swap='0' >
											<flowline >
												<command class_type='call' title='Call Macro' macro='IpInitLenInfo' />
												<command class_type='call' title='Call Macro' macro='IpGetTcpDataPointer' >
													<return exp='.dat_p' />
												</command>
												<command class_type='decision' title='Is there no data?' exp='.dat_p = 0' swap='0' >
													<flowline >
														<command class_type='decision' title='Decision' exp='Buffer[0x2F] &amp; 0x01' swap='0' >
															<flowline >
																<command class_type='call' title='Call Macro' macro='IpMakeTcpAckFromAny' />
															</flowline>
															<flowline />
														</command>
														<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
													</flowline>
													<flowline />
												</command>
												<command class_type='calculation' title='Calculation' >
													<exp exp='.CompString[0] = Buffer[.dat_p]' />
													<exp exp='.CompString[1] = Buffer[.dat_p + 1]' />
													<exp exp='.CompString[2] = Buffer[.dat_p + 2]' />
													<exp exp='.CompString[3] = Buffer[.dat_p + 3]' />
												</command>
												<command class_type='decision' title='Head / Post or other requests' exp='Compare$ (&quot;GET &quot;, .CompString,0) != 0' swap='0' >
													<flowline >
														<command class_type='call' title='Call Macro' macro='IpFillTcpData' >
															<return exp='.plen' />
															<argument exp='0' />
															<argument exp='&quot;HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n&lt;h1&gt;200 OK&lt;/h1&gt;&quot;' />
														</command>
														<command class_type='goto' title='Goto Connection Point' labelid='1' labelname='' />
													</flowline>
													<flowline />
												</command>
												<command class_type='calculation' title='Calculation' >
													<exp exp='.CompString[0] = Buffer[.dat_p + 4]' />
													<exp exp='.CompString[1] = Buffer[.dat_p + 5]' />
													<exp exp='.CompString[2] = 0' />
												</command>
												<command class_type='decision' title='Root of I/P' exp='Compare$ (&quot;/ &quot;, .CompString,0) = 0' swap='0' >
													<flowline >
														<command class_type='call' title='Call Macro' macro='IpFillTcpData' >
															<return exp='.plen' />
															<argument exp='0' />
															<argument exp='&quot;HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n&quot;' />
														</command>
														<command class_type='call' title='Call Macro' macro='IpFillTcpData' >
															<return exp='.plen' />
															<argument exp='.plen' />
															<argument exp='&quot;&lt;center&gt;&lt;p&gt;&lt;h1&gt;Welcome to Arduino Ethernet Shield V1.0  &lt;/h1&gt;&lt;/p&gt;&quot;' />
														</command>
														<command class_type='call' title='Call Macro' macro='IpFillTcpData' >
															<return exp='.plen' />
															<argument exp='.plen' />
															<argument exp='&quot;&lt;hr&gt;&lt;br&gt; &lt;h2&gt;&lt;font color=\&quot;blue\&quot;&gt;-- Put your ARDUINO online -- &quot;' />
														</command>
														<command class_type='call' title='Call Macro' macro='IpFillTcpData' >
															<return exp='.plen' />
															<argument exp='.plen' />
															<argument exp='&quot;&lt;br&gt; Control digital outputs &quot;' />
														</command>
														<command class_type='call' title='Call Macro' macro='IpFillTcpData' >
															<return exp='.plen' />
															<argument exp='.plen' />
															<argument exp='&quot;&lt;br&gt; Read digital analog inputs HERE &quot;' />
														</command>
														<command class_type='call' title='Call Macro' macro='IpFillTcpData' >
															<return exp='.plen' />
															<argument exp='.plen' />
															<argument exp='&quot;  &lt;br&gt;&lt;/font&gt;&lt;/h2&gt; &quot;' />
														</command>
														<command class_type='call' title='Call Macro' macro='IpFillTcpData' >
															<return exp='.plen' />
															<argument exp='.plen' />
															<argument exp='&quot;&lt;/center&gt;&lt;hr&gt;  V1.0 &lt;a href=\&quot;http://www.nuelectronics.com\&quot;&gt;www.nuelectronics.com&lt;a&gt;&quot;' />
														</command>
														<command class_type='goto' title='Goto Connection Point' labelid='1' labelname='' />
													</flowline>
													<flowline />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='label' title='Connection Point' labelid='1' labelname='SendTCP' />
										<command class_type='call' title='send ack for http get' macro='IpMakeTcpAckFromAny' />
										<command class_type='call' title='send data  ' macro='IpMakeTcpAckWithData' >
											<argument exp='.plen' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='label' title='Connection Point' labelid='0' labelname='Return' />
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeTcpAckWithData' description='' >
						<param name='DataLength' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='ck' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x2F] = 0x19' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.ck = 40 + .DataLength' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x10] = .ck &gt;&gt; 8' />
							<exp exp='Buffer[0x11] = .ck' />
						</command>
						<command class_type='call' title='Call Macro' macro='IpFillIpHdrChecksum' />
						<command class_type='calculation' title='Zero the checksum' >
							<exp exp='Buffer[0x32] = 0' />
							<exp exp='Buffer[0x33] = 0' />
						</command>
						<command class_type='call' title='Calculate the checksum' macro='IpChecksum' >
							<return exp='.ck' />
							<argument exp='0x1A' />
							<argument exp='28 + .DataLength' />
							<argument exp='2' />
						</command>
						<command class_type='calculation' title='Assign checksum' >
							<exp exp='Buffer[0x32] = .ck &gt;&gt; 8' />
							<exp exp='Buffer[0x33] = .ck' />
						</command>
						<command class_type='call' title='' macro='EncPacketSend' >
							<argument exp='54 + .DataLength' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='EncWriteOp' description='' >
						<param name='Op' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Address' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Data' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='cs_pin = 0' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<argument exp='.Op | (.Address &amp; ADDR_MASK)' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<argument exp='.Data' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='cs_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpEthTypeIpMyIp' description='' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Length' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='decision' title='Decision' exp='.Length &lt; 42' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[12] != 0x08 || Buffer[13] != 0x00' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[0x0E] != 0x45' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[0x1E] != IP0' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[0x1F] != IP1' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[0x20] != IP2' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[0x21] != IP3' swap='0' >
							<flowline >
								<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 1' />
						</command>
						<command class_type='label' title='Connection Point' labelid='0' labelname='A' />
					</flowline>
				</macro>
				<macro >
					<flowline name='IpFillIpHdrChecksum' description='' >
						<local name='ck' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='clear the 2 byte checksum' >
							<exp exp='Buffer[0x18] = 0' />
							<exp exp='Buffer[0x19] = 0' />
						</command>
						<command class_type='calculation' title='Dont fragment' >
							<exp exp='Buffer[0x14] = 0' />
							<exp exp='Buffer[0x15] = 0' />
						</command>
						<command class_type='calculation' title='TTL' >
							<exp exp='Buffer[0x16] = 64' />
						</command>
						<command class_type='call' title='Calculate the checksum' macro='IpChecksum' >
							<return exp='.ck' />
							<argument exp='0x0E' />
							<argument exp='20' />
							<argument exp='0' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x18] = .ck &gt;&gt; 8' />
							<exp exp='Buffer[0x19] = .ck' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='pvt_List_Cal2Comp' description='' >
						<param name='sProperty' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<local name='sTemp' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='100' />
						</local>
						<command class_type='sim' title='Simulation' component='cal_spi' macro='GetList' >
							<return exp='.sTemp' />
							<argument exp='.sProperty' />
						</command>
						<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
							<argument exp='this' />
							<argument exp='.sProperty' />
							<argument exp='.sTemp' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Main' description='' >
						<command class_type='output' title='Output' mode='1' port='1048579' mask='8' exp='0' />
						<command class_type='delay' title='Delay' exp='1' type='1' />
						<command class_type='output' title='Output' mode='1' port='1048579' mask='8' exp='1' />
						<command class_type='delay' title='Delay' exp='100' type='1' />
						<command class_type='call' title='Call Macro' macro='Initialise' />
						<command class_type='loop' title='Loop' type='0' exp='1' >
							<flowline >
								<command class_type='delay' title='Delay' exp='10' type='1' />
								<command class_type='call' title='Call Macro' macro='Loop' />
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpMakeEchoReplyFromRequest' description='' >
						<param name='Length' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='IpMakeEth' />
						<command class_type='call' title='Call Macro' macro='IpMakeIp' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x22] = 0' />
						</command>
						<command class_type='decision' title='Decision' exp='Buffer[0x24] &gt; 0xF7' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Buffer[0x25] = Buffer[0x25] + 1' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='Buffer[0x24] = Buffer[0x24] + 0x08' />
						</command>
						<command class_type='call' title='Call Macro' macro='EncPacketSend' >
							<argument exp='.Length' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='IpTcpClientSendPacket' description='' >
						<param name='DestPort' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='SourcePort' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Flags' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='MaxSegmentSize' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='ClearSeqAck' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='NextAckNum' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='DataLength' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='DestMac' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='6' />
						</param>
						<param name='DestIp' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='4' />
						</param>
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<local name='tseq' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<local name='ck' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='IpMakeEthIpNew' >
							<argument exp='.DestMac' />
						</command>
						<command class_type='calculation' title='Set Destination Port' >
							<exp exp='Buffer[0x24] = .DestPort &gt;&gt; 8' />
							<exp exp='Buffer[0x25] = .DestPort' />
						</command>
						<command class_type='calculation' title='Set Source Port' >
							<exp exp='Buffer[0x22] = .SourcePort &gt;&gt; 8' />
							<exp exp='Buffer[0x23] = .SourcePort' />
						</command>
						<command class_type='decision' title='sequence numbers' exp='.NextAckNum' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Idx = 4' />
								</command>
								<command class_type='loop' title='Loop' type='0' exp='.Idx &gt; 0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.NextAckNum = Buffer[0x26 + .Idx - 1] + .NextAckNum' />
											<exp exp='.tseq = Buffer[0x2A + .Idx - 1]' />
											<exp exp='Buffer[0x2A + .Idx - 1] = .NextAckNum' />
										</command>
										<command class_type='calculation' title='copy the acknum sent to us into the sequence number' >
											<exp exp='Buffer[0x26 + .Idx - 1] = .tseq' />
											<exp exp='.NextAckNum = .NextAckNum &gt;&gt; 8' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.Idx = .Idx - 1' />
										</command>
									</flowline>
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='initial tcp sequence number,require to setup for first transmit/' exp='.MaxSegmentSize' swap='0' >
							<flowline >
								<command class_type='calculation' title='put inital seq number' >
									<exp exp='Buffer[0x26] = 0' />
									<exp exp='Buffer[0x27] = 0' />
								</command>
								<command class_type='calculation' title='we step only the second byte' >
									<exp exp='Buffer[0x28] = SeqNum' />
									<exp exp='Buffer[0x29] = 0' />
								</command>
								<command class_type='calculation' title='step the inititial seq num' >
									<exp exp='SeqNum = SeqNum + 2' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='Buffer[0x36] = 2' />
									<exp exp='Buffer[0x37] = 4' />
									<exp exp='Buffer[0x38] = 0x05' />
									<exp exp='Buffer[0x39] = 0x80' />
								</command>
								<command class_type='calculation' title='24 Bytes' >
									<exp exp='Buffer[0x2E] = 0x60' />
									<exp exp='' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.DataLength = .DataLength + 4' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='20 Bytes' >
									<exp exp='Buffer[0x2E] = 0x50' />
									<exp exp='' />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='Call Macro' macro='IpMakeIpTcpNew' >
							<argument exp='40 + .DataLength' />
							<argument exp='.DestIp' />
						</command>
						<command class_type='decision' title='clear sequence ack numer before send tcp SYN packet' exp='.ClearSeqAck' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Buffer[0x2A] = 0' />
									<exp exp='Buffer[0x2B] = 0' />
									<exp exp='Buffer[0x2C] = 0' />
									<exp exp='Buffer[0x2D] = 0' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='calculation' title='Zero the checksum' >
							<exp exp='Buffer[0x32] = 0' />
							<exp exp='Buffer[0x33] = 0' />
						</command>
						<command class_type='calculation' title='Setup the flags' >
							<exp exp='Buffer[0x2F] = .Flags' />
						</command>
						<command class_type='calculation' title='setup maximum windows size' >
							<exp exp='Buffer[0x30] = 0x02' />
							<exp exp='Buffer[0x31] = 0x36' />
						</command>
						<command class_type='calculation' title='setup urgent pointer' >
							<exp exp='Buffer[0x34] = 0' />
							<exp exp='Buffer[0x35] = 0' />
						</command>
						<command class_type='call' title='Calculate checksum' macro='IpChecksum' >
							<return exp='.ck' />
							<argument exp='0x1A' />
							<argument exp='28 + .DataLength' />
							<argument exp='2' />
						</command>
						<command class_type='calculation' title='Assign checksum' >
							<exp exp='Buffer[0x32] = .ck &gt;&gt; 8' />
							<exp exp='Buffer[0x33] = .ck' />
						</command>
						<command class_type='call' title='Call Macro' macro='EncPacketSend' >
							<argument exp='54 + .DataLength' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Initialise' description='' >
						<command class_type='call' title='Call Macro' component='cal_spi' macro='Master_Init' />
						<command class_type='call' title='Call Component Macro' macro='EncInit' />
						<command class_type='call' title='change clkout from 6.25MHz to 12.5MHz' macro='EncClockOut' >
							<argument exp='2' />
						</command>
						<command class_type='delay' title='Delay' exp='10' type='1' />
						<command class_type='call' title='LEDs On' macro='EncPhyWrite' >
							<argument exp='0x14' />
							<argument exp='0x880' />
						</command>
						<command class_type='delay' title='Delay' exp='500' type='1' />
						<command class_type='call' title='LEDs Off' macro='EncPhyWrite' >
							<argument exp='0x14' />
							<argument exp='0x990' />
						</command>
						<command class_type='delay' title='Delay' exp='500' type='1' />
						<command class_type='call' title='LEDs On' macro='EncPhyWrite' >
							<argument exp='0x14' />
							<argument exp='0x880' />
						</command>
						<command class_type='delay' title='Delay' exp='500' type='1' />
						<command class_type='call' title='LEDs Off' macro='EncPhyWrite' >
							<argument exp='0x14' />
							<argument exp='0x990' />
						</command>
						<command class_type='delay' title='Delay' exp='500' type='1' />
						<command class_type='call' title='LEDs Auto' macro='EncPhyWrite' >
							<argument exp='0x14' />
							<argument exp='0x476' />
						</command>
						<command class_type='delay' title='Delay' exp='100' type='1' />
					</flowline>
				</macro>
			</macros>
			<component class_type='ref' guid='c67171df-0ad6-4b11-8361-cfe14b072847' vmin='0' vmaj='1' codename='cal_spi' x='-40' y='16' 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='ENABLED' data='1' />
					<value target='REF' data='1' />
					<value target='CHANNEL' data='000' />
					<value target='MOSI' data='$PORTA.0' />
					<value target='MOSIPins' data='013' />
					<value target='MISO' data='$PORTA.1' />
					<value target='MISOPins' data='065' />
					<value target='CLK' data='$PORTA.2' />
					<value target='CLKPins' data='009' />
					<value target='SS' data='$PORTA.5' />
					<value target='PR_SCALE' data='004' />
					<value target='BMODE' data='6' />
					<value target='CKP' data='000' />
					<value target='CKE' data='001' />
					<value target='SMP' data='001' />
					<value target='MOSI_PORT' data='$PORTA.0' />
					<value target='MOSI_TRIS' data='$PORTA.0' />
					<value target='MOSI_PIN' data='0' />
					<value target='MISO_PORT' data='$PORTA.1' />
					<value target='MISO_TRIS' data='$PORTA.1' />
					<value target='MISO_PIN' data='1' />
					<value target='SCK_PORT' data='$PORTA.2' />
					<value target='SCK_TRIS' data='$PORTA.2' />
					<value target='SCK_PIN' data='2' />
					<value target='SS_PORT' data='$PORTA.5' />
					<value target='SS_TRIS' data='$PORTA.5' />
					<value target='SS_PIN' data='5' />
					<value target='Remappable' data='' />
					<value target='MOSIReg' data='013' />
					<value target='CLKREG' data='009' />
					<value target='MOSIRPNUM' data='5' />
					<value target='CLKRPNUM' data='6' />
					<value target='MISORPREG' data='RPINR20bits.SDI1R' />
					<value target='CS_PORT' data='' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='54369d81-80ed-4d59-97bf-91f4b2cdf24c' vmin='4' vmaj='1' codename='TCP_Base1' x='32' y='24' 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='hostname' data='IRONMAN-PC' />
					<value target='interface' data='000' />
					<value target='gateway0' data='0' />
					<value target='gateway1' data='0' />
					<value target='gateway2' data='0' />
					<value target='gateway3' data='10' />
					<value target='subnet0' data='0' />
					<value target='subnet1' data='0' />
					<value target='subnet2' data='0' />
					<value target='subnet3' data='0' />
					<value target='ip0' data='0' />
					<value target='ip1' data='0' />
					<value target='ip2' data='0' />
					<value target='ip3' data='0' />
					<value target='mac0' data='0' />
					<value target='mac1' data='0' />
					<value target='mac2' data='0' />
					<value target='mac3' data='0' />
					<value target='mac4' data='0' />
					<value target='mac5' data='0' />
					<value target='notify_target' data='' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
		</component>
	</components>
	<keymap />
	<panel2d shadows='0' lighting='2' brightness='0' perspective='0' >
		<background rgb='9737364' img='' style='0' />
		<camera xe='0' ye='0' ze='300' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
	</panel2d>
	<panel3d shadows='0' lighting='2' brightness='0' perspective='0' >
		<background rgb='8409120' img='' style='0' />
		<table rgb='7360576' img='' style='0' size='25' />
		<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='Loop' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Main' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncWrite' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncClockOut' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Initialise' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncInit' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpFillIpHdrChecksum' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeIp' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeEchoReplyFromRequest' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpChecksum' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeTcpAckFromAny' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncWriteBuffer' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncPacketSend' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeEth' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeIpTcpNew' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeEthIpNew' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncPhyWrite' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncReadBuffer' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncPacketReceive' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpInitIpArpUdpTcp' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_Property' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='pvt_List_Cal2Comp' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_Initialise' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='pvt_Prop_Cal2Comp' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='pvt_Pins_Cal2Comp' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='pvt_Prop_Comp2Cal' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='pvt_Pins_ShowHide' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='pvt_Pins_Comp2Cal' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='PopulateInjectorFilter' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpTcpGetDataLength' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpTcpClientSendPacket' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeTcpAckWithData' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeArpAnswerFromRequest' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeUdpReplyFromRequest' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeArpRequest' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeTcpSynackFromSyn' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpFillTcpData' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpEthTypeArpMyIP' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpArpPacketIsMyreplyArp' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncWriteOp' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpInitLenInfo' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpGetTcpDataPointer' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpMakeTcpHead' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='IpEthTypeIpMyIp' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncSetBank' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncReadOp' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncRead' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='EncGetRev' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAjAAAAUAQAAHoDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
	</layout>
</document>
</root>
