<root>
<document scada='0' projtype='1' schema='103' license='1,FREE_VERSION,TCW03R' title='1  Axis Tracker Code' description='Program Description
   The program uses a real time clock for time keeping. The motion of the array is controlled by 4 time settings, defining when moves occur. The move times are expressed as minutes after midnight.
 For example one is called EightAM, and is set to 8*60= 480.
   The 1st move, at 8AM, is 45 degrees to the east. The second move is defined by a setting, say NineThirtyAM, and it is the first of 24 moves to the west, ending at ThreePM. 
The array movement dwells for 2 hours, before returning to horizontal at FivePM.
   The hardware consists of 4 components. 1.) An Arduino UNO clone. 2.) An LCD display and 5 button keypad from DFRobot. This board plugs directly into the UNO. 3.) A solid state relay board from SainSmart. 
This board gets Vcc and Ground from the UNO. The board has 2 relays, which connect to D2 and D3 on the LCD board. 4.) A Real Time Clock board. 
This board has a button Lithium Cell that keeps the clock running when power is absent. It communicates to the UNO thru an I2C connection. The actuator motor (110 volts AC) is one that rotates 72 RPM, then thru a 9:1 reduction. 
It could be a DC actuator at 12 volts. In this case, the relay is a different style. 

Main and Subroutine description:
1. Main is a while 1 loop with a switch statement. The three elements of the switch statement are Stop, Run, and Set Time. Choose the Up, Down, or Right pushbutton to select Run or Stop or Set Time. 
2. Subroutines -
   Version - Displays software version upon startup.
   Instructions – Displays operating instructions.
   Timer 1 Overflow - The Real Time Clock maintains the time over the long haul. The hour and minute are updated daily. But over a 24 hour period, an interrupt is used to maintain the minute. 
The interrupt is called Timer 1 Overflow. The target chip clock speed is 15,999,552 Hz. This is divided by 8. When a 16 bit register fills 1831 times, a minute variable is incremented. 
But this method is in accurate to the tune of 2 minutes per 24 hours. Hence, the real time clock is used, as its accuracy is better than 1 minute per year. 
   Move1Axis - This switches 110 volts AC to the actuator motor. 2 relays are used. One sets the motor direction; the other applies power to the motor. There are 3 wires to the motor. See the schematic.
   Button Press - an interrupt is called when a button press occurs. The routine sets a variable that determines where to be in the switch statement, or in the case of setting the time, increments the variables.
 Currently this is hours and minutes. In the future, a 2 axis software package will use the day of the year.
   Run - The Run subroutine is divided into 2 sections. Tracking, or stored horizontally when not tracking. 
   MinutesToHour_Minute - converts a global variable Minutes to Hours:Minutes. 
   PowerFromBattery - The real time clock can be set to where it gets its power from the button battery. This does that. 
   GetAndDisplayTime – Obtains the time from the real time clock, at 12:01, each day.  
   SetTime - Does that to the real time clock. This occurs once or twice during the lifetime of the system, when the Lithium button cell needs to be replaced. 

A note about time keeping. In version one of the single axis controller, time was approximated by using a light sensor to count dark minutes during the night time. 
Minutes, as measured from midnight, was simply Dark minutes / 2 plus a correction factor. Version 2 of the controller uses an accurate real time clock (RTC).

The code has been composed with the aid of Flowcode – www.matrixtls.com
' fcversion='720896' target='ARD.ATMEGA.Arduino Uno R3 PDIP' >
	<config data='' clkspd='16000000' simspd='1' usewdt='0' constif='0' commport='7' 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='3' />
			<data name='ClockPin' value='1' />
			<data name='DataPort' value='3' />
			<data name='DataPin' value='0' />
			<data name='UseDefaultPins' value='1' />
			<data name='WrapEnabled' value='1' />
			<data name='CommsDelayOverridden' value='0' />
			<data name='CommsDelay' value='11' />
			<data name='CalculatedCommsDelay' value='11' />
			<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='1' center='1' unitscale='0' fixedscale='0' fixedx='1' fixedy='1' fixedz='1' headcode='0' />
		<definition guid='e585f071-84d1-4e6d-8602-f1d2dbbd904c' vstate='40' vmin='0' vmaj='1' srcleaf='' visiblename='' description='' category='' category2='' category3='' bIs2dOnly='0' bIs3dOnly='0' bIsWysiwyg='0' catenable='1' author='' manuname='' manucode='' sysinfo='0' keywords='' dynamic='0' scadaCompatible='0' embeddedCompatible='1' showmacros='1' iconpath='' />
		<component class_type='root' codename='panel' 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' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' comp2dType='0' >
			<resources />
			<properties />
			<values />
			<events />
			<apis />
			<variables >
				<variable public='0' >
					<def class_type='variable' name='Pack_Watts_Float' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='TimerScaleCounter' type='s16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='CLS_On_Delay' type='s16' description='' isconst='0' isHidden='0' isinit='1' usrinit='1' setinit='1' />
				</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='Pack_Current_Float' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Pack_Watt_Hours_F' type='f32' description='' isconst='0' isHidden='0' isinit='1' usrinit='0.0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='DisplayOnDelay' type='s16' description='' isconst='1' isHidden='0' isinit='1' usrinit='1' setinit='1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Pack_Voltage_Float' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='true' type='b1' description='' isconst='1' isHidden='0' isinit='1' usrinit='1' setinit='1' />
				</variable>
			</variables>
			<macros >
				<macro >
					<flowline name='GetAndDisplayVoltages' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='call' title='Get Voltages' macro='GetVoltages' />
						<command class_type='call' title='Get Current' macro='GetCurrent' />
						<command class_type='delay' title='Delay 1/4 second' exp='250' type='1' />
						<command class_type='call' title='Print Status' macro='PrintStatus' >
							<argument exp='1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='GetVoltages' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='Pack_Voltage_Int1' type='s16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='comment' title='' comment='Scaling Analog Voltage = (AnalogVoltage/max Analog Value)*SensorMaxVoltage
     so V float = ((.Pack_Voltage_Int / 1024) * 5.0) / .DividerScaleFactor' textarea='41,-21,41,-21' />
						<command class_type='call' title='Get Pack Voltage' component='PackVoltage' macro='GetAverageInt' >
							<return exp='.Pack_Voltage_Int1' />
							<argument exp='10' />
							<argument exp='500' />
						</command>
						<command class_type='calculation' title='Pack Voltage Scaled' >
							<exp exp='Pack_Voltage_Float = ((.Pack_Voltage_Int1 / 1024) * 5.0 / 5.0)' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Buzzer' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='Beep_Time' type='s16' description='' isconst='1' isHidden='0' isinit='1' usrinit='1' setinit='1' />
						<command class_type='loop' title='Loop' type='2' exp='5' >
							<flowline >
								<command class_type='call' title='One second delay' component='Buzzer1' macro='BuzzerOnDelay' >
									<argument exp='200' />
								</command>
								<command class_type='delay' title='Delay' exp='.Beep_Time' type='2' />
								<command class_type='call' title='BuzzerOn' component='Buzzer1' macro='BuzzerOn' />
								<command class_type='delay' title='Delay' exp='.Beep_Time' type='2' />
								<command class_type='call' title='Buzzer Off' component='Buzzer1' macro='BuzzerOff' />
								<command class_type='delay' title='Delay' exp='.Beep_Time' type='2' />
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='GetCurrent' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='V_Hall' type='f32' description='' isconst='0' isHidden='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='Pack_Current_Int1' type='s16' description='' isconst='0' isHidden='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='comment' title='' comment='How to verify operation of the Hall sensor?' textarea='12,0,12,0' />
						<command class_type='comment' title='' comment='Hall Sensor
Amps = (2.5- V_Hall) / 0.185
May have to take the absolute value of the current' textarea='12,0,12,0' />
						<command class_type='call' title='Get  Pack Current' component='PackCurrent' macro='GetAverageInt' >
							<return exp='.Pack_Current_Int1' />
							<argument exp='10' />
							<argument exp='500' />
						</command>
						<command class_type='calculation' title='V_Hall' >
							<exp exp='.V_Hall = (FLOAT (.Pack_Current_Int1) * (5.0 / 1023.0))' />
						</command>
						<command class_type='calculation' title='Convert to Amperes' >
							<exp exp='Pack_Current_Float = 2.74 * (.V_Hall - 2.5) / 0.185' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='PrintStatus' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='WH' type='s16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='CLS' component='LCD1' macro='Clear' />
						<command class_type='delay' title='Delay' exp='1' type='2' />
						<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.WH' >
							<case >
								<flowline />
							</case>
							<case exp='1' >
								<flowline >
									<command class_type='call' title='&quot;Pk_V=&quot;' component='LCD1' macro='PrintString' >
										<argument exp='&quot;Pk_V=&quot;' />
									</command>
									<command class_type='call' title='Pack Voltage Float' component='LCD1' macro='PrintFloat' >
										<argument exp='Pack_Voltage_Float' />
										<argument exp='3' />
									</command>
									<command class_type='calculation' title='Calculation' >
										<exp exp='Pack_Watts_Float = Pack_Voltage_Float * Pack_Current_Float' />
									</command>
									<command class_type='call' title='Cursor 0,1' component='LCD1' macro='Cursor' >
										<argument exp='0' />
										<argument exp='1' />
									</command>
									<command class_type='call' title='&quot;Watts =&quot;' component='LCD1' macro='PrintString' >
										<argument exp='&quot;Watts =&quot;' />
									</command>
									<command class_type='call' title='Print Pack Watts,Float' component='LCD1' macro='PrintFloat' >
										<argument exp='Pack_Watts_Float' />
										<argument exp='3' />
									</command>
									<command class_type='delay' title='Delay 4  seconds' exp='DisplayOnDelay * 2' type='2' />
									<command class_type='call' title='CLS' component='LCD1' macro='Clear' />
								</flowline>
							</case>
							<case exp='2' >
								<flowline >
									<command class_type='call' title='&quot;PK_V=&quot;' component='LCD1' macro='PrintString' >
										<argument exp='&quot;Pk_V=&quot;' />
									</command>
									<command class_type='call' title='Cell 1 Voltage' component='LCD1' macro='PrintFloat' >
										<argument exp='Pack_Voltage_Float' />
										<argument exp='3' />
									</command>
									<command class_type='call' title='Cursor 0,1' component='LCD1' macro='Cursor' >
										<argument exp='0' />
										<argument exp='1' />
									</command>
									<command class_type='call' title='&quot;WH =&quot;' component='LCD1' macro='PrintString' >
										<argument exp='&quot;WH =&quot;' />
									</command>
									<command class_type='call' title='Print Pack Watt Hours' component='LCD1' macro='PrintFloat' >
										<argument exp='Pack_Watt_Hours_F' />
										<argument exp='3' />
									</command>
								</flowline>
							</case>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Main' description='Prigramming:
1. Arduino UNO R3 PDIP
2. Disconnect  RTC from TxRx' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='Low_Voltage_Cutoff' type='f32' description='' isconst='1' isHidden='0' isinit='1' usrinit='10.0' setinit='10.0' />
						<command class_type='comment' title='' comment='Cell_1_Voltage_Float = (Cell_1_Voltage_Int / 1023.0) * 5.0
My_Int_Result = (My_Voltage_Int * 5) / 1023
Cell_1_Voltage_Float = Cell_1_Voltage_Int * 0.0048875855' textarea='12,0,12,0' />
						<command class_type='comment' title='' comment='Assuming the BMS works, Terminate the test 
when the current falls off sharply.' textarea='12,0,12,0' />
						<command class_type='comment' title='' comment='I need to size the load resistor
 based on the C rating of the batteries.' textarea='12,0,12,0' />
						<command class_type='comment' title='' comment='For the 48 volt version, save this and change 
the constant Low Voltage Cutoff Constant.
Also, I will need 2 of he voltage dividers.' textarea='12,0,12,0' />
						<command class_type='comment' title='' comment='Hookup Summary:
1. Divider: V+ after Relay. V- On Shunt. Output: Look at other setup. Neg clearly goes to Uno neg strip.
2. Shunt:Uno Neg Strip, + to UNO C2
3. Buzzer: +/- to strip D2 sends signal to buzzer. ' textarea='12,0,12,0' />
						<command class_type='call' title='LCD Start' component='LCD1' macro='Start' />
						<command class_type='delay' title='Delay' exp='100' type='1' />
						<command class_type='call' title='Load relay ON' component='Load_ON_Relay' macro='SwitchOn' />
						<command class_type='call' title='&quot;Hello World&quot;' component='LCD1' macro='PrintString' >
							<argument exp='&quot;Hello World&quot;' />
						</command>
						<command class_type='call' title='Call Version' macro='Version' />
						<command class_type='delay' title='Delay' exp='CLS_On_Delay' type='2' />
						<command class_type='call' title='CLS' component='LCD1' macro='Clear' />
						<command class_type='comment' title='' comment='Compile Fault when I enable the next Interrupt' textarea='441,0,441,0' />
						<command class_type='interrupt' title='Interrupt for incrementing minutes' enable='1' name='TMR1' call='Timer1_Overflow' >
							<settings timer='1' prescale='8' postscale='-1' rollover='-1' bitcount='-1' trigger='3' ppsport='-1' ppspin='-1' maskhi='AAAAAP--------------------------------------------------------------------------------------------------------------------------------------------------------------------8' masklo='AAAAAP--------------------------------------------------------------------------------------------------------------------------------------------------------------------8' >
								<option value='2' />
								<option value='-1' />
								<option value='-1' />
								<option value='-1' />
								<option value='0' />
								<option value='0' />
								<option value='0' />
								<option value='0' />
							</settings>
						</command>
						<command class_type='delay' title='Delay' exp='100' type='1' />
						<command class_type='call' title='GetAndDisplayVoltages' disable='1' macro='GetAndDisplayVoltages' />
						<command class_type='loop' title='Loop' disable='1' type='3' exp='1' >
							<flowline >
								<command class_type='comment' title='' comment='What I need to do here is to get the data after 60 seconds. 
It may need to be less than 60 seconde, because it may take some time to 
gather data. 
' textarea='12,0,12,0' />
								<command class_type='label' title='Declare Connection Point' labelid='1' labelname='B' />
								<command class_type='decision' title='Decision' exp='Pack_Voltage_Float &lt; .Low_Voltage_Cutoff || Pack_Current_Float &lt; 5.0' swap='0' >
									<flowline >
										<command class_type='call' title='Turn Load OFF' component='Load_ON_Relay' macro='SwitchOff' />
										<command class_type='call' title='&quot;Test Terminated&quot;' component='LCD1' macro='PrintString' >
											<argument exp='&quot;Test Terminated&quot;' />
										</command>
										<command class_type='delay' title='Delay' exp='DisplayOnDelay' type='2' />
										<command class_type='call' title='CLS' component='LCD1' macro='Clear' />
										<command class_type='call' title='User Macro' macro='PrintStatus' >
											<argument exp='2' />
										</command>
										<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
									</flowline>
									<flowline >
										<command class_type='call' title='Print Volts.Watts' macro='PrintStatus' >
											<argument exp='1' />
										</command>
										<command class_type='delay' title='60' exp='60' type='2' />
										<command class_type='call' title='Get and Display Voltages' macro='GetAndDisplayVoltages' />
										<command class_type='goto' title='Goto Connection Point' labelid='1' labelname='' />
									</flowline>
								</command>
							</flowline>
						</command>
						<command class_type='label' title='Declare Connection Point' labelid='0' labelname='A' />
						<command class_type='call' title='Call Buzzer' disable='1' macro='Buzzer' />
					</flowline>
				</macro>
				<macro >
					<flowline name='Version' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='call' title='&quot; 12V Load Test&quot;' component='LCD1' macro='PrintString' >
							<argument exp='&quot; 12V Load Test&quot;' />
						</command>
						<command class_type='call' title='Cursor 0,1' component='LCD1' macro='Cursor' >
							<argument exp='0' />
							<argument exp='1' />
						</command>
						<command class_type='call' title='Key In Version' component='LCD1' macro='PrintString' >
							<argument exp='&quot;      V1&quot;' />
						</command>
						<command class_type='delay' title='Delay' exp='CLS_On_Delay' type='2' />
						<command class_type='call' title='CLS' component='LCD1' macro='Clear' />
					</flowline>
				</macro>
			</macros>
			<component class_type='ref' guid='0953aac0-9c23-4c2f-9843-88954a4191ea' vmin='5' vmaj='2' codename='LCD1' panelId='-1' x='-70' y='-100' z='0.55' xsz='10.106' ysz='36.5106' zsz='1.1' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' scadavisible='1' interactive='1' solid='1' layer='1' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='LCD_Mode' data='000' />
					<value target='Pin_Data_0' data='$PORTD.4' />
					<value target='Pin_Data_1' data='$PORTD.5' />
					<value target='Pin_Data_2' data='$PORTD.6' />
					<value target='Pin_Data_3' data='$PORTD.7' />
					<value target='Pin_Data_4' data='$PORTA.1' />
					<value target='Pin_Data_5' data='$PORTA.1' />
					<value target='Pin_Data_6' data='$PORTA.1' />
					<value target='Pin_Data_7' data='$PORTA.1' />
					<value target='LCD_Port' data='$PORTA' />
					<value target='Pin_RS' data='$PORTB.0' />
					<value target='Pin_E' data='$PORTB.1' />
					<value target='LCD_Use_Write' data='0' />
					<value target='RemapCharacters' data='0' />
					<value target='Pin_RW' data='$PORTA.0' />
					<value target='Rows' data='002' />
					<value target='Columns' data='016' />
					<value target='ctrl_lcd::Base_GLCD1::ShowBackground' data='1' />
					<value target='ctrl_lcd::Base_GLCD1::ComponentLabel' data='000' />
					<value target='ctrl_lcd::Base_GLCD1::GdiText1::sText' data='panel' />
					<value target='ctrl_lcd::Base_GLCD1::GdiText1::dScale' data='1.400000' />
					<value target='ctrl_lcd::TextColour' data='0' />
					<value target='TextBg' data='14803425' />
					<value target='DispalyBg' data='16777215' />
					<value target='DelayTiming' data='100' />
					<value target='CursorPosX' data='0' />
					<value target='CursorPosY' data='0' />
					<value target='DoubleDelay' data='0' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='11ca2f38-de81-4812-9338-4b5a7a89a658' vmin='0' vmaj='1' codename='PackVoltage' panelId='-1' x='-70' y='70' z='0.25' 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='1' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='adc_base1::channel' data='5' />
					<value target='adc_base1::vrefvol' data='500' />
					<value target='adc_base1::vrefop' data='1' />
					<value target='adc_base1::convspd' data='6' />
					<value target='adc_base1::actime' data='40' />
					<value target='adc_base1::bits' data='10' />
					<value target='VrefForCalculations' data='' />
					<value target='BitDepth' data='10' />
					<value target='SetValue' data='0.834257' />
					<value target='RetainValue' data='1' />
					<value target='ModifiedConnection' data='An 5' />
					<value target='ComponentLabel' data='000' />
					<value target='LabelColour' data='9868950' />
					<value target='GdiText2::sText' data='PackVoltage' />
					<value target='ConnectionLabels' data='1' />
					<value target='ShowPinValue' data='1' />
					<value target='Style' data='0' />
					<value target='Gauge1::brFill' data='288230376147764163' />
					<value target='Gauge1::colFrameOutline' data='9868950' />
					<value target='Gauge1::brFrameFill' data='261490253360251843' />
					<value target='Gauge1::colPointerOutline' data='9868950' />
					<value target='Gauge1::brPointerFill' data='261490253360251843' />
					<value target='Gauge1::colText' data='9868950' />
					<value target='Gauge1::colTickMarkOutline' data='9868950' />
					<value target='Gauge1::brTickMarkFill' data='12829635' />
					<value target='Gauge1::colCapOutline' data='12829635' />
					<value target='Gauge1::brCapFill' data='261490253360251843' />
					<value target='Gauge1::sMainImage' data='' />
					<value target='Gauge1::sCapImage' data='' />
					<value target='GdiGauge1::nPointerKnob' data='  2' />
					<value target='GdiSwitch1::nType' data='  2' />
					<value target='UpperBoundValue' data='5.000050' />
					<value target='adc_base1::ScopeTraces' data='0' />
					<value target='StoredColourStyle' data='0' />
					<value target='FlowcodeType' data='0' />
					<value target='Enabled' data='1' />
					<value target='Product' data='ARD' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='11ca2f38-de81-4812-9338-4b5a7a89a658' vmin='0' vmaj='1' codename='PackCurrent' panelId='-1' x='-70' y='-20' z='0.5' 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='1' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='adc_base1::channel' data='4' />
					<value target='adc_base1::vrefvol' data='500' />
					<value target='adc_base1::vrefop' data='1' />
					<value target='adc_base1::convspd' data='6' />
					<value target='adc_base1::actime' data='40' />
					<value target='adc_base1::bits' data='10' />
					<value target='VrefForCalculations' data='' />
					<value target='BitDepth' data='10' />
					<value target='SetValue' data='0.834257' />
					<value target='RetainValue' data='1' />
					<value target='ModifiedConnection' data='An 4' />
					<value target='ComponentLabel' data='000' />
					<value target='LabelColour' data='9868950' />
					<value target='GdiText2::sText' data='PackCurrent' />
					<value target='ConnectionLabels' data='1' />
					<value target='ShowPinValue' data='1' />
					<value target='Style' data='0' />
					<value target='Gauge1::brFill' data='288230376147764163' />
					<value target='Gauge1::colFrameOutline' data='9868950' />
					<value target='Gauge1::brFrameFill' data='261490253360251843' />
					<value target='Gauge1::colPointerOutline' data='9868950' />
					<value target='Gauge1::brPointerFill' data='261490253360251843' />
					<value target='Gauge1::colText' data='9868950' />
					<value target='Gauge1::colTickMarkOutline' data='9868950' />
					<value target='Gauge1::brTickMarkFill' data='12829635' />
					<value target='Gauge1::colCapOutline' data='12829635' />
					<value target='Gauge1::brCapFill' data='261490253360251843' />
					<value target='Gauge1::sMainImage' data='' />
					<value target='Gauge1::sCapImage' data='' />
					<value target='GdiGauge1::nPointerKnob' data='  2' />
					<value target='GdiSwitch1::nType' data='  2' />
					<value target='UpperBoundValue' data='5.000050' />
					<value target='adc_base1::ScopeTraces' data='0' />
					<value target='StoredColourStyle' data='0' />
					<value target='FlowcodeType' data='0' />
					<value target='Enabled' data='1' />
					<value target='Product' data='ARD' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='2f95990b-1dc6-4cb4-a6b1-e000a487b702' vmin='2' vmaj='1' codename='Load_ON_Relay' panelId='-1' x='40' y='60' 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='1' poslock='1' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='Control' data='$PORTD.0' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='04bbd3b8-ee11-40eb-91e8-1bbbd6f65b8c' vmin='0' vmaj='1' codename='Buzzer1' panelId='-1' x='40' y='-60' z='0.24999' 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='1' poslock='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='pin' data='$PORTD.2' />
					<value target='Polarity' data='000' />
					<value target='BuzzFreq' data='1200' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
		</component>
	</components>
	<scadaresourcelookup />
	<keymap />
	<panel2d shadows='0' lighting='2' brightness='0' >
		<background rgb='9737364' img='' style='0' />
		<camera xe='-8.78743' ye='-5.94067' ze='677.486' xt='-8.78743' yt='-5.94067' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<viewport dx='290' dy='217' zoom='51.7944' fix_topleft='0' />
		<page x='1000' y='1000' show='0' rgb='7360576' />
		<winpos ID='7005' RectRecentFloat='1147,576,1465,907' RectRecentDocked='0,0,200,200' RecentFrameAlignment='16384' RecentRowIndex='0' IsFloating='1' MRUWidth='32767' PinState='0' IsMaximized='0' IsVisible='1' />
	</panel2d>
	<panel3d shadows='0' lighting='2' brightness='0' perspective='1' >
		<background rgb='8409120' img='' style='0' />
		<table rgb='7360576' img='' style='0' size='100' />
		<camera xe='-45.327' ye='222.31' ze='207.284' xt='-45.327' yt='222.31' 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='153,370,807,947' RectRecentDocked='0,0,281,850' RecentFrameAlignment='16384' RecentRowIndex='0' IsFloating='0' MRUWidth='32767' PinState='0' IsMaximized='0' IsVisible='0' />
	</panel3d>
	<panels2d count='0' />
	<layout >
		<view type='0' name='Main' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAkAAAANAQAAE0DAAA' zoom='105' scrollx='0' scrolly='378' flags='0' />
		<view type='0' name='Version' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAkAAAANAQAAE0DAAA' zoom='125' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='GetAndDisplayVoltages' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAkAAAANAQAAE0DAAA' zoom='140' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='GetVoltages' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAkAAAANAQAAE0DAAA' zoom='140' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='GetCurrent' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAkAAAANAQAAE0DAAA' zoom='130' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='PrintStatus' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAkAAAANAQAAE0DAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Buzzer' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAkAAAANAQAAE0DAAA' zoom='125' scrollx='0' scrolly='0' flags='0' />
	</layout>
</document>
</root>
