<root>
<document scada='0' projtype='1' schema='103' license='1,79829088,Q2XNNM' title='' description='' fcversion='720898' target='ARD.ATMEGA.Arduino Uno R3 PDIP' >
	<config data='' clkspd='16000000' simspd='1' usewdt='0' constif='0' Use3V3='0' />
	<plugins >
		<dll_models enabled='1' />
	</plugins>
	<supplement use='0' head='' body='' />
	<debug >
		<watch expr='DispTextLine.addr' />
		<watch expr='DispTextLine.c' />
		<watch expr='DispTextLine.caddr' />
		<watch expr='DispTextLine.i' />
		<watch expr='DispTextLine.j' />
		<watch expr='DispTextLine.pattern' />
		<watch expr='DispTextLine.dev' />
		<watch expr='DispTextLine.mask' />
		<watch expr='buffer' />
		<watch expr='DispTextLine.s' />
		<watch expr='DispTextLine.x' />
		<watch expr='DispTextLine.y' />
		<watch expr='DispTextLine.r' />
	</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='28b86d42-761d-46dc-8d22-2b4493853a9e' vstate='30' vmin='0' vmaj='1' srcleaf='max7219 v10.fcfx' visiblename='Matrix7219_v9' description='Max 7219 based 8 x8 matrix display - supporting 1-8 displays in a 8 x 8 to 64 x 8 grid' category='Displays' category2='' category3='' bIs2dOnly='0' bIs3dOnly='0' bIsWysiwyg='0' catenable='1' author='Martin Fisher' manuname='' manucode='' sysinfo='4875' keywords='' dynamic='1' scadaCompatible='0' embeddedCompatible='1' showmacros='1' iconpath='' />
		<component class_type='root' codename='Max7219_v9' 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' macronames='$(type)_$(module)__$(macro)' >
			<resources />
			<properties >
				<property name='Channel' target='cal_spi1::CHANNEL' typeid='16' hidden='0' locked='0' info='SPI Channel selector' filter='000Software
001Channel 1
' />
				<property name='Prescale' target='cal_spi1::PR_SCALE' typeid='16' hidden='0' locked='0' info='Prescale option selector' filter='002Fosc/2
004Fosc/4
008Fosc/8
016Fosc/16
032Fosc/32
064Fosc/64
128Fosc/128' />
				<property name='CLK' target='cal_spi1::CLK' typeid='5' hidden='0' locked='1' info='' />
				<property name='MOSI' target='cal_spi1::MOSI' typeid='5' hidden='0' locked='1' info='' />
				<property name='MISO' target='cal_spi1::MISO' typeid='5' hidden='0' locked='1' info='SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode.' />
				<property name='MOSI Remap Pin' target='cal_spi1::MOSIPins' typeid='16' hidden='1' locked='0' sorted='1' info='Select which the target pin to assign the MOSI hardware pin functionality.' filter='008$PORTB.0
009$PORTB.1
010$PORTB.2
011$PORTB.3
012$PORTB.4
013$PORTB.5
014$PORTB.6
015$PORTB.7
000$PORTC.0
001$PORTC.1
002$PORTC.2
003$PORTC.3
004$PORTC.4
005$PORTC.5
006$PORTC.6
007$PORTC.7' />
				<property name='Chip Select' target='cal_spi1::SS' typeid='5' hidden='1' locked='0' info='Chip Select / Slave Select Pin 
Master Mode: General purpose output pin used to select the remote SPI device.
Slave Mode: Hardware chip select pin input used to select the SPI device.
' />
				<property name='Devices' target='NumDevices' typeid='21' hidden='0' locked='0' info='' />
				<property name='SwapX' target='Direction' typeid='7' hidden='0' locked='0' info='' />
				<property name='SwapY' target='SwapY' typeid='7' hidden='0' locked='0' info='' />
				<property name='Rotated' target='Rotated' typeid='16' hidden='0' locked='0' info='' filter='0000
0011' />
				<property name='CS' target='CS' typeid='5' hidden='0' locked='0' info='' />
			</properties>
			<values >
				<value target='cal_spi1::CHANNEL' data='001' />
				<value target='cal_spi1::PR_SCALE' data='016' />
				<value target='cal_spi1::CLK' data='$PORTB.5' />
				<value target='cal_spi1::MOSI' data='$PORTB.3' />
				<value target='cal_spi1::MISO' data='$PORTB.4' />
				<value target='cal_spi1::MOSIPins' data='008' />
				<value target='cal_spi1::SS' data='$PORTB.2' />
				<value target='NumDevices' data='12' />
				<value target='Direction' data='1' />
				<value target='SwapY' data='1' />
				<value target='Rotated' data='000' />
				<value target='CS' data='$D10' />
			</values>
			<events >
				<event class='Components' event='Property' target='Ev_Property' />
			</events>
			<apis >
				<api name='Slew' alt='Slew' type='1' proto='1' />
				<api name='DispTextCol' alt='DispTextCol' type='1' proto='1' />
				<api name='DisplayDigit' alt='DisplayDigit' type='1' proto='1' />
				<api name='Scroll' alt='Scroll' type='1' proto='1' />
				<api name='Pen' alt='Pen' type='1' proto='1' />
				<api name='DisplayStr' alt='DisplayStr' type='1' proto='1' />
				<api name='Shutdown' alt='Shutdown' type='1' proto='1' />
				<api name='Plot' alt='Plot' type='1' proto='1' />
				<api name='Demo' alt='Demo' type='1' proto='1' />
				<api name='InitialiseLED' alt='InitialiseLED' type='1' proto='1' />
				<api name='PlotRotate' alt='PlotRotate' type='1' proto='1' />
				<api name='DispTextLine' alt='DispTextLine' type='1' proto='1' />
				<api name='Invert' alt='Invert' type='1' proto='1' />
				<api name='ScrollStr' alt='ScrollStr' type='1' proto='1' />
				<api name='PenRot' alt='PenRot' type='1' proto='1' />
				<api name='ClearDisplays' alt='ClearDisplays' type='1' proto='1' />
				<api name='SetIntensity' alt='SetIntensity' type='1' proto='1' />
				<api name='ScrollStr3' alt='ScrollStr3' type='1' proto='1' />
				<api name='FadeIn' alt='FadeIn' type='1' proto='1' />
			</apis>
			<variables >
				<variable public='0' >
					<def class_type='variable' name='OP_INTENSITY' type='s16' description='' isconst='1' isHidden='0' isinit='1' usrinit='10' setinit='10' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='digit_data' type='u8' description='' isconst='0' isHidden='0' isinit='1' usrinit='&quot; 126,48,109,121,51,91,95,112,127,123 &quot;' setinit='{126,48,109,121,51,91,95,112,127,123}' >
						<array size='10' />
					</def>
				</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='Parameter' type='s16' description='' isconst='1' isHidden='0' isinit='1' usrinit='1' setinit='1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='OP_SHUTDOWN' type='s16' description='' isconst='1' isHidden='0' isinit='1' usrinit='12' setinit='12' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='display' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='128' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Command' type='s16' description='' isconst='1' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='OP_NOOP' type='s16' description='' isconst='1' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='OP_DECODEMODE' type='s16' description='' isconst='1' isHidden='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='y' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='x' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='buffer' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='32' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='dir' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='OP_SCANLIMIT' type='s16' description='' isconst='1' isHidden='0' isinit='1' usrinit='11' setinit='11' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='n' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='OP_DISPLAYTEST' type='s16' description='' isconst='1' isHidden='0' isinit='1' usrinit='15' setinit='15' />
				</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='i' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
				</variable>
			</variables>
			<macros >
				<macro >
					<flowline name='Slew' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='s' type='T8*' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='d' type='u8' description='Delay between scrolls' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='pause' type='u16' description='Delay between scrolls' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='invert' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='x' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='r' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='spos' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' >
							<array size='8' />
						</local>
						<local name='i' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='row' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='t' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.x = NumDevices * 8' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.r' exp='8' for1='' for3='' >
							<flowline >
								<command class_type='decision' title='Decision' exp='.invert' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculate start positions' >
											<exp exp='.spos[7 - .r] = .x + .d * (.r)' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculate start positions' >
											<exp exp='.spos[.r] = .x + .d * .r' />
										</command>
									</flowline>
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.i = 1' />
						</command>
						<command class_type='loop' title='Loop' type='1' exp='.i = 0' start='0' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.i = 0' />
								</command>
								<command class_type='loop' title='Loop' type='2' forvar='.row' exp='8' for1='' for3='' >
									<flowline >
										<command class_type='decision' title='Decision' exp='.invert' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.r = 7 - .row' />
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.r = .row' />
												</command>
											</flowline>
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.t = .spos[.r]' />
										</command>
										<command class_type='decision' title='Decision' exp='.t &gt; 0' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.t = .t - 1' />
													<exp exp='.spos[.r] = .t' />
												</command>
												<command class_type='decision' title='Decision' exp='.t &lt; .x' swap='0' >
													<flowline >
														<command class_type='call' title='Call Macro' macro='DispTextLine' >
															<argument exp='.s' />
															<argument exp='.t' />
															<argument exp='.r' />
															<argument exp='.r' />
														</command>
													</flowline>
													<flowline />
												</command>
												<command class_type='calculation' title='Calculation' >
													<exp exp='.i = 1' />
												</command>
											</flowline>
											<flowline />
										</command>
										<command class_type='delay' title='Delay' exp='.pause' type='1' />
									</flowline>
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='DispTextCol' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='text' type='T8*' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='32' />
						</param>
						<param name='column' type='u16' description='column of text to display (0 is left edge to no. chars * 8 - 1)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='target' type='u8' description='Target column on display' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='pos' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='b' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='row' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.addr = (.text[.column / 8] - 32) * 8' />
							<exp exp='.pos = 1 &lt;&lt; (.column % 8)' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.row' exp='8' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.b = char_set::GetInt(.addr + .row)' />
								</command>
								<command class_type='decision' title='Decision' exp='SwapY' swap='0' >
									<flowline >
										<command class_type='call' title='Call Macro' macro='Plot' >
											<argument exp='.target' />
											<argument exp='7-.row' />
											<argument exp='.b &amp; .pos' />
										</command>
									</flowline>
									<flowline >
										<command class_type='call' title='Call Macro' macro='Plot' >
											<argument exp='.target' />
											<argument exp='.row' />
											<argument exp='.b &amp; .pos' />
										</command>
									</flowline>
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='DisplayDigit' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='device' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='digit' type='u8' description='position to display from 0 to number of digits' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='value' type='u8' description='value to display (0..9)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='v' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Valid digit?' exp='(.value &gt;= 0) &amp;&amp; (.value &lt;= 9)' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.v = digit_data[.value]' />
								</command>
								<command class_type='call' title='Display at selected digit' macro='spiTransfer' >
									<argument exp='.device' />
									<argument exp='.digit+1' />
									<argument exp='.v' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Scroll' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='direction' type='u8' description='0 = left, 1 = up, 2 = right, 3 = down' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='n' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='x' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='y' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='d' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='c' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='nc' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.direction' >
							<case >
								<flowline />
							</case>
							<case exp='0' >
								<flowline >
									<command class_type='loop' title='Scroll left' type='2' forvar='.y' exp='8' for1='' for3='' >
										<flowline >
											<command class_type='calculation' title='Calculation' >
												<exp exp='.c = 0' />
												<exp exp='' />
												<exp exp='' />
											</command>
											<command class_type='loop' title='Loop' type='2' forvar='.n' exp='NumDevices' start='0' for1='' for3='' >
												<flowline >
													<command class_type='calculation' title='Calculation' >
														<exp exp='.addr = .n * 8 + .y' />
														<exp exp='.d = (display[.addr] &lt;&lt; 1) + .c' />
														<exp exp='.c = .d / 256' />
														<exp exp='' />
													</command>
													<command class_type='call' title='Call Macro' macro='WriteData' >
														<argument exp='.n' />
														<argument exp='.y' />
														<argument exp='.d' />
													</command>
												</flowline>
											</command>
										</flowline>
									</command>
								</flowline>
							</case>
							<case exp='1' >
								<flowline >
									<command class_type='loop' title='Scroll Up' type='2' forvar='.n' exp='NumDevices' for1='' for3='' >
										<flowline >
											<command class_type='calculation' title='Calculation' >
												<exp exp='.addr = .n * 8' />
											</command>
											<command class_type='loop' title='Loop' type='2' forvar='.y' exp='7' start='0' for1='' for3='' >
												<flowline >
													<command class_type='calculation' title='Calculation' >
														<exp exp='.d = display[.addr + .y + 1]' />
														<exp exp='' />
														<exp exp='' />
													</command>
													<command class_type='call' title='Call Macro' macro='WriteData' >
														<argument exp='.n' />
														<argument exp='.y' />
														<argument exp='.d' />
													</command>
												</flowline>
											</command>
											<command class_type='call' title='Call Macro' macro='WriteData' >
												<argument exp='.n' />
												<argument exp='7' />
												<argument exp='0' />
											</command>
										</flowline>
									</command>
								</flowline>
							</case>
							<case exp='2' >
								<flowline >
									<command class_type='loop' title='Scroll Right' type='2' forvar='.y' exp='8' for1='' for3='' >
										<flowline >
											<command class_type='calculation' title='Calculation' >
												<exp exp='.c = 0' />
												<exp exp='.n = NumDevices' />
												<exp exp='' />
											</command>
											<command class_type='loop' title='Loop' type='1' exp='.n == 0' start='0' for1='' for3='' >
												<flowline >
													<command class_type='calculation' title='Calculation' >
														<exp exp='.n = .n - 1' />
														<exp exp='.addr = .n * 8 + .y' />
														<exp exp='.d = display[.addr]' />
														<exp exp='.nc = .d &amp; 1' />
														<exp exp='.d = (.d &gt;&gt; 1) + (.c &lt;&lt; 7)' />
														<exp exp='.c = .nc' />
													</command>
													<command class_type='call' title='Call Macro' macro='WriteData' >
														<argument exp='.n' />
														<argument exp='.y' />
														<argument exp='.d' />
													</command>
												</flowline>
											</command>
										</flowline>
									</command>
								</flowline>
							</case>
							<case exp='3' >
								<flowline >
									<command class_type='loop' title='Scroll Down' type='2' forvar='.n' exp='NumDevices' for1='' for3='' >
										<flowline >
											<command class_type='calculation' title='Calculation' >
												<exp exp='.addr = .n * 8' />
												<exp exp='.y = 7' />
											</command>
											<command class_type='loop' title='Loop' type='0' exp='.y &gt; 0' start='0' for1='' for3='' >
												<flowline >
													<command class_type='calculation' title='Calculation' >
														<exp exp='.d = display[.addr + .y - 1]' />
														<exp exp='' />
														<exp exp='' />
													</command>
													<command class_type='call' title='Call Macro' macro='WriteData' >
														<argument exp='.n' />
														<argument exp='.y' />
														<argument exp='.d' />
													</command>
													<command class_type='calculation' title='Calculation' >
														<exp exp='.y = .y - 1' />
													</command>
												</flowline>
											</command>
											<command class_type='call' title='Call Macro' macro='WriteData' >
												<argument exp='.n' />
												<argument exp='0' />
												<argument exp='0' />
											</command>
										</flowline>
									</command>
								</flowline>
							</case>
						</command>
						<command class_type='call' title='Call Macro' macro='Refresh' />
					</flowline>
				</macro>
				<macro >
					<flowline name='QPlot' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='x' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='y' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Set' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='bit' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='row' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='dev' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='v' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='(.x &lt; (NumDevices * 8)) AND (.y &lt; 8)' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.dev = .x / 8' />
									<exp exp='.addr = .dev * 8 + .y' />
									<exp exp='.v = display[.addr]' />
								</command>
								<command class_type='decision' title='Decision' exp='Direction' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.bit = 1 &lt;&lt; (.x % 8)' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.bit = 128 &gt;&gt; (.x % 8)' />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Decision' exp='.Set' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.v = .v | .bit' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='bit = ~bit' >
											<exp exp='.bit = ~ .bit' />
											<exp exp='.v = .v &amp; .bit' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='display[.addr] = .v' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Pen' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='device' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='char' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='ca' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' 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='d' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.addr = .device * 8' />
							<exp exp='.ca = .char - 32' />
							<exp exp='.ca = .ca * 8' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.i' exp='8' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.d = char_set::GetInt(.ca)' />
								</command>
								<command class_type='decision' title='Decision' exp='(Direction &amp; !SwapY) || (!Direction &amp; SwapY)' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.d = ((.d &amp; 0x1) &lt;&lt; 7) | ((.d &amp; 0x2) &lt;&lt; 5) | ((.d &amp; 0x4) &lt;&lt; 3) | ((.d &amp; 0x8) &lt;&lt; 1) | ((.d &amp; 0x10) &gt;&gt; 1) | ((.d &amp; 0x20) &gt;&gt; 3) | ((.d &amp; 0x40) &gt;&gt; 5) | ((.d &amp; 0x80) &gt;&gt; 7)' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='SwapY' swap='0' >
									<flowline >
										<command class_type='call' title='Call Macro' macro='WriteData' >
											<argument exp='.device' />
											<argument exp='7-.i' />
											<argument exp='.d' />
										</command>
									</flowline>
									<flowline >
										<command class_type='call' title='Call Macro' macro='WriteData' >
											<argument exp='.device' />
											<argument exp='.i' />
											<argument exp='.d' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.ca = .ca + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='Call Macro' macro='Refresh' />
					</flowline>
				</macro>
				<macro >
					<flowline name='Shutdown' description='Set LED shutdown state' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='powerOff' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' textarea='66,-24,66,-24' exp='.powerOff' swap='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='spiAll' >
									<argument exp='OP_SHUTDOWN' />
									<argument exp='0' />
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Call Macro' macro='spiAll' >
									<argument exp='OP_SHUTDOWN' />
									<argument exp='1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='DisplayStr' description='Print a string to the display on matrix alignment' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='addr' type='u8' 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>
						<param name='clear' type='b1' description='Set to true to clear to end of display' 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='len' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.len = Length$ (.str)' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.i' exp='NumDevices' for1='' for3='' >
							<flowline >
								<command class_type='decision' title='Decision' exp='.i &lt; .len' swap='0' >
									<flowline >
										<command class_type='call' title='Call Macro' macro='Pen' >
											<argument exp='.i+.addr' />
											<argument exp='.str[.i]' />
										</command>
									</flowline>
									<flowline >
										<command class_type='call' title='Call Macro' macro='Pen' >
											<argument exp='.addr+.i' />
											<argument exp='&apos; &apos;' />
										</command>
									</flowline>
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='QPlotR' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='x' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='y' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Set' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='bit' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='row' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='dev' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='v' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='t' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='(.x &lt; (NumDevices * 8)) AND (.y &lt; 8)' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.dev = .x / 8' />
									<exp exp='.x = .x % 8' />
								</command>
								<command class_type='decision' title='Decision' exp='Rotated' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.t = .x' />
											<exp exp='.x = .y' />
											<exp exp='.y = .t' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.addr = .dev * 8 + .y' />
									<exp exp='.x = .x % 8' />
									<exp exp='.v = display[.addr]' />
								</command>
								<command class_type='decision' title='Decision' exp='Direction' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.bit = 1 &lt;&lt; (.x % 8)' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.bit = 128 &gt;&gt; (.x % 8)' />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Decision' exp='.Set' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.v = .v | .bit' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='bit = ~bit' >
											<exp exp='.bit = ~ .bit' />
											<exp exp='.v = .v &amp; .bit' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='display[.addr] = .v' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='WriteData' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='device' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='addr' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='data' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='display[.device * 8 + .addr] = .data' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Plot' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='x' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='y' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='Set' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='bit' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='row' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='dev' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='v' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='(.x &lt; (NumDevices * 8)) AND (.y &lt; 8)' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.dev = .x / 8' />
									<exp exp='.addr = .dev * 8 + .y' />
									<exp exp='.v = display[.addr]' />
								</command>
								<command class_type='decision' title='Decision' exp='Direction' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.bit = 1 &lt;&lt; (.x % 8)' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.bit = 128 &gt;&gt; (.x % 8)' />
										</command>
									</flowline>
								</command>
								<command class_type='decision' title='Decision' exp='.Set' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.v = .v | .bit' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='bit = ~bit' >
											<exp exp='.bit = ~ .bit' />
											<exp exp='.v = .v &amp; .bit' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='display[.addr] = .v' />
								</command>
								<command class_type='call' title='Call Macro' macro='spiLine' >
									<argument exp='.y' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Demo' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='number' type='u8' description='Number of demo to run' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='c' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='dev' 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='' />
						<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.number' >
							<case >
								<flowline >
									<command class_type='call' title='Call Macro' macro='ClearDisplays' />
									<command class_type='call' title='Call Macro' macro='Invert' >
										<argument exp='1' />
										<argument exp='0' />
									</command>
									<command class_type='call' title='Call Macro' macro='FadeIn' >
										<argument exp='&quot;ABCD&quot;' />
										<argument exp='7' />
										<argument exp='50' />
									</command>
								</flowline>
							</case>
							<case exp='1' >
								<flowline >
									<command class_type='call' title='Title' macro='DisplayStr' >
										<argument exp='0' />
										<argument exp='&quot;Scroll 1&quot;' />
										<argument exp='true' />
									</command>
									<command class_type='delay' title='Delay' exp='1' type='2' />
									<command class_type='loop' title='Loop' type='2' forvar='x' exp='NumDevices * 4' for1='' for3='' >
										<flowline >
											<command class_type='call' title='Call Macro' macro='Plot' >
												<argument exp='x * 2' />
												<argument exp='7' />
												<argument exp='true' />
											</command>
										</flowline>
									</command>
									<command class_type='loop' title='Loop' textarea='60,-3,60,-3' type='2' exp='8' for1='' for3='' >
										<flowline >
											<command class_type='call' title='Call Macro' macro='Scroll' >
												<argument exp='1' />
											</command>
											<command class_type='delay' title='Delay' textarea='63,22,63,22' exp='20' type='1' />
										</flowline>
									</command>
								</flowline>
							</case>
							<case exp='2' >
								<flowline >
									<command class_type='call' title='Title' macro='DisplayStr' >
										<argument exp='0' />
										<argument exp='&quot;Scroll 3&quot;' />
										<argument exp='true' />
									</command>
									<command class_type='delay' title='Delay' exp='1' type='2' />
									<command class_type='loop' title='Loop' type='2' forvar='x' exp='NumDevices * 4' for1='' for3='' >
										<flowline >
											<command class_type='call' title='Call Macro' macro='Plot' >
												<argument exp='x * 2' />
												<argument exp='0' />
												<argument exp='true' />
											</command>
										</flowline>
									</command>
									<command class_type='loop' title='Loop' textarea='60,-3,60,-3' type='2' exp='8' for1='' for3='' >
										<flowline >
											<command class_type='call' title='Call Macro' macro='Scroll' >
												<argument exp='3' />
											</command>
											<command class_type='delay' title='Delay' textarea='63,22,63,22' exp='20' type='1' />
										</flowline>
									</command>
								</flowline>
							</case>
							<case exp='3' >
								<flowline folded='1' >
									<command class_type='call' title='Title' hiddenFromFold='1' macro='DisplayStr' >
										<argument exp='0' />
										<argument exp='&quot;Scroll 0&quot;' />
										<argument exp='true' />
									</command>
									<command class_type='delay' title='Delay' hiddenFromFold='1' exp='1' type='2' />
									<command class_type='loop' title='Loop' hiddenFromFold='1' type='2' forvar='y' exp='8' for1='' for3='' >
										<flowline >
											<command class_type='call' title='Call Macro' hiddenFromFold='1' macro='Plot' >
												<argument exp='0' />
												<argument exp='y' />
												<argument exp='true' />
											</command>
										</flowline>
									</command>
									<command class_type='loop' title='Loop' hiddenFromFold='1' type='2' forvar='x' exp='NumDevices * 8 - 1' for1='' for3='' >
										<flowline >
											<command class_type='call' title='Call Macro' hiddenFromFold='1' macro='Scroll' >
												<argument exp='0' />
											</command>
											<command class_type='delay' title='Delay' hiddenFromFold='1' exp='20' type='1' />
										</flowline>
									</command>
									<command class_type='loop' title='Loop' hiddenFromFold='1' type='2' forvar='x' exp='NumDevices * 8 - 1' for1='' for3='' >
										<flowline >
											<command class_type='call' title='Call Macro' hiddenFromFold='1' macro='Scroll' >
												<argument exp='2' />
											</command>
											<command class_type='delay' title='Delay' hiddenFromFold='1' exp='20' type='1' />
										</flowline>
									</command>
								</flowline>
							</case>
							<case exp='4' >
								<flowline folded='1' >
									<command class_type='call' title='Title' hiddenFromFold='1' macro='DisplayStr' >
										<argument exp='0' />
										<argument exp='&quot;Pixels&quot;' />
										<argument exp='true' />
									</command>
									<command class_type='delay' title='Delay' hiddenFromFold='1' exp='1' type='2' />
									<command class_type='loop' title='Loop' hiddenFromFold='1' type='2' forvar='x' exp='NumDevices * 8' for1='' for3='' >
										<flowline >
											<command class_type='loop' title='Loop' hiddenFromFold='1' type='2' forvar='y' exp='8' for1='' for3='' >
												<flowline >
													<command class_type='call' title='Call Macro' hiddenFromFold='1' macro='Plot' >
														<argument exp='x' />
														<argument exp='y' />
														<argument exp='true' />
													</command>
													<command class_type='delay' title='Delay' hiddenFromFold='1' exp='10' type='1' />
												</flowline>
											</command>
										</flowline>
									</command>
									<command class_type='loop' title='Loop' hiddenFromFold='1' type='2' forvar='y' exp='8' for1='' for3='' >
										<flowline >
											<command class_type='loop' title='Loop' textarea='65,-1,65,-1' hiddenFromFold='1' type='2' forvar='x' exp='NumDevices * 8' start='0' for1='' for3='' >
												<flowline >
													<command class_type='call' title='Call Macro' hiddenFromFold='1' macro='Plot' >
														<argument exp='x' />
														<argument exp='y' />
														<argument exp='false' />
													</command>
													<command class_type='delay' title='Delay' hiddenFromFold='1' exp='10' type='1' />
												</flowline>
											</command>
										</flowline>
									</command>
								</flowline>
							</case>
							<case exp='5' >
								<flowline folded='1' >
									<command class_type='call' title='Title' hiddenFromFold='1' macro='DisplayStr' >
										<argument exp='0' />
										<argument exp='&quot;CharSet&quot;' />
										<argument exp='true' />
									</command>
									<command class_type='delay' title='Delay' hiddenFromFold='1' exp='1' type='2' />
									<command class_type='calculation' title='Calculation' hiddenFromFold='1' >
										<exp exp='.c = &apos;z&apos;' />
									</command>
									<command class_type='loop' title='Loop' hiddenFromFold='1' type='1' exp='.c == 31' start='0' for1='' for3='' >
										<flowline >
											<command class_type='loop' title='Loop' hiddenFromFold='1' type='2' forvar='.dev' exp='NumDevices' for1='' for3='' >
												<flowline >
													<command class_type='call' title='Call Macro' hiddenFromFold='1' macro='Pen' >
														<argument exp='.dev' />
														<argument exp='.c' />
													</command>
												</flowline>
											</command>
											<command class_type='calculation' title='Calculation' hiddenFromFold='1' >
												<exp exp='.c = .c - 1' />
											</command>
											<command class_type='delay' title='Delay' disable='1' hiddenFromFold='1' exp='20' type='1' />
										</flowline>
									</command>
								</flowline>
							</case>
							<case exp='6' >
								<flowline >
									<command class_type='call' title='Title' macro='DisplayStr' >
										<argument exp='0' />
										<argument exp='&quot;ScrollStr&quot;' />
										<argument exp='true' />
									</command>
									<command class_type='delay' title='Delay' exp='1' type='2' />
									<command class_type='call' title='Call Macro' macro='ScrollStr' >
										<argument exp='&quot;Hello World!!&quot;' />
										<argument exp='1' />
										<argument exp='20' />
									</command>
									<command class_type='delay' title='Delay' exp='1' type='2' />
								</flowline>
							</case>
							<case exp='7' >
								<flowline >
									<command class_type='call' title='Title' macro='DisplayStr' >
										<argument exp='0' />
										<argument exp='&quot;Flash 20x&quot;' />
										<argument exp='true' />
									</command>
									<command class_type='delay' title='Delay' exp='1' type='2' />
									<command class_type='call' title='Call Macro' macro='Invert' >
										<argument exp='20' />
										<argument exp='200' />
									</command>
								</flowline>
							</case>
							<case exp='8' >
								<flowline >
									<command class_type='call' title='Title' macro='DisplayStr' >
										<argument exp='0' />
										<argument exp='&quot;ScrollStr&quot;' />
										<argument exp='true' />
									</command>
									<command class_type='delay' title='Delay' exp='1' type='2' />
									<command class_type='call' title='Call Macro' macro='ScrollStr' >
										<argument exp='&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&quot;' />
										<argument exp='1' />
										<argument exp='0' />
									</command>
									<command class_type='call' title='Call Macro' macro='ScrollStr' >
										<argument exp='&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&quot;' />
										<argument exp='1' />
										<argument exp='10' />
									</command>
									<command class_type='call' title='Call Macro' macro='ScrollStr' >
										<argument exp='&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&quot;' />
										<argument exp='1' />
										<argument exp='20' />
									</command>
								</flowline>
							</case>
							<case exp='9' >
								<flowline >
									<command class_type='calculation' title='Calculation' >
										<exp exp='.c = &apos;z&apos;' />
									</command>
									<command class_type='loop' title='Loop' type='1' exp='.c == &apos;a&apos;' start='0' for1='' for3='' >
										<flowline >
											<command class_type='loop' title='Loop' type='2' forvar='.dev' exp='NumDevices' for1='' for3='' >
												<flowline >
													<command class_type='call' title='Call Macro' macro='PenRot' >
														<argument exp='.dev' />
														<argument exp='.c' />
														<argument exp='.dev' />
													</command>
												</flowline>
											</command>
											<command class_type='calculation' title='Calculation' >
												<exp exp='.c = .c - 1' />
											</command>
											<command class_type='delay' title='Delay' exp='20' type='1' />
										</flowline>
									</command>
								</flowline>
							</case>
							<case exp='10' >
								<flowline >
									<command class_type='call' title='Call Macro' macro='Slew' >
										<argument exp='&quot;ABCD&quot;' />
										<argument exp='8' />
										<argument exp='2' />
										<argument exp='true' />
									</command>
									<command class_type='delay' title='Delay' exp='1' type='2' />
									<command class_type='call' title='Call Macro' macro='Invert' >
										<argument exp='2' />
										<argument exp='100' />
									</command>
								</flowline>
							</case>
						</command>
						<command class_type='delay' title='Delay' exp='1' type='2' />
					</flowline>
				</macro>
				<macro >
					<flowline name='spiTransfer' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='device' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='opCode' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='data' 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='offset' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='maxbytes' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='n' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.maxbytes = NumDevices * 2' />
							<exp exp='.offset = .device * 2' />
							<exp exp='.n = .maxbytes' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.i' exp='.maxbytes' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='buffer[.i] = 0' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='buffer[.offset] = .opCode' />
							<exp exp='buffer[.offset + 1] = .data' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='CS = 0' />
						</command>
						<command class_type='call' title='Component Macro' component='cal_spi1' macro='Master_Transaction' >
							<argument exp='buffer' />
							<argument exp='.n - 1' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='CS = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='spiLine' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='y' 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='n' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='line' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.n = NumDevices * 2' />
							<exp exp='.line = .y' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.i' exp='NumDevices' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='buffer[.i * 2] = .line + 1' />
									<exp exp='buffer[.i * 2 + 1] = display[(NumDevices - 1 - .i) * 8 + .line]' />
									<exp exp='' />
								</command>
							</flowline>
						</command>
						<command class_type='loop' title='Loop' disable='1' type='1' exp='.n == 0' start='0' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' disable='1' >
									<exp exp='.n = .n - 1' />
								</command>
								<command class_type='call' title='Call Component Macro' disable='1' component='cal_spi1' macro='Master_Byte' >
									<argument exp='buffer[.n]' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='CS = 0' />
						</command>
						<command class_type='call' title='Component Macro' component='cal_spi1' macro='Master_Transaction' >
							<argument exp='buffer' />
							<argument exp='.n' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='CS = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='InitialiseLED' description='Initialise an max72xx based LED display (or displays)' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='CS = 1' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi1' macro='Master_Init' />
						<command class_type='call' title='Call Macro' macro='spiAll' >
							<argument exp='OP_DISPLAYTEST' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='Call Macro' textarea='42,2,42,2' macro='spiAll' >
							<argument exp='OP_SCANLIMIT' />
							<argument exp='7' />
						</command>
						<command class_type='call' title='Call Macro' macro='spiAll' >
							<argument exp='OP_DECODEMODE' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='Call Macro' macro='Shutdown' >
							<argument exp='1' />
						</command>
						<command class_type='call' title='Call Macro' macro='ClearDisplays' />
					</flowline>
				</macro>
				<macro >
					<flowline name='PlotRotate' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='x' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='y' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='r' type='u8' description='Rotation factor (0..3) -&gt;  (0..270)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='set' type='b1' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='dev' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='v' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='bit' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Check on display' exp='(.x &lt; NumDevices * 8) AND (.y &lt; 8)' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.dev = (.x / 8) * 8' />
									<exp exp='.v = .x % 8' />
								</command>
								<command class_type='switch' title='Switch' textarea='36,25,36,25' exp='.r' >
									<case >
										<flowline />
									</case>
									<case exp='0' >
										<flowline >
											<command class_type='call' title='Call Macro' macro='Plot' >
												<argument exp='.v +.dev' />
												<argument exp='.y' />
												<argument exp='.set' />
											</command>
										</flowline>
									</case>
									<case exp='1' >
										<flowline >
											<command class_type='call' title='Call Macro' macro='Plot' >
												<argument exp='7-.y + .dev' />
												<argument exp='.v' />
												<argument exp='.set' />
											</command>
										</flowline>
									</case>
									<case exp='2' >
										<flowline >
											<command class_type='call' title='Call Macro' macro='Plot' >
												<argument exp='.v + .dev' />
												<argument exp='7-.y' />
												<argument exp='.set' />
											</command>
										</flowline>
									</case>
									<case exp='3' >
										<flowline >
											<command class_type='call' title='Call Macro' macro='Plot' >
												<argument exp='.y + .dev' />
												<argument exp='7 -.v' />
												<argument exp='.set' />
											</command>
										</flowline>
									</case>
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='DispTextLine' description='Draw a pixel row of a text string to a pixel address to allow text to glide in or out,,,,' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='s' type='T8*' description='The string to display' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='x' type='u8' description='x address to display at' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='y' type='u8' description='y address to display at' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='r' type='u8' description='row of the text to display' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='i' type='u8' description='Loop counters' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='j' type='u8' description='Loop counters' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='mask' type='u8' description='Mask and pattern to write to buffer' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='c' type='u16' description='Current character' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='dev' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='caddr' type='s16' description='Address of current character data' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='d' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='t' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='SwapY' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.r = 7 - .r' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='loop' title='For each character in string' type='2' forvar='.i' exp='Length$ (.s)' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.c = .s[.i]' />
									<exp exp='.caddr = (.c - 32) * 8' />
									<exp exp='.d = char_set::GetInt(.caddr + .r)' />
									<exp exp='.mask = 0x80' />
								</command>
								<command class_type='decision' title='Decision' exp='Direction' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.d = ((.d &amp; 0x1) &lt;&lt; 7) | ((.d &amp; 0x2) &lt;&lt; 5) | ((.d &amp; 0x4) &lt;&lt; 3) | ((.d &amp; 0x8) &lt;&lt; 1) | ((.d &amp; 0x10) &gt;&gt; 1) | ((.d &amp; 0x20) &gt;&gt; 3) | ((.d &amp; 0x40) &gt;&gt; 5) | ((.d &amp; 0x80) &gt;&gt; 7)' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='loop' title='Loop' type='2' forvar='.j' exp='8' for1='' for3='' >
									<flowline >
										<command class_type='call' title='Call Macro' macro='QPlotR' >
											<argument exp='.x + .j' />
											<argument exp='.y' />
											<argument exp='.d &amp; .mask' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.mask = .mask &gt;&gt; 1' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.x = .x + 8' />
								</command>
							</flowline>
						</command>
						<command class_type='decision' title='Refresh a line or whole display?' exp='Rotated' swap='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='Refresh' />
							</flowline>
							<flowline >
								<command class_type='call' title='Call Macro' macro='spiLine' >
									<argument exp='.y' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='ScrollStr' description='Scroll a string across display. Returns hen last char is fully displayed' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='str' type='T8*' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='direction' type='u8' description='0 = left, 1 = right' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='delay' type='u8' description='delay between steps in ms' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='pos' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='char' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='draw' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='dir' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='b' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='row' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='len' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.dir = .direction * 2' />
							<exp exp='.draw = (NumDevices * 8 - 1) * .direction' />
							<exp exp='.char = 0' />
							<exp exp='.len = Length$(.str)' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.char' exp='.len' for1='' for3='' >
							<flowline >
								<command class_type='decision' title='Decision' exp='.dir == 0' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.addr = (.str[.len - .char - 1] - 32) * 8' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.addr = (.str[.char] - 32) * 8' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.pos = 0' />
								</command>
								<command class_type='loop' title='Loop' type='2' forvar='.pos' exp='8' for1='' for3='' >
									<flowline >
										<command class_type='call' title='Call Macro' macro='Scroll' >
											<argument exp='.dir' />
										</command>
										<command class_type='loop' title='Loop' type='2' forvar='.row' exp='8' for1='' for3='' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.b = char_set::GetInt(.addr + .row)' />
												</command>
												<command class_type='decision' title='Decision' exp='SwapY' swap='0' >
													<flowline >
														<command class_type='decision' title='Decision' exp='.dir == 0' swap='0' >
															<flowline >
																<command class_type='call' title='Call Macro' macro='Plot' >
																	<argument exp='.draw' />
																	<argument exp='7-.row' />
																	<argument exp='.b &amp; (0x80 &gt;&gt; .pos)' />
																</command>
															</flowline>
															<flowline >
																<command class_type='call' title='Call Macro' macro='Plot' >
																	<argument exp='.draw' />
																	<argument exp='7-.row' />
																	<argument exp='.b &amp; (1&lt;&lt;.pos)' />
																</command>
															</flowline>
														</command>
													</flowline>
													<flowline >
														<command class_type='call' title='Call Macro' macro='Plot' >
															<argument exp='.draw' />
															<argument exp='.row' />
															<argument exp='.b &amp; (1&lt;&lt;.pos)' />
														</command>
													</flowline>
												</command>
											</flowline>
										</command>
										<command class_type='delay' title='Delay' exp='.delay' type='1' />
									</flowline>
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Invert' description='Invert the display' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='flashes' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='delay' 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='b' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='loop' title='Loop' type='2' exp='.flashes' for1='' for3='' >
							<flowline >
								<command class_type='loop' title='Loop' type='2' forvar='.i' exp='NumDevices * 8' for1='' for3='' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='display[.i] = ~display[.i]' />
										</command>
									</flowline>
								</command>
								<command class_type='call' title='Call Macro' macro='Refresh' />
								<command class_type='delay' title='Delay' exp='.delay' type='1' />
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='spiAll' description='Transfer the same instruction to all LED matrix' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='opCode' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='data' 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='offset' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='maxbytes' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='n' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.maxbytes = NumDevices * 2' />
							<exp exp='.n = 0' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.i' exp='NumDevices' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='buffer[.i * 2] = .opCode' />
									<exp exp='buffer[.i * 2 + 1] = .data' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='CS = 0' />
						</command>
						<command class_type='call' title='Component Macro' component='cal_spi1' macro='Master_Transaction' >
							<argument exp='buffer' />
							<argument exp='.maxbytes' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='CS = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='PenRot' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='dev' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='c' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='r' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='ca' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='x' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='y' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='mask' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='d' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' break='1' >
							<exp exp='.addr = .dev * 8' />
							<exp exp='.ca = .c - 32' />
							<exp exp='.ca = .ca * 8' />
							<exp exp='' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.y' exp='8' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.d = char_set::GetInt(.ca)' />
									<exp exp='' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.mask = 0x80' />
								</command>
								<command class_type='loop' title='Loop' type='2' forvar='.x' exp='8' for1='' for3='' >
									<flowline >
										<command class_type='call' title='Call Macro' macro='PlotRotate' >
											<argument exp='.addr + .x' />
											<argument exp='.y' />
											<argument exp='.r' />
											<argument exp='.mask &amp; .d' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.mask = .mask &gt;&gt; 1' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.ca = .ca + 1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Refresh' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='y' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='loop' title='Loop' type='2' forvar='.y' exp='8' for1='' for3='' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='spiLine' >
									<argument exp='.y' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='ClearDisplays' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<local name='i' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='loop' title='Loop' type='2' forvar='.i' exp='NumDevices * 8' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='display[.i] = 0' />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='Call Macro' macro='Refresh' />
					</flowline>
				</macro>
				<macro >
					<flowline name='SetIntensity' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='intensity' type='u8' description='LED segment intensity 0-15' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='.intensity &lt; 16' swap='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='spiAll' >
									<argument exp='OP_INTENSITY' />
									<argument exp='.intensity' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='ScrollJGU' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='fillByte' type='u8' description='Byte to scroll into display (0 for blank)' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='i' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='delay' title='Delay' exp='1' type='1' />
						<command class_type='loop' title='Loop' type='2' forvar='.i' exp='NumDevices * 8 - 1' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='display[.i] = display[.i + 1]' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='display[NumDevices * 8 - 1] = .fillByte' />
						</command>
						<command class_type='call' title='Call Macro' macro='Refresh' />
					</flowline>
				</macro>
				<macro >
					<flowline name='ScrollStr3' description='Scroll a string across display. Returns when last char is fully displayed
Used with displays where the individual digits are rotated 90deg' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='str' type='T8*' description='String to be displayed' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='delay' type='u8' description='delay between steps in ms' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='pos' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='char' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='draw' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='dir' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='addr' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='b' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='row' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='mask' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='fill' type='u8' description='mask for character to add to buffer after scroll' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.char = 0' />
							<exp exp='.draw = NumDevices * 8 - 1' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.char' exp='Length$ (.str)' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.addr = (.str[.char] - 32) * 8' />
									<exp exp='.pos = 0' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.mask = 0x01' />
								</command>
								<command class_type='loop' title='Loop' type='2' forvar='.pos' exp='8' for1='' for3='' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.fill = 0' />
										</command>
										<command class_type='loop' title='Loop' type='2' forvar='.row' exp='8' for1='' for3='' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.b = char_set::GetInt(.addr + .row)' />
												</command>
												<command class_type='decision' title='Decision' exp='.b &amp; .mask' swap='0' >
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.fill = .fill | (1 &lt;&lt; .row)' />
														</command>
													</flowline>
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.fill = .fill &amp; (~ (1 &lt;&lt; .row))' />
														</command>
													</flowline>
												</command>
											</flowline>
										</command>
										<command class_type='call' title='Call Macro' macro='ScrollJGU' >
											<argument exp='.fill' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.mask = .mask &lt;&lt; 1' />
										</command>
										<command class_type='delay' title='Delay' exp='.delay' type='1' />
									</flowline>
								</command>
							</flowline>
						</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='I' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='InitialiseLED' />
						<command class_type='call' title='Call Macro' macro='SetIntensity' >
							<argument exp='1' />
						</command>
						<command class_type='call' title='Call Macro' macro='Shutdown' >
							<argument exp='false' />
						</command>
						<command class_type='call' title='User Macro' macro='ScrollStr' >
							<argument exp='&quot;Hello World&quot;' />
							<argument exp='0' />
							<argument exp='100' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='i' exp='11' for1='' for3='' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='Demo' >
									<argument exp='i' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='FadeIn' description='' statediag='0' >
						<return name='Return' type='v0' description='' isconst='0' isHidden='0' isinit='0' usrinit='' setinit='' />
						<param name='s' type='T8*' description='' isconst='0' isHidden='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='step' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<param name='delay' type='u16' 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='j' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='x' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='y' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='b' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='d' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='caddr' type='u16' 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='' />
						<local name='mask' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='count' type='u16' description='Number of pixels in display' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='len' type='u8' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='pos' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='spos' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<local name='cur' type='u16' description='' isconst='0' isHidden='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.count = NumDevices * 64' />
							<exp exp='.len = Length$ (.s)' />
							<exp exp='.spos = 0' />
							<exp exp='.pos = 0' />
							<exp exp='.cur = 0' />
						</command>
						<command class_type='loop' title='Loop' type='2' forvar='.i' exp='.step' for1='' for3='' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.pos = .spos' />
									<exp exp='.spos = .spos + 1' />
								</command>
								<command class_type='loop' title='Loop' type='1' exp='.pos &gt; .count' start='0' for1='' for3='' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.x = .pos % (NumDevices * 8)' />
											<exp exp='.y = .pos / (NumDevices * 8)' />
											<exp exp='.cur = .x / 8' />
											<exp exp='.mask = 0x80 &gt;&gt; (.x % 8)' />
										</command>
										<command class_type='decision' title='Position within string' exp='.cur &lt; .len' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.c = .s[.cur] - 32' />
													<exp exp='.caddr = .c * 8' />
													<exp exp='.d = char_set::GetInt(.caddr + .y)' />
												</command>
												<command class_type='decision' title='Decision' exp='Direction' swap='0' >
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.d = ((.d &amp; 0x1) &lt;&lt; 7) | ((.d &amp; 0x2) &lt;&lt; 5) | ((.d &amp; 0x4) &lt;&lt; 3) | ((.d &amp; 0x8) &lt;&lt; 1) | ((.d &amp; 0x10) &gt;&gt; 1) | ((.d &amp; 0x20) &gt;&gt; 3) | ((.d &amp; 0x40) &gt;&gt; 5) | ((.d &amp; 0x80) &gt;&gt; 7)' />
														</command>
													</flowline>
													<flowline />
												</command>
												<command class_type='decision' title='Decision' exp='SwapY' swap='0' >
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.y = 7 - .y' />
														</command>
													</flowline>
													<flowline />
												</command>
											</flowline>
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.d = 0' />
												</command>
											</flowline>
										</command>
										<command class_type='call' title='Call Macro' macro='QPlotR' >
											<argument exp='.x' />
											<argument exp='.y' />
											<argument exp='.d &amp; .mask' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.pos = .pos + .step' />
										</command>
									</flowline>
								</command>
								<command class_type='delay' title='Delay' exp='.delay' type='1' />
								<command class_type='call' title='Call Macro' macro='Refresh' />
							</flowline>
						</command>
					</flowline>
				</macro>
			</macros>
			<component class_type='ref' guid='c67171df-0ad6-4b11-8361-cfe14b072847' vmin='21' vmaj='21' codename='cal_spi1' panelId='-1' x='0' y='90' 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='0' ancTop='0' ancBottom='0' ancLeft='0' ancRight='0' ancMinX='0' ancMinY='0' comp2dType='0' >
				<resources />
				<properties />
				<values >
					<value target='ENABLED' data='1' />
					<value target='REF' data='1' />
					<value target='CHANNEL' data='001' />
					<value target='MOSI' data='$PORTB.3' />
					<value target='MOSIPins' data='008' />
					<value target='MISO' data='$PORTB.4' />
					<value target='MISOPins' data='013' />
					<value target='CLK' data='$PORTB.5' />
					<value target='CLKPins' data='004' />
					<value target='UseAutoCS' data='0' />
					<value target='UseCS' data='0' />
					<value target='SS' data='$PORTB.2' />
					<value target='CSPolarity' data='000' />
					<value target='SSPins' data='000' />
					<value target='AltSSPin' data='0' />
					<value target='Mode' data='000' />
					<value target='PR_SCALE' data='016' />
					<value target='CKE' data='001' />
					<value target='CKP' data='000' />
					<value target='SMP' data='001' />
					<value target='ScopeTraces' data='0' />
					<value target='ConsoleData' data='0' />
					<value target='Injector' data='000' />
					<value target='InjectorCS' data='0' />
					<value target='InjectorHandle' data='0' />
					<value target='InjectorChannel' data='0' />
					<value target='Loading' data='1' />
					<value target='BMODE' data='6' />
					<value target='MOSI_PORT' data='$PORTB.3' />
					<value target='MOSI_TRIS' data='$PORTB.3' />
					<value target='MOSI_PIN' data='3' />
					<value target='MISO_PORT' data='$PORTB.4' />
					<value target='MISO_TRIS' data='$PORTB.4' />
					<value target='MISO_PIN' data='4' />
					<value target='SCK_PORT' data='$PORTB.5' />
					<value target='SCK_TRIS' data='$PORTB.5' />
					<value target='SCK_PIN' data='5' />
					<value target='SS_PORT' data='$PORTB.2' />
					<value target='SS_TRIS' data='$PORTB.2' />
					<value target='SS_PIN' data='2' />
					<value target='Remappable' data='' />
					<value target='MOSIReg' data='008' />
					<value target='CLKREG' data='004' />
					<value target='MOSIRPNUM' data='1' />
					<value target='MOSIBank' data='' />
					<value target='MOSIBank2' data='' />
					<value target='CLKRPNUM' data='1' />
					<value target='CLKBank' data='' />
					<value target='MISORPREG' data='SPI1PPS' />
					<value target='MISOBank' data='' />
					<value target='SPIName' data='' />
					<value target='MISOReg' data='000' />
					<value target='SPIClock' data='' />
					<value target='MISOBank2' data='' />
					<value target='CLKBank2' data='' />
					<value target='ParentName' data='' />
					<value target='BitDelay' data='1' />
					<value target='ClockSpeed' data='16000000' />
					<value target='MasterDivider' data='1' />
					<value target='Sim' data='1' />
					<value target='CLKRPREG' data='' />
					<value target='SSRPREG' data='' />
					<value target='SSBank' data='' />
					<value target='SSBank2' data='' />
					<value target='AltSSReg' data='' />
					<value target='AltSSMask' data='0' />
					<value target='Sorted' data='0' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='dfb4d07a-3d70-45d5-83ef-07e3c95d86ab' vmin='8' vmaj='1' codename='char_set' panelId='-1' x='0' y='0' 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='Enabled' data='1' />
					<value target='StorageType' data='000' />
					<value target='Sign' data='000' />
					<value target='intfixed' data='0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x18,0x3C,0x3C,0x18,0x18,0x00,0x18,0x00
0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00
0x36,0x36,0x7F,0x36,0x7F,0x36,0x36,0x00
0x0C,0x3E,0x03,0x1E,0x30,0x1F,0x0C,0x00
0x00,0x63,0x33,0x18,0x0C,0x66,0x63,0x00
0x1C,0x36,0x1C,0x6E,0x3B,0x33,0x6E,0x00
0x06,0x06,0x03,0x00,0x00,0x00,0x00,0x00
0x18,0x0C,0x06,0x06,0x06,0x0C,0x18,0x00
0x06,0x0C,0x18,0x18,0x18,0x0C,0x06,0x00
0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00
0x00,0x0C,0x0C,0x3F,0x0C,0x0C,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x06
0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00
0x60,0x30,0x18,0x0C,0x06,0x03,0x01,0x00
0x3E,0x63,0x73,0x7B,0x6F,0x67,0x3E,0x00
0x0C,0x0E,0x0C,0x0C,0x0C,0x0C,0x3F,0x00
0x1E,0x33,0x30,0x1C,0x06,0x33,0x3F,0x00
0x1E,0x33,0x30,0x1C,0x30,0x33,0x1E,0x00
0x38,0x3C,0x36,0x33,0x7F,0x30,0x78,0x00
0x3F,0x03,0x1F,0x30,0x30,0x33,0x1E,0x00
0x1C,0x06,0x03,0x1F,0x33,0x33,0x1E,0x00
0x3F,0x33,0x30,0x18,0x0C,0x0C,0x0C,0x00
0x1E,0x33,0x33,0x1E,0x33,0x33,0x1E,0x00
0x1E,0x33,0x33,0x3E,0x30,0x18,0x0E,0x00
0x00,0x0C,0x0C,0x00,0x00,0x0C,0x0C,0x00
0x00,0x0C,0x0C,0x00,0x00,0x0C,0x0C,0x06
0x18,0x0C,0x06,0x03,0x06,0x0C,0x18,0x00
0x00,0x00,0x3F,0x00,0x00,0x3F,0x00,0x00
0x06,0x0C,0x18,0x30,0x18,0x0C,0x06,0x00
0x1E,0x33,0x30,0x18,0x0C,0x00,0x0C,0x00
0x3E,0x63,0x7B,0x7B,0x7B,0x03,0x1E,0x00
0x0C,0x1E,0x33,0x33,0x3F,0x33,0x33,0x00
0x3F,0x66,0x66,0x3E,0x66,0x66,0x3F,0x00
0x3C,0x66,0x03,0x03,0x03,0x66,0x3C,0x00
0x1F,0x36,0x66,0x66,0x66,0x36,0x1F,0x00
0x7F,0x46,0x16,0x1E,0x16,0x46,0x7F,0x00
0x7F,0x46,0x16,0x1E,0x16,0x06,0x0F,0x00
0x3C,0x66,0x03,0x03,0x73,0x66,0x7C,0x00
0x33,0x33,0x33,0x3F,0x33,0x33,0x33,0x00
0x1E,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00
0x78,0x30,0x30,0x30,0x33,0x33,0x1E,0x00
0x67,0x66,0x36,0x1E,0x36,0x66,0x67,0x00
0x0F,0x06,0x06,0x06,0x46,0x66,0x7F,0x00
0x63,0x77,0x7F,0x7F,0x6B,0x63,0x63,0x00
0x63,0x67,0x6F,0x7B,0x73,0x63,0x63,0x00
0x1C,0x36,0x63,0x63,0x63,0x36,0x1C,0x00
0x3F,0x66,0x66,0x3E,0x06,0x06,0x0F,0x00
0x1E,0x33,0x33,0x33,0x3B,0x1E,0x38,0x00
0x3F,0x66,0x66,0x3E,0x36,0x66,0x67,0x00
0x1E,0x33,0x07,0x0E,0x38,0x33,0x1E,0x00
0x3F,0x2D,0x0C,0x0C,0x0C,0x0C,0x1E,0x00
0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x00
0x33,0x33,0x33,0x33,0x33,0x1E,0x0C,0x00
0x63,0x63,0x63,0x6B,0x7F,0x77,0x63,0x00
0x63,0x63,0x36,0x1C,0x1C,0x36,0x63,0x00
0x33,0x33,0x33,0x1E,0x0C,0x0C,0x1E,0x00
0x7F,0x63,0x31,0x18,0x4C,0x66,0x7F,0x00
0x1E,0x06,0x06,0x06,0x06,0x06,0x1E,0x00
0x03,0x06,0x0C,0x18,0x30,0x60,0x40,0x00
0x1E,0x18,0x18,0x18,0x18,0x18,0x1E,0x00
0x08,0x1C,0x36,0x63,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF
0x0C,0x0C,0x18,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x1E,0x30,0x3E,0x33,0x6E,0x00
0x07,0x06,0x06,0x3E,0x66,0x66,0x3B,0x00
0x00,0x00,0x1E,0x33,0x03,0x33,0x1E,0x00
0x38,0x30,0x30,0x3e,0x33,0x33,0x6E,0x00
0x00,0x00,0x1E,0x33,0x3f,0x03,0x1E,0x00
0x1C,0x36,0x06,0x0f,0x06,0x06,0x0F,0x00
0x00,0x00,0x6E,0x33,0x33,0x3E,0x30,0x1F
0x07,0x06,0x36,0x6E,0x66,0x66,0x67,0x00
0x0C,0x00,0x0E,0x0C,0x0C,0x0C,0x1E,0x00
0x30,0x00,0x30,0x30,0x30,0x33,0x33,0x1E
0x07,0x06,0x66,0x36,0x1E,0x36,0x67,0x00
0x0E,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00
0x00,0x00,0x33,0x7F,0x7F,0x6B,0x63,0x00
0x00,0x00,0x1F,0x33,0x33,0x33,0x33,0x00
0x00,0x00,0x1E,0x33,0x33,0x33,0x1E,0x00
0x00,0x00,0x3B,0x66,0x66,0x3E,0x06,0x0F
0x00,0x00,0x6E,0x33,0x33,0x3E,0x30,0x78
0x00,0x00,0x3B,0x6E,0x66,0x06,0x0F,0x00
0x00,0x00,0x3E,0x03,0x1E,0x30,0x1F,0x00
0x08,0x0C,0x3E,0x0C,0x0C,0x2C,0x18,0x00
0x00,0x00,0x33,0x33,0x33,0x33,0x6E,0x00
0x00,0x00,0x33,0x33,0x33,0x1E,0x0C,0x00
0x00,0x00,0x63,0x6B,0x7F,0x7F,0x36,0x00
0x00,0x00,0x63,0x36,0x1C,0x36,0x63,0x00
0x00,0x00,0x33,0x33,0x33,0x3E,0x30,0x1F
0x00,0x00,0x3F,0x19,0x0C,0x26,0x3F,0x00
0x38,0x0C,0x0C,0x07,0x0C,0x0C,0x38,0x00
0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x00
0x07,0x0C,0x0C,0x38,0x0C,0x0C,0x07,0x00
0x6E,0x3B,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00' />
					<value target='floatfixed' data='0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x18,0x3C,0x3C,0x18,0x18,0x00,0x18,0x00
0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00
0x36,0x36,0x7F,0x36,0x7F,0x36,0x36,0x00
0x0C,0x3E,0x03,0x1E,0x30,0x1F,0x0C,0x00
0x00,0x63,0x33,0x18,0x0C,0x66,0x63,0x00
0x1C,0x36,0x1C,0x6E,0x3B,0x33,0x6E,0x00
0x06,0x06,0x03,0x00,0x00,0x00,0x00,0x00
0x18,0x0C,0x06,0x06,0x06,0x0C,0x18,0x00
0x06,0x0C,0x18,0x18,0x18,0x0C,0x06,0x00
0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00
0x00,0x0C,0x0C,0x3F,0x0C,0x0C,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x06
0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00
0x60,0x30,0x18,0x0C,0x06,0x03,0x01,0x00
0x3E,0x63,0x73,0x7B,0x6F,0x67,0x3E,0x00
0x0C,0x0E,0x0C,0x0C,0x0C,0x0C,0x3F,0x00
0x1E,0x33,0x30,0x1C,0x06,0x33,0x3F,0x00
0x1E,0x33,0x30,0x1C,0x30,0x33,0x1E,0x00
0x38,0x3C,0x36,0x33,0x7F,0x30,0x78,0x00
0x3F,0x03,0x1F,0x30,0x30,0x33,0x1E,0x00
0x1C,0x06,0x03,0x1F,0x33,0x33,0x1E,0x00
0x3F,0x33,0x30,0x18,0x0C,0x0C,0x0C,0x00
0x1E,0x33,0x33,0x1E,0x33,0x33,0x1E,0x00
0x1E,0x33,0x33,0x3E,0x30,0x18,0x0E,0x00
0x00,0x0C,0x0C,0x00,0x00,0x0C,0x0C,0x00
0x00,0x0C,0x0C,0x00,0x00,0x0C,0x0C,0x06
0x18,0x0C,0x06,0x03,0x06,0x0C,0x18,0x00
0x00,0x00,0x3F,0x00,0x00,0x3F,0x00,0x00
0x06,0x0C,0x18,0x30,0x18,0x0C,0x06,0x00
0x1E,0x33,0x30,0x18,0x0C,0x00,0x0C,0x00
0x3E,0x63,0x7B,0x7B,0x7B,0x03,0x1E,0x00
0x0C,0x1E,0x33,0x33,0x3F,0x33,0x33,0x00
0x3F,0x66,0x66,0x3E,0x66,0x66,0x3F,0x00
0x3C,0x66,0x03,0x03,0x03,0x66,0x3C,0x00
0x1F,0x36,0x66,0x66,0x66,0x36,0x1F,0x00
0x7F,0x46,0x16,0x1E,0x16,0x46,0x7F,0x00
0x7F,0x46,0x16,0x1E,0x16,0x06,0x0F,0x00
0x3C,0x66,0x03,0x03,0x73,0x66,0x7C,0x00
0x33,0x33,0x33,0x3F,0x33,0x33,0x33,0x00
0x1E,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00
0x78,0x30,0x30,0x30,0x33,0x33,0x1E,0x00
0x67,0x66,0x36,0x1E,0x36,0x66,0x67,0x00
0x0F,0x06,0x06,0x06,0x46,0x66,0x7F,0x00
0x63,0x77,0x7F,0x7F,0x6B,0x63,0x63,0x00
0x63,0x67,0x6F,0x7B,0x73,0x63,0x63,0x00
0x1C,0x36,0x63,0x63,0x63,0x36,0x1C,0x00
0x3F,0x66,0x66,0x3E,0x06,0x06,0x0F,0x00
0x1E,0x33,0x33,0x33,0x3B,0x1E,0x38,0x00
0x3F,0x66,0x66,0x3E,0x36,0x66,0x67,0x00
0x1E,0x33,0x07,0x0E,0x38,0x33,0x1E,0x00
0x3F,0x2D,0x0C,0x0C,0x0C,0x0C,0x1E,0x00
0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x00
0x33,0x33,0x33,0x33,0x33,0x1E,0x0C,0x00
0x63,0x63,0x63,0x6B,0x7F,0x77,0x63,0x00
0x63,0x63,0x36,0x1C,0x1C,0x36,0x63,0x00
0x33,0x33,0x33,0x1E,0x0C,0x0C,0x1E,0x00
0x7F,0x63,0x31,0x18,0x4C,0x66,0x7F,0x00
0x1E,0x06,0x06,0x06,0x06,0x06,0x1E,0x00
0x03,0x06,0x0C,0x18,0x30,0x60,0x40,0x00
0x1E,0x18,0x18,0x18,0x18,0x18,0x1E,0x00
0x08,0x1C,0x36,0x63,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF
0x0C,0x0C,0x18,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x1E,0x30,0x3E,0x33,0x6E,0x00
0x07,0x06,0x06,0x3E,0x66,0x66,0x3B,0x00
0x00,0x00,0x1E,0x33,0x03,0x33,0x1E,0x00
0x38,0x30,0x30,0x3e,0x33,0x33,0x6E,0x00
0x00,0x00,0x1E,0x33,0x3f,0x03,0x1E,0x00
0x1C,0x36,0x06,0x0f,0x06,0x06,0x0F,0x00
0x00,0x00,0x6E,0x33,0x33,0x3E,0x30,0x1F
0x07,0x06,0x36,0x6E,0x66,0x66,0x67,0x00
0x0C,0x00,0x0E,0x0C,0x0C,0x0C,0x1E,0x00
0x30,0x00,0x30,0x30,0x30,0x33,0x33,0x1E
0x07,0x06,0x66,0x36,0x1E,0x36,0x67,0x00
0x0E,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00
0x00,0x00,0x33,0x7F,0x7F,0x6B,0x63,0x00
0x00,0x00,0x1F,0x33,0x33,0x33,0x33,0x00
0x00,0x00,0x1E,0x33,0x33,0x33,0x1E,0x00
0x00,0x00,0x3B,0x66,0x66,0x3E,0x06,0x0F
0x00,0x00,0x6E,0x33,0x33,0x3E,0x30,0x78
0x00,0x00,0x3B,0x6E,0x66,0x06,0x0F,0x00
0x00,0x00,0x3E,0x03,0x1E,0x30,0x1F,0x00
0x08,0x0C,0x3E,0x0C,0x0C,0x2C,0x18,0x00
0x00,0x00,0x33,0x33,0x33,0x33,0x6E,0x00
0x00,0x00,0x33,0x33,0x33,0x1E,0x0C,0x00
0x00,0x00,0x63,0x6B,0x7F,0x7F,0x36,0x00
0x00,0x00,0x63,0x36,0x1C,0x36,0x63,0x00
0x00,0x00,0x33,0x33,0x33,0x3E,0x30,0x1F
0x00,0x00,0x3F,0x19,0x0C,0x26,0x3F,0x00
0x38,0x0C,0x0C,0x07,0x0C,0x0C,0x38,0x00
0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x00
0x07,0x0C,0x0C,0x38,0x0C,0x0C,0x07,0x00
0x6E,0x3B,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00' />
					<value target='NumVals' data='768' />
					<value target='EmbedIntoC' data='1' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
		</component>
	</components>
	<scadaresourcelookup />
	<keymap />
	<panel2d shadows='0' lighting='2' brightness='0' >
		<background rgb='16760992' img='' style='0' />
		<camera xe='58.5526' ye='28.6748' ze='4277.06' xt='58.5526' yt='28.6748' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<viewport dx='331' dy='1536' zoom='9.36414' fix_topleft='0' />
		<page x='1000' y='1000' show='0' rgb='7360576' />
		<winpos ID='7005' RectRecentFloat='584,348,1234,798' RectRecentDocked='3489,328,3840,2018' RecentFrameAlignment='16384' RecentRowIndex='0' IsFloating='0' 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='25' />
		<camera xe='0' ye='0' ze='300' xt='0' yt='0' 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='492,300,1057,935' RectRecentDocked='0,0,210,1690' RecentFrameAlignment='16384' RecentRowIndex='0' IsFloating='0' MRUWidth='32767' PinState='0' IsMaximized='0' IsVisible='0' />
	</panel3d>
	<panels2d count='0' />
	<layout >
		<view type='0' name='Demo' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Main' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='170' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='FadeIn' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='95' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Pen' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='160' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Plot' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='190' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='DispTextLine' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='260' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Slew' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='120' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ScrollStr3' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='170' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='QPlotR' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='170' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='QPlot' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ScrollStr' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='201' scrollx='0' scrolly='162' flags='0' />
		<view type='0' name='WriteData' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='spiLine' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Refresh' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Scroll' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='160' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ClearDisplays' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='InitialiseLED' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='DisplayStr' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ScrollJGU' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='160' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='spiTransfer' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='spiAll' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='100' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='PlotRotate' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='PenRot' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='115' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='DisplayDigit' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Shutdown' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='SetIntensity' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Invert' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='130' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='DispTextCol' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAzAAAALwwAAJUGAAA' zoom='227' scrollx='0' scrolly='0' flags='0' />
	</layout>
</document>
</root>
