<root>
<document scada='0' schema='103' license='1,12097602,69XV2A' title='' description='' fcversion='655361' target='AVR.ATMEGA.ATMEGA2560' >
	<config data='!0,f7!8,ff!10,ff%0,37%6,1%7,1' clkspd='14745600' simspd='0' usewdt='0' constif='0' Use3V3='0' />
	<plugins >
		<dll_models enabled='1' />
	</plugins>
	<supplement use='0' head='' body='' />
	<debug />
	<traces />
	<ghost >
		<FK2 >
			<data name='FK2D0' port='4294967295' pin='4294967295' />
			<data name='FK2D1' port='4294967295' pin='4294967295' />
			<data name='FK2D2' port='4294967295' pin='4294967295' />
			<data name='FK2D3' port='4294967295' pin='4294967295' />
			<data name='FK2D4' port='4294967295' pin='4294967295' />
			<data name='FK2D5' port='4294967295' pin='4294967295' />
			<data name='FK2D6' port='4294967295' pin='4294967295' />
			<data name='FK2D7' port='4294967295' pin='4294967295' />
			<data name='FK2D8' port='4294967295' pin='4294967295' />
			<data name='FK2D9' port='4294967295' pin='4294967295' />
			<data name='FK2D10' port='4294967295' pin='4294967295' />
			<data name='FK2D11' port='4294967295' pin='4294967295' />
			<data name='FK2D12' port='4294967295' pin='4294967295' />
			<data name='FK2D13' port='4294967295' pin='4294967295' />
			<data name='FK2D14' port='4294967295' pin='4294967295' />
			<data name='FK2D15' port='4294967295' pin='4294967295' />
			<data name='FK2A0' port='4294967295' pin='4294967295' />
			<data name='FK2A1' port='4294967295' pin='4294967295' />
			<data name='FK2A2' port='4294967295' pin='4294967295' />
			<data name='FK2A3' port='4294967295' pin='4294967295' />
			<data name='FK2A4' port='4294967295' pin='4294967295' />
			<data name='FK2A5' port='4294967295' pin='4294967295' />
		</FK2>
		<ICD >
			<data name='AnalogPrescaleValue' value='19' />
			<data name='DigitalSampleRate' value='100000' />
			<data name='BreakpointCount' value='8' />
			<data name='CallStackDepthCount' value='8' />
			<data name='ClockPort' value='1' />
			<data name='ClockPin' value='6' />
			<data name='DataPort' value='1' />
			<data name='DataPin' value='7' />
			<data name='UseDefaultPins' value='1' />
			<data name='WrapEnabled' value='1' />
			<data name='CommsDelayOverridden' value='0' />
			<data name='CommsDelay' value='12' />
			<data name='CalculatedCommsDelay' value='12' />
			<data name='AnalogEB2PrescaleValue' value='2' />
			<data name='DigitalEB2SampleRate' value='100000' />
		</ICD>
		<pins >
			<digital A='0' B='0' C='0' D='0' E='0' F='0' G='0' H='0' I='0' J='0' K='0' L='0' M='0' N='0' O='0' P='0' Q='0' R='0' S='0' T='0' U='0' V='0' W='0' X='0' Y='0' Z='0' />
			<analog A='0' B='0' C='0' D='0' E='0' F='0' G='0' H='0' I='0' J='0' K='0' L='0' M='0' N='0' O='0' P='0' Q='0' R='0' S='0' T='0' U='0' V='0' W='0' X='0' Y='0' Z='0' />
		</pins>
	</ghost>
	<components >
		<settings autoimg='0' center='1' unitscale='0' fixedscale='0' fixedx='25' fixedy='25' fixedz='25' headcode='0' />
		<definition guid='befa9ae5-0904-4084-8c36-bdf8ec16ab2e' vstate='40' vmin='0' vmaj='1' srcleaf='' visiblename='' description='' category='' category2='' category3='' bIs2dOnly='0' bIs3dOnly='0' catenable='1' author='' manuname='' manucode='' sysinfo='0' keywords='' dynamic='1' scadaCompatible='0' embeddedCompatible='1' showmacros='1' iconpath='' />
		<component class_type='root' codename='ComponentRoot' panelId='-1' 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' scadavisible='1' interactive='1' solid='1' layer='0' poslock='0' comp2dType='0' >
			<resources />
			<properties />
			<values />
			<events />
			<apis />
			<variables >
				<variable public='0' >
					<def class_type='variable' name='stringOf8' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='8' setinit='8' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Status' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='addr051' type='u16' description='' isconst='1' isHidden='0' isinit='1' usrinit='51' setinit='51' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='false' type='b1' description='' isconst='1' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='err' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='ch4Strg' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;ch4val main&quot;' setinit='&quot;ch4val main&quot;' >
						<array size='20' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='reg051' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='51' setinit='51' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='reg050' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='50' setinit='50' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='reg001' type='u16' description='' isconst='1' isHidden='0' isinit='1' usrinit='1' setinit='1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='addr104' type='u16' description='' isconst='1' isHidden='0' isinit='1' usrinit='104' setinit='104' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='addr103' type='u16' description='' isconst='1' isHidden='0' isinit='1' usrinit='103' setinit='103' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='addr102' type='u16' description='' isconst='1' isHidden='0' isinit='1' usrinit='102' setinit='102' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='addr101' type='u16' description='' isconst='1' isHidden='0' isinit='1' usrinit='101' setinit='101' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='addr100' type='u16' description='' isconst='1' isHidden='0' isinit='1' usrinit='100' setinit='100' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='reg104' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='reg103' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='reg102' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='reg101' type='u32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='true' type='b1' description='' isconst='1' isHidden='0' isinit='1' usrinit='1' setinit='1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='reg100' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='100' setinit='100' />
				</variable>
			</variables>
			<macros >
				<macro >
					<flowline name='init_hardware' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='call' title='INIT CH1 UART' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='INSPECTRA_RS232' macro='Initialise' />
						<command class_type='call' title='INIT CH2 UART' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='Initialise' />
						<command class_type='call' title='INIT CH3 UART' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='WEATHER_RS232' macro='Initialise' />
						<command class_type='call' title='START LCD' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='Start' />
						<command class_type='call' title='CLEAR THE CIRCULAR BUFFER' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='FlushBuffer' />
						<command class_type='interrupt' title='Interrupt' cmdcolor='14697803' cmdcolor_sec='16755119' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' enable='1' name='RXINT0' call='uart_rx' >
							<settings timer='0' prescale='-1' postscale='-1' rollover='-1' bitcount='-1' trigger='3' ppsport='-1' ppspin='-1' maskhi='--------------------------------------------------------------------------------------------------------------------------------------------------------------------------8' masklo='--------------------------------------------------------------------------------------------------------------------------------------------------------------------------8' >
								<option value='0' />
								<option value='0' />
								<option value='0' />
								<option value='0' />
								<option value='0' />
								<option value='0' />
								<option value='0' />
								<option value='0' />
							</settings>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='init_modbus_registers' description='Macro that initializes modbus registers &lt;= 499 to zero. 
' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='addr' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='loop' title='Loop' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' type='0' exp='.addr &lt;= 499' >
							<flowline >
								<command class_type='call' title='SET REGISTER TO ZERO' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='SetHoldingRegister' >
									<argument exp='.addr' />
									<argument exp='0' />
								</command>
								<command class_type='calculation' title='INCREMENT THE ADDRESS' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
									<exp exp='.addr = .addr + 1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='uart_rx' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='rxReceived' type='s16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='INSPECTRA_RS232' macro='ReceiveChar' >
							<return exp='.rxReceived' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='PutByte' >
							<argument exp='.rxReceived' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='sendCH4Value' description='Macro that polls inspectra and stores in modbus registers ' statediag='0' >
						<return name='Return' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='2000' />
						</return>
						<local name='rx' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='numBytes' type='u16' description='number of bytes' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='inspectraTmp' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;inspectraTmp&quot;' setinit='&quot;inspectraTmp&quot;' >
							<array size='20' />
						</local>
						<local name='err2' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;err2&quot;' setinit='&quot;err2&quot;' >
							<array size='20' />
						</local>
						<local name='ch4_temp' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;CH4_temp&quot;' setinit='&quot;CH4_temp&quot;' >
							<array size='20' />
						</local>
						<local name='reg103_temp' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;temp103&quot;' setinit='&quot;temp103&quot;' >
							<array size='20' />
						</local>
						<local name='reg104_temp' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;104temp&quot;' setinit='&quot;104temp&quot;' >
							<array size='20' />
						</local>
						<command class_type='call' title='SEND COMMAND &quot;G11\r&quot; TO INSPECTRA' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='INSPECTRA_RS232' macro='SendString' >
							<argument exp='&quot;G11\r&quot;' />
						</command>
						<command class_type='call' title='Wait for reply end of line - signify the end of the reply' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='WaitForValue' >
							<return exp='.rx' />
							<argument exp='&quot;\r&quot;' />
							<argument exp='1' />
							<argument exp='0' />
							<argument exp='200' />
						</command>
						<command class_type='decision' title='\r character found in reply' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='.rx' swap='0' >
							<flowline >
								<command class_type='call' title='GET THE NUMBER OF BYTES IN THE BUFFER' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='GetNumberBytes' >
									<return exp='.numBytes' />
								</command>
								<command class_type='call' title='READ STRING OF 8 CHAR FROM THE CIRCULAR BUFFER' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='GetString' >
									<return exp='.inspectraTmp' />
									<argument exp='13' />
								</command>
								<command class_type='decision' title='GET INSPECTRA MODEL NUMBER ' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='(.rx == 1) &amp;&amp; (.numBytes &gt; 0) &amp;&amp; (.inspectraTmp[0] == &apos;H&apos;) &amp;&amp; (.inspectraTmp[1] == &apos;1&apos;) &amp;&amp; (.inspectraTmp[2] == &apos;1&apos;)' swap='0' >
									<flowline >
										<command class_type='calculation' title='TRIM THE STRING TO GET MODEL NUMBER ' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
											<exp exp='//RETURN CH4 STRING' />
											<exp exp='.Return = .inspectraTmp' />
											<exp exp='' />
											<exp exp='//REMOVE THE FIRST THREE CHAR FROM THE STRING' />
											<exp exp='.ch4_temp = Mid$ (.inspectraTmp,3, Length$ (.inspectraTmp) - 3)' />
											<exp exp='' />
											<exp exp='//REMOVE THE 0 CHAR AT THE END OF THE STRING' />
											<exp exp='.ch4_temp = Left$ (.ch4_temp,8)' />
											<exp exp='' />
											<exp exp='//TAKE THE REMAINING FIRST FOUR AND STORE' />
											<exp exp='.reg103_temp = Left$ (.ch4_temp,4)' />
											<exp exp='' />
											<exp exp='//TAKE THE REMAINING LAST FOUR AND STORE' />
											<exp exp='.reg104_temp = Right$ (.ch4_temp,4)' />
											<exp exp='' />
										</command>
										<command class_type='call' title='CHANGE FROM HEX STRING TO INTEGER reg103' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='HexStrToInt' >
											<return exp='reg103' />
											<argument exp='.reg103_temp' />
										</command>
										<command class_type='call' title='CHANGE FROM HEX STRING TO INTEGER reg104' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='HexStrToInt' >
											<return exp='reg104' />
											<argument exp='.reg104_temp' />
										</command>
										<command class_type='call' title='SEND TO MODBUS ON reg103' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='SetHoldingRegister' >
											<argument exp='addr103' />
											<argument exp='reg103' />
										</command>
										<command class_type='call' title='SEND TO MODBUS ON reg104' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='SetHoldingRegister' >
											<argument exp='addr104' />
											<argument exp='reg104' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' disable='1' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
											<exp exp='err = 999' />
										</command>
									</flowline>
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='LCD_printValues' description='PRINT THE NECESSARY VALUES TO THE LCD
' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='ch4_param' type='T8' description='&quot;ch4Val&quot;' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='flowData' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='ch4_print' type='T8' description='' isconst='1' isHidden='0' isinit='1' usrinit='&quot;CH4:&quot;' setinit='&quot;CH4:&quot;' >
							<array size='20' />
						</local>
						<local name='CH4' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='cleanCH4' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;cleanCH4&quot;' setinit='&quot;cleanCH4&quot;' >
							<array size='20' />
						</local>
						<local name='ch4_ppm' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;ch4_ppm&quot;' setinit='&quot;ch4_ppm&quot;' >
							<array size='20' />
						</local>
						<local name='ch4_float' type='f32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0.0' setinit='0.0' />
						<local name='ch4_percent' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;ch4_percent&quot;' setinit='&quot;ch4_percent&quot;' >
							<array size='20' />
						</local>
						<local name='ch4PPM' type='s32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='Clear' />
						<command class_type='group' title='Group' cmdcolor='11370621' cmdcolor_sec='11370621' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<flowline >
								<command class_type='call' title='MOVE CURSOR' cmdcolor='128' cmdcolor_sec='2763429' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='Cursor' >
									<argument exp='0' />
									<argument exp='0' />
								</command>
								<command class_type='call' title='PRINT CH4 LABEL' cmdcolor='128' cmdcolor_sec='2763429' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='PrintString' >
									<argument exp='.ch4_print' />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='MOVE CURSOR' cmdcolor='7451452' cmdcolor_sec='3329330' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='Cursor' >
							<argument exp='4' />
							<argument exp='0' />
						</command>
						<command class_type='calculation' title='CLEAN THE CH4 STRING' cmdcolor='7451452' cmdcolor_sec='3329330' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' >
							<exp exp='//REMOVE THE FIRST THREE CHAR FROM THE STRING' />
							<exp exp='.cleanCH4 = Mid$ (.ch4_param,3, Length$ (.ch4_param) - 3)' />
							<exp exp='' />
							<exp exp='//REMOVE THE 0 CHAR AT THE END OF THE STRING' />
							<exp exp='.cleanCH4 = Left$ (.cleanCH4,8)' />
						</command>
						<command class_type='call' title='TESTER' disable='1' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='PrintString' >
							<argument exp='.ch4_param' />
						</command>
						<command class_type='call' title='CONVERT FROM HEX TO INT' cmdcolor='7451452' cmdcolor_sec='3329330' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' macro='HexStrToInt' >
							<return exp='.CH4' />
							<argument exp='.cleanCH4' />
						</command>
						<command class_type='calculation' title='Calculation' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<exp exp='.ch4PPM = .CH4 / 10' />
						</command>
						<command class_type='calculation' title='CONVERT FROM INT TO STRING' cmdcolor='7451452' cmdcolor_sec='3329330' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' >
							<exp exp='.ch4_ppm = ToString$ (.ch4PPM)' />
						</command>
						<command class_type='call' title='PRINT CH4 PPM VALUE' cmdcolor='7451452' cmdcolor_sec='3329330' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='PrintString' >
							<argument exp='.ch4_ppm' />
						</command>
						<command class_type='group' title='Group' cmdcolor='11370621' cmdcolor_sec='11370621' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<flowline >
								<command class_type='call' title='MOVE CURSOR' cmdcolor='7059389' cmdcolor_sec='9234160' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='Cursor' >
									<argument exp='17' />
									<argument exp='0' />
								</command>
								<command class_type='call' title='PPM Label' cmdcolor='7059389' cmdcolor_sec='9234160' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='PrintString' >
									<argument exp='&quot;PPM&quot;' />
								</command>
							</flowline>
						</command>
						<command class_type='group' title='Group' cmdcolor='11370621' cmdcolor_sec='11370621' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<flowline >
								<command class_type='call' title='MOVE CURSOR' cmdcolor='128' cmdcolor_sec='2763429' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='Cursor' >
									<argument exp='0' />
									<argument exp='1' />
								</command>
								<command class_type='call' title='PRINT CH4 LABEL' cmdcolor='128' cmdcolor_sec='2763429' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='PrintString' >
									<argument exp='.ch4_print' />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='MOVE CURSOR' cmdcolor='42495' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='Cursor' >
							<argument exp='4' />
							<argument exp='1' />
						</command>
						<command class_type='calculation' title='Calculation' cmdcolor='42495' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' >
							<exp exp='//CONVERT THE CH4 TO PERCENT' />
							<exp exp='.ch4_float = .ch4PPM / 10000.000' />
							<exp exp='' />
							<exp exp='//CONVERT FLOAT TO STRING' />
							<exp exp='.ch4_percent = FloatToString$ (.ch4_float)' />
						</command>
						<command class_type='call' title='PRINT CH4 %' cmdcolor='42495' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='PrintFloat' >
							<argument exp='.ch4_float' />
							<argument exp='3' />
						</command>
						<command class_type='group' title='Group' cmdcolor='11370621' cmdcolor_sec='11370621' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<flowline >
								<command class_type='call' title='MOVE CURSOR' cmdcolor='9234160' cmdcolor_sec='3145645' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='Cursor' >
									<argument exp='19' />
									<argument exp='1' />
								</command>
								<command class_type='call' title='Percent Label' cmdcolor='9234160' cmdcolor_sec='3145645' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='PrintString' >
									<argument exp='&quot;%&quot;' />
								</command>
							</flowline>
						</command>
						<command class_type='group' title='Group' cmdcolor='11370621' cmdcolor_sec='11370621' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<flowline >
								<command class_type='call' title='MOVE CURSOR' cmdcolor='11823615' cmdcolor_sec='16748574' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='Cursor' >
									<argument exp='1' />
									<argument exp='2' />
								</command>
								<command class_type='call' title='PRINT O2 LABEL' cmdcolor='11823615' cmdcolor_sec='16748574' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='PrintString' >
									<argument exp='&quot;O2:&quot;' />
								</command>
								<command class_type='call' title='MOVE CURSOR' cmdcolor='11823615' cmdcolor_sec='16748574' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='Cursor' >
									<argument exp='4' />
									<argument exp='2' />
								</command>
								<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='PrintNumber' >
									<argument exp='.flowData' />
								</command>
								<command class_type='call' title='MOVE CURSOR' cmdcolor='11823615' cmdcolor_sec='16748574' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='Cursor' >
									<argument exp='19' />
									<argument exp='2' />
								</command>
								<command class_type='call' title='PRINT O2 LABEL' cmdcolor='11823615' cmdcolor_sec='16748574' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='PrintString' >
									<argument exp='&quot;%&quot;' />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='MOVE CURSOR' disable='1' cmdcolor='65407' cmdcolor_sec='128' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='Cursor' >
							<argument exp='0' />
							<argument exp='3' />
						</command>
						<command class_type='call' title='PRINT O2 LABEL' disable='1' cmdcolor='65407' cmdcolor_sec='128' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' component='LCD_I2C' macro='PrintString' >
							<argument exp='&quot;Error:&quot;' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='lcdNum' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='numnum' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='Start' />
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='Cursor' >
							<argument exp='0' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='PrintNumber' >
							<argument exp='.numnum' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='sendSerialNumber' description='Macro that polls inspectra and stores in modbus registers ' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='rx' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='numBytes' type='u16' description='number of bytes' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='inspectraTmp' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;inspectraTmp&quot;' setinit='&quot;inspectraTmp&quot;' >
							<array size='20' />
						</local>
						<local name='err2' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;err2&quot;' setinit='&quot;err2&quot;' >
							<array size='20' />
						</local>
						<local name='modelNumber' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='reg101_temp' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;101&quot;' setinit='&quot;101&quot;' >
							<array size='20' />
						</local>
						<local name='reg102_temp' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;102&quot;' setinit='&quot;102&quot;' >
							<array size='20' />
						</local>
						<command class_type='call' title='SEND COMMAND &quot;G51\r&quot; TO INSPECTRA' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='INSPECTRA_RS232' macro='SendString' >
							<argument exp='&quot;G51\r&quot;' />
						</command>
						<command class_type='call' title='Wait for reply end of line - signify the end of the reply' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='WaitForValue' >
							<return exp='.rx' />
							<argument exp='&quot;\r&quot;' />
							<argument exp='1' />
							<argument exp='0' />
							<argument exp='200' />
						</command>
						<command class_type='decision' title='\r character found in reply' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='.rx' swap='0' >
							<flowline >
								<command class_type='call' title='GET THE NUMBER OF BYTES IN THE BUFFER' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='GetNumberBytes' >
									<return exp='.numBytes' />
								</command>
								<command class_type='call' title='READ STRING OF 8 CHAR FROM THE CIRCULAR BUFFER' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='GetString' >
									<return exp='.inspectraTmp' />
									<argument exp='13' />
								</command>
								<command class_type='call' title='User Macro' disable='1' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='lcd_read' >
									<argument exp='.inspectraTmp' />
								</command>
								<command class_type='decision' title='GET INSPECTRA MODEL NUMBER ' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='(.rx == 1) &amp;&amp; (.numBytes &gt; 0) &amp;&amp; (.inspectraTmp[0] == &apos;H&apos;) &amp;&amp; (.inspectraTmp[1] == &apos;5&apos;) &amp;&amp; (.inspectraTmp[2] == &apos;1&apos;)' swap='0' >
									<flowline >
										<command class_type='calculation' title='TRIM THE STRING TO GET MODEL NUMBER ' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
											<exp exp='//REMOVE THE FIRST THREE CHAR FROM THE STRING' />
											<exp exp='.inspectraTmp = Mid$ (.inspectraTmp,3, Length$ (.inspectraTmp) - 3)' />
											<exp exp='' />
											<exp exp='//REMOVE THE 0 CHAR AT THE END OF THE STRING' />
											<exp exp='.inspectraTmp = Left$ (.inspectraTmp,8)' />
											<exp exp='' />
											<exp exp='//TAKE THE REMAINING FIRST FOUR AND STORE' />
											<exp exp='.reg101_temp = Left$ (.inspectraTmp,4)' />
											<exp exp='' />
											<exp exp='//TAKE THE REMAINING LAST FOUR AND STORE' />
											<exp exp='.reg102_temp = Right$ (.inspectraTmp,4)' />
										</command>
										<command class_type='call' title='CHANGE FROM HEX STRING TO INTEGER reg101' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='HexStrToInt' >
											<return exp='reg101' />
											<argument exp='.reg101_temp' />
										</command>
										<command class_type='call' title='CHANGE FROM HEX STRING TO INTEGER reg101' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='HexStrToInt' >
											<return exp='reg102' />
											<argument exp='.reg102_temp' />
										</command>
										<command class_type='call' title='SEND TO MODBUS ON reg101' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='SetHoldingRegister' >
											<argument exp='addr101' />
											<argument exp='reg101' />
										</command>
										<command class_type='call' title='SEND TO MODBUS ON reg102' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='SetHoldingRegister' >
											<argument exp='addr102' />
											<argument exp='reg102' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' disable='1' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
											<exp exp='err = 999' />
										</command>
									</flowline>
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='tickleWatchdog' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='native' title='C Code' ccode='//Prevents reset 
wdt_reset();
' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' language='C' />
					</flowline>
				</macro>
				<macro >
					<flowline name='flowSensor' description='Get voltage data from flow sensor' statediag='0' >
						<return name='Return' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='volt' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='kilobyte' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='1024' setinit='1024' />
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='pot_color_cap1' macro='GetInt' >
							<return exp='.volt' />
						</command>
						<command class_type='calculation' title='Calculation' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<exp exp='.Return = (.volt * 500.0) / .kilobyte' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='weather_test' description='Send test command to weather station' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='rx' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='weather_numbytes' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='weatherTmp' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;weatherTmp&quot;' setinit='&quot;weatherTmp&quot;' >
							<array size='20' />
						</local>
						<local name='tester' type='u16' description='variable to test with' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='testerString' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;testerString&quot;' setinit='&quot;testerString&quot;' >
							<array size='20' />
						</local>
						<command class_type='call' title='SEND COMMAND &quot;TEST\R&quot; TO WEATHER STATION' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='WEATHER_RS232' macro='SendString' >
							<argument exp='&quot;LOOP 1\r&quot;' />
						</command>
						<command class_type='call' title='Wait for reply end of line - signify the end of the reply' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='WaitForValue' >
							<return exp='.rx' />
							<argument exp='&quot;\r&quot;' />
							<argument exp='1' />
							<argument exp='0' />
							<argument exp='200' />
						</command>
						<command class_type='calculation' title='Calculation' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<exp exp='//.tester = .tester + 1' />
							<exp exp='.testerString = ToString$ (.rx)' />
						</command>
						<command class_type='call' title='User Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='lcd_read' >
							<argument exp='.testerString' />
						</command>
						<command class_type='decision' title='\r char found in reply' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='.rx' swap='0' >
							<flowline >
								<command class_type='call' title='GET THE NUMBER OF BYTES IN THE BUFFER ' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='GetNumberBytes' >
									<return exp='.weather_numbytes' />
								</command>
								<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='GetString' >
									<return exp='.weatherTmp' />
									<argument exp='99' />
								</command>
								<command class_type='decision' title='GET TEST' disable='1' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='(.rx == 1) &amp;&amp; (.weather_numbytes &gt; 0) &amp;&amp; (.weatherTmp[2] == &apos;T&apos;)' swap='0' >
									<flowline />
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='HexStrToInt' description='' statediag='0' >
						<return name='Return' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='str' type='T8*' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<local name='len' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='i' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='x' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='c' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<exp exp='.len = Length$ (.str)' />
							<exp exp='.x = 0' />
							<exp exp='.i = 0' />
						</command>
						<command class_type='loop' title='Loop' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' type='0' exp='.i &lt; .len' >
							<flowline >
								<command class_type='calculation' title='Make way for the next digit' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
									<exp exp='.x = .x * 16' />
									<exp exp='.c = .str[.i]' />
								</command>
								<command class_type='decision' title='Is it a digit' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='(.c &gt;= &apos;0&apos;) &amp;&amp; (.c &lt;= &apos;9&apos;)' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
											<exp exp='.x = .x + (.c - &apos;0&apos;)' />
										</command>
									</flowline>
									<flowline >
										<command class_type='decision' title='Hex digit' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='(.c &gt;= &apos;A&apos;) &amp;&amp; (.c &lt;= &apos;F&apos;)' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
													<exp exp='.x = .x + (.c - &apos;A&apos; + 10)' />
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='End of valid number so lets bail out of the loop' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
													<exp exp='.i = .len' />
												</command>
											</flowline>
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
									<exp exp='.i = .i + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' break='1' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<exp exp='.Return = .x' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='lcd_read' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='strg' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='Start' />
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='Cursor' >
							<argument exp='0' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='PrintString' >
							<argument exp='.strg' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Main' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='PROGRAM_VERSION' type='u16' description='' isconst='1' isHidden='0' isinit='1' usrinit='9' setinit='9' />
						<local name='timerIndex' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='testerr' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;TESter&quot;' setinit='&quot;TESter&quot;' >
							<array size='20' />
						</local>
						<local name='ch4_int' type='u32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='delay' title='Delay' cmdcolor='14697803' cmdcolor_sec='16755119' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='100' type='1' />
						<command class_type='call' title='INIT HARDWARE' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='init_hardware' />
						<command class_type='delay' title='Delay' cmdcolor='14697803' cmdcolor_sec='16755119' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='1' type='1' />
						<command class_type='call' title='INIT MODBUS REGISTERS' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='init_modbus_registers' />
						<command class_type='call' title='ADD PROG VER TO REG 1' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='SetHoldingRegister' >
							<argument exp='reg001' />
							<argument exp='.PROGRAM_VERSION' />
						</command>
						<command class_type='calculation' title='Calculation' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
							<exp exp='Status = 0' />
							<exp exp='.timerIndex = 200' />
						</command>
						<command class_type='loop' title='Loop' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' type='0' exp='1' >
							<flowline >
								<command class_type='call' title='User Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='tickleWatchdog' />
								<command class_type='call' title='Process Modbus Communications' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='CheckForIncoming' />
								<command class_type='delay' title='TIMING OF EVENTS' cmdcolor='14697803' cmdcolor_sec='16755119' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='50' type='1' />
								<command class_type='calculation' title='INCREMENT THE TIMER INDEX' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
									<exp exp='.timerIndex = .timerIndex + 1' />
									<exp exp='.testerr = ToString$ (.timerIndex)' />
								</command>
								<command class_type='decision' title='SAMPLE INSPECTRA AT ~ ONCE PER SECOND ' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='.timerIndex % 100' swap='0' >
									<flowline >
										<command class_type='call' title='CALL FLOW SENSOR MACRO. STORE INFO IN REG 51' disable='1' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='flowSensor' >
											<return exp='reg051' />
										</command>
										<command class_type='call' title='Component Macro' disable='1' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='SetHoldingRegister' >
											<argument exp='addr051' />
											<argument exp='reg051' />
										</command>
										<command class_type='call' title='GET MODEL NUMBER AND SEND ON MODBUS' disable='1' cmdcolor='7059389' cmdcolor_sec='5737262' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' macro='sendModelNumber' />
										<command class_type='call' title='GET SERIAL NUMBER AND SEND ON MODBUS' disable='1' cmdcolor='7059389' cmdcolor_sec='5737262' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' macro='sendSerialNumber' />
										<command class_type='call' title='GET CH4 VALUE AND SEND ON MODBUS' disable='1' cmdcolor='7059389' cmdcolor_sec='5737262' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' cmdAuto_color='0' cmdcustom_color='1' macro='sendCH4Value' >
											<return exp='ch4Strg' />
										</command>
										<command class_type='delay' title='Delay' disable='1' cmdcolor='14697803' cmdcolor_sec='16755119' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='500' type='1' />
										<command class_type='call' title='PRINT CH4 VALUES' disable='1' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='LCD_printValues' >
											<argument exp='ch4Strg' />
											<argument exp='reg051' />
										</command>
										<command class_type='delay' title='Delay' cmdcolor='14697803' cmdcolor_sec='16755119' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='500' type='1' />
										<command class_type='call' title='User Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='weather_test' />
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='SAMPLE THE WEATHER STATION' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='.timerIndex &gt; 200' swap='0' >
									<flowline >
										<command class_type='calculation' title='RESET THE TIMER INDEX ' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
											<exp exp='.timerIndex = 0' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='INSP' description='' statediag='0' >
						<return name='Return' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='modelBuffer' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;modelBuffer&quot;' setinit='&quot;modelBuffer&quot;' >
							<array size='20' />
						</local>
						<local name='strgTmp' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='loop' title='Loop' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' type='2' exp='2' >
							<flowline >
								<command class_type='call' title='SEND COMMAND &quot;G00\r&quot; TO INSPECTRA' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='INSPECTRA_RS232' macro='SendString' >
									<argument exp='&quot;G00\r&quot;' />
								</command>
								<command class_type='call' title='RECEIVE STRING OF 8 CHAR ' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='INSPECTRA_RS232' macro='ReceiveString' >
									<return exp='.modelBuffer' />
									<argument exp='100' />
									<argument exp='8' />
								</command>
								<command class_type='delay' title='Delay' cmdcolor='14697803' cmdcolor_sec='16755119' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='200' type='1' />
							</flowline>
						</command>
						<command class_type='decision' title='GET INSPECTRA MODEL NUMBER ' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='.modelBuffer[0] == &apos;H&apos;' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
									<exp exp='.strgTmp = ((.modelBuffer[4] - &apos;0&apos;) * 100)' />
									<exp exp='reg100 = .strgTmp + ((.modelBuffer[5] - &apos;0&apos;) * 10) + (.modelBuffer[6] - &apos;0&apos;)' />
									<exp exp='ModbusSlave :: SetHoldingRegister (addr100,reg100)' />
								</command>
								<command class_type='call' title='PUT THE MODEL NUMBER INTO REG 100' disable='1' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='SetHoldingRegister' >
									<argument exp='addr100' />
									<argument exp='reg100' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='sendModelNumber' description='Macro that polls inspectra and stores in modbus registers ' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='rx' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='numBytes' type='u16' description='number of bytes' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<local name='inspectraTmp' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;inspectraTmp&quot;' setinit='&quot;inspectraTmp&quot;' >
							<array size='20' />
						</local>
						<local name='err2' type='T8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot;err2&quot;' setinit='&quot;err2&quot;' >
							<array size='20' />
						</local>
						<local name='modelNumber' type='u16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='call' title='SEND COMMAND &quot;G00\r&quot; TO INSPECTRA' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='INSPECTRA_RS232' macro='SendString' >
							<argument exp='&quot;G00\r&quot;' />
						</command>
						<command class_type='call' title='Wait for reply end of line - signify the end of the reply' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='WaitForValue' >
							<return exp='.rx' />
							<argument exp='&quot;\r&quot;' />
							<argument exp='1' />
							<argument exp='0' />
							<argument exp='200' />
						</command>
						<command class_type='decision' title='\r character found in reply' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='.rx' swap='0' >
							<flowline >
								<command class_type='call' title='GET THE NUMBER OF BYTES IN THE BUFFER' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='GetNumberBytes' >
									<return exp='.numBytes' />
								</command>
								<command class_type='call' title='READ STRING OF 9 CHAR FROM THE CIRCULAR BUFFER' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='CircularBuffer' macro='GetString' >
									<return exp='.inspectraTmp' />
									<argument exp='9' />
								</command>
								<command class_type='decision' title='GET INSPECTRA MODEL NUMBER ' cmdcolor='16777119' cmdcolor_sec='16494651' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' exp='(.rx == 1) &amp;&amp; (.numBytes &gt; 0) &amp;&amp; (.inspectraTmp[0] == &apos;H&apos;) &amp;&amp; (.inspectraTmp[1] == &apos;0&apos;) &amp;&amp; (.inspectraTmp[2] == &apos;0&apos;)' swap='0' >
									<flowline >
										<command class_type='calculation' title='TRIM THE STRING TO GET MODEL NUMBER ' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
											<exp exp='//REMOVE THE FIRST THREE CHAR FROM THE STRING' />
											<exp exp='.inspectraTmp = Mid$ (.inspectraTmp,3, Length$ (.inspectraTmp) - 3)' />
											<exp exp='' />
											<exp exp='//REMOVE THE 0 CHAR AT THE END OF THE STRING' />
											<exp exp='.inspectraTmp = Left$ (.inspectraTmp,8)' />
											<exp exp='' />
											<exp exp='//CONVERT THE STRING TO UNSIGNED INT' />
											<exp exp='reg100 = StringToInt$ (.inspectraTmp)' />
											<exp exp='' />
											<exp exp='//err = err + 1' />
											<exp exp='//.err2 = ToString$ (err)' />
										</command>
										<command class_type='call' title='TEST MODEL NUMBER ON LCD' disable='1' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' macro='lcdNum' >
											<argument exp='.modelNumber' />
										</command>
										<command class_type='call' title='SEND TO MODBUS ON reg100' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='ModbusSlave' macro='SetHoldingRegister' >
											<argument exp='addr100' />
											<argument exp='reg100' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' disable='1' cmdcolor='8124159' cmdcolor_sec='1544914' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' >
											<exp exp='err = 999' />
										</command>
									</flowline>
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='lcd_read_Copy' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='strg' type='T8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='Start' />
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='Cursor' >
							<argument exp='0' />
							<argument exp='1' />
						</command>
						<command class_type='call' title='Component Macro' cmdcolor='15443959' cmdcolor_sec='8864659' cmdcolor_txt='8355711' cmdgradient='1' cmdopacity='1' component='LCD_I2C' macro='PrintString' >
							<argument exp='.strg' />
						</command>
					</flowline>
				</macro>
			</macros>
			<component class_type='ref' guid='bcd6a955-12c6-4ed4-a22f-f16eb62e0762' vmin='2' vmaj='2' codename='LCD_I2C' panelId='0' x='228.604' y='-271.765' z='0' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='2' poslock='1' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='Address' data='39' />
					<value target='cal_i2c1::CHANNEL' data='001' />
					<value target='cal_i2c1::BAUD_LIST' data='002' />
					<value target='cal_i2c1::BAUD' data='400000' />
					<value target='cal_i2c1::StopDel' data='0' />
					<value target='cal_i2c1::SDA' data='$PORTD.1' />
					<value target='cal_i2c1::SDAPins' data='000' />
					<value target='cal_i2c1::SCL' data='$PORTD.0' />
					<value target='cal_i2c1::SCLPins' data='000' />
					<value target='Rows' data='004' />
					<value target='Columns' data='020' />
					<value target='UseBL' data='0' />
					<value target='LCD::ctrl_lcd::Base_GLCD1::ComponentLabel' data='000' />
					<value target='LCD::ctrl_lcd::Base_GLCD1::GdiText1::sText' data='LCD_I2C' />
					<value target='LCD::ctrl_lcd::Base_GLCD1::GdiText1::dScale' data='1.4' />
					<value target='LCD::ctrl_lcd::Base_GLCD1::foreground_colour' data='0' />
					<value target='LCD::ctrl_lcd::TextBg' data='14803425' />
					<value target='LCD::ctrl_lcd::DisplayBg' data='16777215' />
					<value target='SimComms' data='0' />
					<value target='cal_i2c1::ScopeTraces' data='0' />
					<value target='cal_i2c1::ConsoleData' data='0' />
					<value target='cal_i2c1::Injector' data='000' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='c73616d1-7ad0-45d9-aada-69ccfa4c5efc' vmin='0' vmaj='3' codename='INSPECTRA_RS232' panelId='0' x='105' y='-125' z='1' xsz='25' ysz='25.1392' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='2' poslock='1' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='cal_uart::CHANNEL' data='001' />
					<value target='cal_uart::BAUD_LIST' data='009' />
					<value target='cal_uart::BAUD' data='115200' />
					<value target='cal_uart::DBITS' data='008' />
					<value target='cal_uart::RETURN' data='001' />
					<value target='cal_uart::ECHO' data='000' />
					<value target='cal_uart::UseTX' data='1' />
					<value target='cal_uart::TX' data='$PORTE.1' />
					<value target='cal_uart::OutputPins' data='007' />
					<value target='cal_uart::TXAlt' data='0' />
					<value target='cal_uart::UseRX' data='1' />
					<value target='cal_uart::RX' data='$PORTE.0' />
					<value target='cal_uart::InputPins' data='013' />
					<value target='cal_uart::RXAlt' data='0' />
					<value target='cal_uart::FLOWEN' data='000' />
					<value target='cal_uart::RTS' data='$PORTB.2' />
					<value target='cal_uart::CTS' data='$PORTB.1' />
					<value target='label' data='INSPECTRA_RS232' />
					<value target='cal_uart::ScopeTraces' data='0' />
					<value target='cal_uart::ConsoleData' data='1' />
					<value target='cal_uart::ConsoleFormat' data='000' />
					<value target='cal_uart::ConsoleColumns' data='64' />
					<value target='cal_uart::DataSource' data='000' />
					<value target='cal_uart::com_port' data='000' />
					<value target='cal_uart::Injector' data='000' />
					<value target='cal_uart::APIUseDDR' data='' />
					<value target='cal_uart::APIDDRPin' data='' />
					<value target='cal_uart::APIDDRRXState' data='' />
					<value target='cal_uart::APIUseFC' data='' />
					<value target='cal_uart::APICTSPin' data='' />
					<value target='cal_uart::APIRTSPin' data='' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='687f8ad4-59f2-4079-bb84-7713dcb57a13' vmin='0' vmaj='2' codename='ModbusSlave' panelId='0' x='235' y='-125' z='2' xsz='25' ysz='27.0113' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='2' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='cal_uart::CHANNEL' data='002' />
					<value target='cal_uart::TX' data='$PORTD.3' />
					<value target='cal_uart::OutputPins' data='007' />
					<value target='cal_uart::TXAlt' data='0' />
					<value target='cal_uart::RX' data='$PORTD.2' />
					<value target='cal_uart::InputPins' data='013' />
					<value target='cal_uart::RXAlt' data='0' />
					<value target='cal_uart::BAUD_LIST' data='004' />
					<value target='cal_uart::BAUD' data='9600' />
					<value target='BusType' data='000' />
					<value target='DDRP' data='$PORTC.1' />
					<value target='ReadDDRState' data='000' />
					<value target='Timeout' data='100' />
					<value target='UARTidx' data='002' />
					<value target='FrameType' data='000' />
					<value target='ReceiveBufferSize' data='28' />
					<value target='AddressBytes' data='1' />
					<value target='SlaveAddress' data='2' />
					<value target='ReplyDelay' data='200' />
					<value target='BaudByteDelay' data='1040' />
					<value target='Stats' data='1' />
					<value target='label' data='Modbus Slave' />
					<value target='cal_uart::ScopeTraces' data='0' />
					<value target='cal_uart::ConsoleData' data='0' />
					<value target='cal_uart::ConsoleColumns' data='64' />
					<value target='cal_uart::DataSource' data='000' />
					<value target='cal_uart::com_port' data='000' />
					<value target='cal_uart::Injector' data='000' />
					<value target='cal_uart::APIUseDDR' data='' />
					<value target='cal_uart::APIDDRPin' data='' />
					<value target='cal_uart::APIDDRRXState' data='' />
					<value target='cal_uart::APIUseFC' data='' />
					<value target='cal_uart::APICTSPin' data='' />
					<value target='cal_uart::APIRTSPin' data='' />
					<value target='StartAdrCoil' data='0' />
					<value target='NumAdrCoil' data='8' />
					<value target='StartAdrDI' data='0' />
					<value target='NumAdrDI' data='8' />
					<value target='StartAdrAI' data='0' />
					<value target='NumAdrAI' data='1' />
					<value target='StartAdrReg' data='0' />
					<value target='NumAdrReg' data='500' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='c34f9b8a-a915-4f75-ad0c-87f2ad670a8a' vmin='5' vmaj='1' codename='CircularBuffer' panelId='0' x='359' y='-124.64' z='3' xsz='1' ysz='1' zsz='1' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='2' poslock='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='BufferSize' data='128' />
					<value target='StorageType' data='000' />
					<value target='MemType' data='000' />
					<value target='RETURN' data='000' />
					<value target='Console' data='1' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='14683ea8-5a08-4b3a-be2d-3dea3e17e720' vmin='3' vmaj='1' codename='pot_color_cap1' panelId='-1' x='0' y='0' z='0' xsz='25.1419' ysz='25.1419' zsz='18.45' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='0' poslock='1' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='angle_start' data='225.000000' />
					<value target='angle_sweep' data='270.000000' />
					<value target='cap_color' data='192' />
					<value target='point_color' data='16777215' />
					<value target='ScopeTraces' data='0' />
					<value target='RetainValue' data='0' />
					<value target='SetValue' data='0.574074' />
					<value target='channel' data='0' />
					<value target='vrefvol' data='500' />
					<value target='vrefop' data='001' />
					<value target='convspd' data='003' />
					<value target='actime' data='40' />
					<value target='bits' data='10' />
					<value target='bitmul' data='0.004883' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='c73616d1-7ad0-45d9-aada-69ccfa4c5efc' vmin='0' vmaj='3' codename='WEATHER_RS232' panelId='0' x='508' y='-128' z='0' xsz='25' ysz='25' zsz='25' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='2' poslock='1' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='cal_uart::CHANNEL' data='003' />
					<value target='cal_uart::BAUD_LIST' data='005' />
					<value target='cal_uart::BAUD' data='19200' />
					<value target='cal_uart::DBITS' data='008' />
					<value target='cal_uart::RETURN' data='001' />
					<value target='cal_uart::ECHO' data='000' />
					<value target='cal_uart::UseTX' data='1' />
					<value target='cal_uart::TX' data='$PORTH.1' />
					<value target='cal_uart::OutputPins' data='007' />
					<value target='cal_uart::TXAlt' data='0' />
					<value target='cal_uart::UseRX' data='1' />
					<value target='cal_uart::RX' data='$PORTH.0' />
					<value target='cal_uart::InputPins' data='013' />
					<value target='cal_uart::RXAlt' data='0' />
					<value target='cal_uart::FLOWEN' data='000' />
					<value target='cal_uart::RTS' data='$PORTB.2' />
					<value target='cal_uart::CTS' data='$PORTB.1' />
					<value target='label' data='WEATHER_RS232' />
					<value target='cal_uart::ScopeTraces' data='0' />
					<value target='cal_uart::ConsoleData' data='1' />
					<value target='cal_uart::ConsoleFormat' data='000' />
					<value target='cal_uart::ConsoleColumns' data='64' />
					<value target='cal_uart::DataSource' data='000' />
					<value target='cal_uart::com_port' data='000' />
					<value target='cal_uart::Injector' data='000' />
					<value target='cal_uart::APIUseDDR' data='' />
					<value target='cal_uart::APIDDRPin' data='' />
					<value target='cal_uart::APIDDRRXState' data='' />
					<value target='cal_uart::APIUseFC' data='' />
					<value target='cal_uart::APICTSPin' data='' />
					<value target='cal_uart::APIRTSPin' data='' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
		</component>
	</components>
	<scadaresourcelookup />
	<keymap />
	<panel2d shadows='0' lighting='1' brightness='0' >
		<background rgb='2105930' img='' style='0' />
		<camera xe='0' ye='0' ze='1421.4' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<viewport dx='578' dy='667' zoom='49.2036' fix_topleft='0' />
		<page x='1000' y='1000' show='0' rgb='7360576' />
		<winpos ID='7005' RectRecentFloat='11,148,1173,846' RectRecentDocked='15,175,479,842' RecentFrameAlignment='4096' RecentRowIndex='0' IsFloating='0' MRUWidth='32767' PinState='0' IsMaximized='0' IsVisible='0' />
	</panel2d>
	<panel3d shadows='0' lighting='2' brightness='0' perspective='1' >
		<background rgb='8409120' img='' style='0' />
		<table rgb='7360576' img='' style='0' size='0' />
		<camera xe='2.94411' ye='-0.299767' ze='132.543' xt='2.94411' yt='-0.299767' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<camerakey0 xe='0' ye='0' ze='300' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<camerakey1 xe='-3.67394e-14' ye='0' ze='-300' xt='0' yt='0' zt='0' xquat='0' yquat='1' zquat='0' wquat='6.12323e-17' />
		<camerakey2 xe='0' ye='-300' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-0.707107' yquat='0' zquat='0' wquat='0.707107' />
		<camerakey3 xe='-3.67394e-14' ye='300' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-4.32978e-17' yquat='0.707107' zquat='0.707107' wquat='4.32978e-17' />
		<camerakey4 xe='-300' ye='-6.66134e-14' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-0.5' yquat='0.5' zquat='0.5' wquat='0.5' />
		<camerakey5 xe='300' ye='-6.66134e-14' ze='6.66134e-14' xt='0' yt='0' zt='0' xquat='-0.5' yquat='-0.5' zquat='-0.5' wquat='0.5' />
		<camerakey6 xe='-173.205' ye='-173.205' ze='173.205' xt='0' yt='0' zt='0' xquat='-0.424708' yquat='0.17592' zquat='0.339851' wquat='0.820473' />
		<winpos ID='7004' RectRecentFloat='-79,226,575,803' RectRecentDocked='134,241,780,787' RecentFrameAlignment='4096' RecentRowIndex='0' IsFloating='0' MRUWidth='32767' PinState='0' IsMaximized='0' IsVisible='0' />
	</panel3d>
	<panels2d count='1' >
		<panel2d_0 id='0' name='2D Panel' >
			<winpos ID='1171' RectRecentFloat='744,228,1503,678' RectRecentDocked='748,255,1499,674' RecentFrameAlignment='16384' RecentRowIndex='0' IsFloating='0' MRUWidth='32767' PinState='0' IsMaximized='0' IsVisible='0' />
			<background fill='288230376151053813' showgrid='1' gridstyle='1' gridsize='10' gridbrush='71776119075691740' snaptogrid='0' />
		</panel2d_0>
	</panels2d>
	<layout >
		<view type='0' name='Main' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAagIAALcCAAA' zoom='80' scrollx='0' scrolly='47' flags='0' />
		<view type='0' name='weather_test' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAagIAALcCAAA' zoom='100' scrollx='45' scrolly='0' flags='0' />
		<view type='0' name='lcd_read' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAagIAALcCAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='init_hardware' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAagIAALcCAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='init_modbus_registers' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAagIAALcCAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='sendModelNumber' mode='0' placement='LAAAAAAAAAABAAAA---------------------3oCAAAYAAAA.wQAALcCAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
	</layout>
</document>
</root>
