<root>
<document schema='101' license='50,Dev User,XDKHX7' title='' description='' target='ARM.AT91SAM7S.EB031' >
	<config data='' clkspd='47923200' simspd='1' usewdt='0' constif='0' />
	<plugins >
		<dll_dbg_icd enabled='0' >
			<data name='debug' value='1' />
			<data name='userpins' value='0' />
			<data name='speed' value='1000' />
			<data name='usev9' value='0' />
			<data name='breaks' value='8' />
			<data name='stacks' value='8' />
			<data name='clkport' value='1' />
			<data name='clkbit' value='6' />
			<data name='dataport' value='1' />
			<data name='databit' value='7' />
			<data name='ghostype' value='0' />
			<data name='monitor' value='1' />
			<data name='ictloop' value='1' />
			<data name='ictrate' value='1000' />
			<data name='ictmask' value='-1' />
			<data name='anlpres' value='255' />
			<data name='digmask1' value='-1' />
			<data name='digmask2' value='-1' />
		</dll_dbg_icd>
		<dll_models enabled='1' />
		<dll_upgrader enabled='1' />
		<dll_webhelp enabled='1' />
	</plugins>
	<supplement use='0' head='' body='' />
	<debug />
	<components >
		<settings autoimg='0' center='1' unitscale='1' fixedscale='0' fixedx='1' fixedy='1' fixedz='1' headcode='0' keygen='iLZ44AaEjzrA-GLoI3w1Cw' />
		<definition guid='882b6951-9944-48cc-8989-6ebd3d91956f' vstate='40' vmin='1' vmaj='1' srcleaf='nRF24L01.fcfx' visiblename='RF 2.4GHz' description='A simple RF communications module based on the 2.4GHz nRF24L01 modules.' category='Wireless' catenable='1' author='Matrix Ltd.' manuname='Nordic Semiconductor' manucode='nRF24L01' sysinfo='17830763' keywords='' dynamic='1' group='wireless' protect='1' iconpath='..\icons\components\RF_ISM_icon.png' />
		<component class_type='root' codename='nRF24L01' x='0' y='0' z='0' xsz='1' ysz='1' zsz='1' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' interactive='1' solid='1' layer='0' poslock='0' >
			<resources >
				<file name='RF_ISM.png' source='..\icons\Large Comms Icons\RF_ISM.png' />
			</resources>
			<properties >
				<property name='RF Settings' hidden='0' >
					<property name='Dynamic Payloads' target='DynamicPayloads' typeid='7' hidden='0' locked='0' info='Configures how the data packets are assembled and transmitted.
No = Always send out packets of 32 bytes, pad the number of bytes with the value 0.
Yes = Allow variable sized data packets, only transmit valid data.' />
				</property>
				<property name='Connections' hidden='0' >
					<property name='SPI Channel' target='Channel' typeid='16' hidden='0' locked='0' info='SPI peripheral used to talk to the RF module.' filter='000Software
001Channel 1' />
					<property name='FSEL Pin' target='fsel_pin' typeid='5' hidden='0' locked='0' info='RF Mode selection pin' />
					<property name='MOSI Pin' target='mosi_pin' typeid='5' hidden='0' locked='1' info='SPI Data Out pin - Master Out Slave In' />
					<property name='MISO Pin' target='miso_pin' typeid='5' hidden='0' locked='1' info='SPI Data In pin - Master In Slave Out' />
					<property name='SCK Pin' target='sck_pin' typeid='5' hidden='0' locked='1' info='Serial clock pin' />
					<property name='CE Pin' target='ce_pin' typeid='5' hidden='0' locked='0' info='Chip select pin
' />
					<property name='CSN Pin' target='csn_pin' typeid='5' hidden='0' locked='0' info='' />
					<property name='MOSI Remap' target='MosiRemap' typeid='16' hidden='1' locked='0' info='MOSI remap pin allowing you to re-route the I/O pin to another pin on the micro' />
					<property name='MISO Remap' target='MisoRemap' typeid='16' hidden='1' locked='0' info='MISO remap pin allowing you to re-route the I/O pin to another pin on the micro' />
					<property name='CLK Remap' target='ClkRemap' typeid='16' hidden='1' locked='0' info='SCK remap pin allowing you to re-route the I/O pin to another pin on the micro' />
				</property>
				<property name='Label' target='label' typeid='10' hidden='0' locked='0' info='Label used to help identify the component on the panel.' />
			</properties>
			<values >
				<value target='DynamicPayloads' data='0' />
				<value target='Channel' data='001' />
				<value target='fsel_pin' data='$PORTC.1' />
				<value target='mosi_pin' data='$PORTC.5' />
				<value target='miso_pin' data='$PORTC.4' />
				<value target='sck_pin' data='$PORTC.3' />
				<value target='ce_pin' data='$PORTC.0' />
				<value target='csn_pin' data='$PORTC.2' />
				<value target='MosiRemap' data='' />
				<value target='MisoRemap' data='' />
				<value target='ClkRemap' data='' />
				<value target='label' data='nRF24L01' />
			</values>
			<events >
				<event class='Components' event='Initialise' target='Ev_Initialise' />
				<event class='Components' event='Property' target='Ev_Property' />
				<event class='Connection' event='ChipChange' target='Ev_ChipChange' />
			</events>
			<apis >
				<api name='StartListening' alt='StartListening' type='1' proto='1' />
				<api name='OpenReadingPipe' alt='OpenReadingPipe' type='1' proto='1' />
				<api name='Read' alt='Read' type='1' proto='1' />
				<api name='StopListening' alt='StopListening' type='1' proto='1' />
				<api name='SetPipeAddress' alt='SetPipeAddress' type='1' proto='1' />
				<api name='Write' alt='Write' type='1' proto='1' />
				<api name='Available' alt='Available' type='1' proto='1' />
				<api name='OpenWritingPipe' alt='OpenWritingPipe' type='1' proto='1' />
				<api name='Initialise' alt='Initialise' type='1' proto='1' />
			</apis>
			<variables >
				<variable public='0' >
					<def class_type='variable' name='Pipe5' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='5' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Pipe4' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='5' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='false' type='b1' description='' isconst='1' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Pipe3' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='5' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Pipe2' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='5' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='RF_RX_Buffer_A' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='32' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Pipe1' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='5' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Pipe0' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='5' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='WideBand' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='Pvt_Channel' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0x00' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='RF_TX_Buffer' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='10' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='pipe0_reading_address' type='u32' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='PayloadSize' type='s16' description='' isconst='1' isinit='1' usrinit='32' setinit='32' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='true' type='b1' description='' isconst='1' isinit='1' usrinit='1' setinit='1' />
				</variable>
				<variable public='0' >
					<def class_type='variable' name='p_variant' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
				</variable>
			</variables>
			<macros >
				<macro >
					<flowline name='PowerUp' description='Powers up the RF module' >
						<local name='config' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='ReadRegister' >
							<return exp='.config' />
							<argument exp='0x00' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.config = .config | 0x02' />
						</command>
						<command class_type='call' title='CONFIG' macro='WriteRegister' >
							<argument exp='0x00' />
							<argument exp='.config' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Pvt_Copy_CAL_Props' description='' >
						<param name='CAL_Type' type='h32' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Property' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<local name='Idx' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='Len' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='PropStr' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<local name='Ref' type='s32' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='sRef' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='sim' title='Clear the property option list' macro='Component.Property.SetFilter' >
							<argument exp='this' />
							<argument exp='.Property' />
							<argument exp='&quot;&quot;' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Idx = 0' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.Len' start='0' >
							<flowline >
								<command class_type='sim' title='Get reference value of indexed property option list item' macro='Component.Property.GetListIndex' >
									<return exp='.sRef' />
									<argument exp='.CAL_type' />
									<argument exp='.Property' />
									<argument exp='.Idx' />
								</command>
								<command class_type='decision' title='If have a reference' exp='.sRef[0] != &apos;\0&apos;' swap='0' >
									<flowline >
										<command class_type='sim' title='Get property option string associated with reference value' macro='Component.Property.GetListItem' >
											<return exp='.PropStr' />
											<argument exp='.CAL_type' />
											<argument exp='.Property' />
											<argument exp='.sRef' />
										</command>
									</flowline>
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.PropStr = &quot;&quot;' />
										</command>
									</flowline>
								</command>
								<command class_type='calculation' title='Length of option string' >
									<exp exp='.Len = Length$ (.PropStr)' />
								</command>
								<command class_type='decision' title='Property string exists' exp='.Len' swap='0' >
									<flowline >
										<command class_type='sim' title='Add property option to component list' macro='Component.Property.AddListItem' >
											<argument exp='this' />
											<argument exp='.Property' />
											<argument exp='.sRef' />
											<argument exp='.PropStr' />
										</command>
									</flowline>
									<flowline >
										<command class_type='comment' title='' comment='End of option list' textarea='12,0,12,0' />
									</flowline>
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Idx = .Idx + 1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='SetBufferData' description='Allows a value to be loaded into the transmit buffer,' >
						<param name='Index' type='u8' description='The current location in the transmit buffer starting from 0' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Data' type='u8' description='The data value to pass' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='.Index &lt; PayloadSize' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='RF_TX_Buffer[.Index + 1] = .Data' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_Initialise' description='Initialisation routine for the component once the component is linked to its parent' >
						<return name='Return' type='u32' description='Non-zero to prevent initialisation' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='temp' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='call' title='Call Macro' macro='Pvt_Copy_CAL_Props' >
							<argument exp='cal_spi' />
							<argument exp='&quot;Channel&quot;' />
						</command>
						<command class_type='sim' title='Simulation' macro='File.AbsPath' >
							<return exp='.temp' />
							<argument exp='&quot;this:RF_ISM.png&quot;' />
							<argument exp='this' />
						</command>
						<command class_type='sim' title='Simulation' macro='Component.Property.SetValue' >
							<argument exp='dash_IO_flasher1' />
							<argument exp='&quot;icon_image&quot;' />
							<argument exp='.temp' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='PowerDown' description='Powers down the RF module' >
						<local name='config' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='ReadRegister' >
							<return exp='.config' />
							<argument exp='0x00' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.config = .config &amp; 0xFD' />
						</command>
						<command class_type='call' title='CONFIG' macro='WriteRegister' >
							<argument exp='0x00' />
							<argument exp='.config' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='GetDataCount' description='Returns the number of bytes in the received data buffer.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = RF_RX_Buffer_A[0]' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='StartListening' description='Starts listening for incoming data' >
						<local name='config' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='CONFIG' macro='ReadRegister' >
							<return exp='.config' />
							<argument exp='0x00' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.config = .config | 0x03' />
						</command>
						<command class_type='call' title='CONFIG' macro='WriteRegister' >
							<argument exp='0x00' />
							<argument exp='.config' />
						</command>
						<command class_type='call' title='STATUS' macro='WriteRegister' >
							<argument exp='0x07' />
							<argument exp='0x70' />
						</command>
						<command class_type='decision' title='HMMMM!!!???' disable='1' exp='pipe0_reading_address' swap='0' >
							<flowline >
								<command class_type='call' title='RX_ADDR_P0' macro='WriteRegisters' >
									<argument exp='0x0A' />
									<argument exp='0x70' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='call' title='Call Macro' macro='FlushRx' />
						<command class_type='call' title='Call Macro' macro='FlushTx' />
						<command class_type='calculation' title='GO!' >
							<exp exp='ce_pin = 1' />
						</command>
						<command class_type='delay' title='wait for the radio to come up' exp='130' type='0' />
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_ChipChange' description='Sent when the target device has changed' >
						<return name='Return' type='u32' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Target' type='T8' description='The name of the new target device' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<command class_type='call' title='Call Macro' macro='Pvt_Copy_CAL_Props' >
							<argument exp='cal_spi' />
							<argument exp='&quot;Channel&quot;' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='SetPALevel' description='Sets the level of the power amplifier' >
						<param name='Level' type='u8' description='0=Min, 1=Low, 2=High, 3=Max, 4=Error' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='setup' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='RF_SETUP' macro='ReadRegister' >
							<return exp='.setup' />
							<argument exp='0x06' />
						</command>
						<command class_type='calculation' title='RF_PWR_LOW | RF_PWR_HIGH' >
							<exp exp='.setup = .setup &amp; 0xFB' />
						</command>
						<command class_type='decision' title='RF24_PA_MAX' exp='.level = 3' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.setup = .setup | 0x06' />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='RF24_PA_HIGH' exp='.level = 2' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.setup = .setup | 0x04' />
										</command>
									</flowline>
									<flowline >
										<command class_type='decision' title='RF24_PA_LOW' exp='.level = 1' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.setup = .setup | 0x02' />
												</command>
											</flowline>
											<flowline >
												<command class_type='decision' title='RF24_PA_ERROR' exp='.level = 0' swap='0' >
													<flowline >
														<command class_type='calculation' title='Calculation' >
															<exp exp='.setup = .setup | 0x06' />
														</command>
													</flowline>
													<flowline />
												</command>
											</flowline>
										</command>
									</flowline>
								</command>
							</flowline>
						</command>
						<command class_type='call' title='RF_SETUP' macro='WriteRegister' >
							<argument exp='0x06' />
							<argument exp='.setup' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='OpenReadingPipe' description='Opens a data pipe for receiving data at the pipe address specified' >
						<param name='child' type='u8' description='Range 0-5' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='reg' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='.child &lt; 2' swap='0' >
							<flowline >
								<command class_type='decision' title='Decision' exp='.child = 0' swap='0' >
									<flowline >
										<command class_type='call' title='Call Component Macro' macro='WriteRegisters' >
											<argument exp='0x0A' />
											<argument exp='Pipe0' />
											<argument exp='5' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='.child = 1' swap='0' >
									<flowline >
										<command class_type='call' title='Call Component Macro' macro='WriteRegisters' >
											<argument exp='0x0B' />
											<argument exp='Pipe1' />
											<argument exp='5' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Decision' exp='.child = 2' swap='0' >
									<flowline >
										<command class_type='call' title='Call Component Macro' macro='WriteRegisters' >
											<argument exp='0x0C' />
											<argument exp='Pipe2' />
											<argument exp='1' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='.child = 3' swap='0' >
									<flowline >
										<command class_type='call' title='Call Component Macro' macro='WriteRegisters' >
											<argument exp='0x0D' />
											<argument exp='Pipe3' />
											<argument exp='1' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='.child = 4' swap='0' >
									<flowline >
										<command class_type='call' title='Call Component Macro' macro='WriteRegisters' >
											<argument exp='0x0E' />
											<argument exp='Pipe4' />
											<argument exp='1' />
										</command>
									</flowline>
									<flowline />
								</command>
								<command class_type='decision' title='Decision' exp='.child = 5' swap='0' >
									<flowline >
										<command class_type='call' title='Call Component Macro' macro='WriteRegisters' >
											<argument exp='0x0F' />
											<argument exp='Pipe5' />
											<argument exp='1' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='Call Component Macro' macro='WriteRegister' >
							<argument exp='0x11 + .child' />
							<argument exp='32' />
						</command>
						<command class_type='call' title='Call Macro' macro='ReadRegister' >
							<return exp='.reg' />
							<argument exp='0x02' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.reg = .reg | (1 &lt;&lt; .child)' />
						</command>
						<command class_type='call' title='Call Component Macro' macro='WriteRegister' >
							<argument exp='0x02' />
							<argument exp='.reg' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Read' description='Attempts to read received data from the RF module.
Returns 0 to indicate that there is still data to follow.
Returns 1 to indicate this is the last of the incoming data.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='buffer' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='length' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='ReadPayload' >
							<argument exp='.buffer' />
							<argument exp='.length' />
						</command>
						<command class_type='call' title='FIFO_STATUS' macro='ReadRegister' >
							<return exp='.Return' />
							<argument exp='0x17' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = .Return &amp; 0x01' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='SetDataRate' description='Sets the RF data rate.
Returns 0 to indicate rate change fail.
Returns 1 to indicate rate change success.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Rate' type='u8' description='0=1MB/s, 1=2MB/s, 2=250KB/s' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='setup' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='verify' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Return = 0' />
						</command>
						<command class_type='call' title='RF_SETUP' macro='ReadRegister' >
							<return exp='.setup' />
							<argument exp='0x06' />
						</command>
						<command class_type='calculation' title='~(RF_DR_LOW | RF_DR_HIGH)' >
							<exp exp='.setup = .setup &amp; 0xD7' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='WideBand = 0' />
						</command>
						<command class_type='decision' title='Decision' exp='.rate = 2' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.setup = .setup | 0x20' />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Decision' exp='.rate = 1' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='WideBand = 1' />
										</command>
										<command class_type='calculation' title='Calculation' >
											<exp exp='.setup = .setup | 0x08' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='RF_SETUP' macro='WriteRegister' >
							<argument exp='0x06' />
							<argument exp='.setup' />
						</command>
						<command class_type='call' title='RF_SETUP' macro='ReadRegister' >
							<return exp='.verify' />
							<argument exp='0x06' />
						</command>
						<command class_type='decision' title='Decision' exp='.verify = .setup' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = 1' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='WideBand = 0' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='FlushRx' description='Tells the RF module to flush the contents of the receive buffer.
Returns the status from sending the command.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Activate SPI' >
							<exp exp='csn_pin = 0' />
						</command>
						<command class_type='call' title='FLUSH_RX' component='cal_spi' macro='Master_Byte' >
							<return exp='.Return' />
							<argument exp='0xE2' />
						</command>
						<command class_type='calculation' title='Deactivate SPI and Process Command' >
							<exp exp='csn_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='StopListening' description='Stops listening for incoming data' >
						<command class_type='calculation' title='Calculation' >
							<exp exp='ce_pin = 0' />
						</command>
						<command class_type='call' title='Call Macro' macro='FlushTx' />
						<command class_type='call' title='Call Macro' macro='FlushRx' />
					</flowline>
				</macro>
				<macro >
					<flowline name='ReadRegisters' description='Reads a number of bytes from the selected register.
Returns the status of the read.
Stores the return values into the local buffer which can be accessed using the ReadBuffer macro.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Reg' type='u8' description='Register address to access' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Data' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='32' />
						</param>
						<param name='Len' type='u8' description='Number of bytes to try and receive' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Reg = .Reg &amp; 0x1F' />
						</command>
						<command class_type='calculation' title='Activate SPI' >
							<exp exp='csn_pin = 0' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<return exp='.Return' />
							<argument exp='.Reg' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.idx &lt; .Len' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
									<return exp='.Data[.idx]' />
									<argument exp='0xFF' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.idx = .idx + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Deactivate SPI and Process Command' >
							<exp exp='csn_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Ev_Property' description='Sent when a property has been changed by the User' >
						<return name='Return' type='u32' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='freq_calc' type='f32' description='' isconst='0' isinit='0' usrinit='0.0' setinit='' />
						<local name='FA1' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='FA0' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='baud_calc' type='u32' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='tempstr' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='decision' title='Channel Changes - Reload CAL Pins' exp='channel != Pvt_Channel' swap='0' >
							<flowline >
								<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
									<return exp='.tempstr' />
									<argument exp='this' />
									<argument exp='&quot;channel&quot;' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetValue' >
									<argument exp='cal_spi' />
									<argument exp='&quot;CHANNEL&quot;' />
									<argument exp='.tempstr' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
									<return exp='.tempstr' />
									<argument exp='cal_spi' />
									<argument exp='&quot;Remappable&quot;' />
								</command>
								<command class_type='decision' title='Decision' exp='.tempstr[0] = &apos;1&apos;' swap='0' >
									<flowline >
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;MOSIPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;MOSIPins&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;MISOPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;MISOPins&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;CLKPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;ClkPins&quot;' />
											<argument exp='.tempstr' />
										</command>
									</flowline>
									<flowline >
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='0' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='0' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='0' />
										</command>
									</flowline>
								</command>
								<command class_type='call' title='Call Macro' macro='Pvt_Set_Channel_Copy_Props' />
								<command class_type='calculation' title='Calculation' >
									<exp exp='Pvt_Channel = Channel' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='If Software Mode then copy pin assignments to CAL' exp='channel = 0' swap='0' >
							<flowline >
								<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
									<argument exp='this' />
									<argument exp='&quot;MosiRemap&quot;' />
									<argument exp='0' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
									<argument exp='this' />
									<argument exp='&quot;MisoRemap&quot;' />
									<argument exp='0' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
									<argument exp='this' />
									<argument exp='&quot;ClkRemap&quot;' />
									<argument exp='0' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
									<return exp='.tempstr' />
									<argument exp='this' />
									<argument exp='&quot;mosi_pin&quot;' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetValue' >
									<argument exp='cal_spi' />
									<argument exp='&quot;MOSI&quot;' />
									<argument exp='.tempstr' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
									<return exp='.tempstr' />
									<argument exp='this' />
									<argument exp='&quot;miso_pin&quot;' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetValue' >
									<argument exp='cal_spi' />
									<argument exp='&quot;MISO&quot;' />
									<argument exp='.tempstr' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
									<return exp='.tempstr' />
									<argument exp='this' />
									<argument exp='&quot;sck_pin&quot;' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetValue' >
									<argument exp='cal_spi' />
									<argument exp='&quot;CLK&quot;' />
									<argument exp='.tempstr' />
								</command>
							</flowline>
							<flowline >
								<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
									<return exp='.tempstr' />
									<argument exp='cal_spi' />
									<argument exp='&quot;Remappable&quot;' />
								</command>
								<command class_type='decision' title='Decision' exp='.tempstr[0] = &apos;1&apos;' swap='0' >
									<flowline >
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='1' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;MOSIPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;MOSIPins&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;MISOPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;MISOPins&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetFilter' >
											<return exp='.tempstr' />
											<argument exp='cal_spi' />
											<argument exp='&quot;CLKPins&quot;' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetFilter' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
											<return exp='.tempstr' />
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
										</command>
										<command class_type='sim' title='Simulation' component='cal_spi' macro='SetValue' >
											<argument exp='&quot;ClkPins&quot;' />
											<argument exp='.tempstr' />
										</command>
										<command class_type='call' title='Call Macro' macro='Pvt_Set_Channel_Copy_Props' />
									</flowline>
									<flowline >
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MosiRemap&quot;' />
											<argument exp='0' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;MisoRemap&quot;' />
											<argument exp='0' />
										</command>
										<command class_type='sim' title='Simulation' macro='Component.Property.SetVisible' >
											<argument exp='this' />
											<argument exp='&quot;ClkRemap&quot;' />
											<argument exp='0' />
										</command>
									</flowline>
								</command>
							</flowline>
						</command>
						<command class_type='sim' title='Simulation' macro='Component.Property.CopyValue' >
							<argument exp='this' />
							<argument exp='dash_IO_flasher1' />
							<argument exp='&quot;label&quot;' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='WriteRegisters' description='Write a number of bytes to the selected register.
Returns the status of the write' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Reg' type='u8' description='Register address to access' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='data' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='Len' type='u8' description='Number of bytes to try and receive' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Reg = .Reg &amp; 0x1F' />
							<exp exp='.Reg = .Reg | 0x20' />
						</command>
						<command class_type='calculation' title='Activate SPI' >
							<exp exp='csn_pin = 0' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<return exp='.Return' />
							<argument exp='.Reg' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.idx &lt; .Len' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
									<argument exp='.data[.idx]' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.idx = .idx + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Deactivate SPI and Process Command' >
							<exp exp='csn_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='SetPipeAddress' description='Sets the pipe address based on a 5-byte array.' >
						<param name='Pipe' type='u8' description='Selects the data pipe - range 0-5' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='PipeAddress' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='5' />
						</param>
						<command class_type='decision' title='Decision' exp='.Pipe = 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Pipe0[0] = .PipeAddress[0]' />
									<exp exp='Pipe0[1] = .PipeAddress[1]' />
									<exp exp='Pipe0[2] = .PipeAddress[2]' />
									<exp exp='Pipe0[3] = .PipeAddress[3]' />
									<exp exp='Pipe0[4] = .PipeAddress[4]' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='.Pipe = 1' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Pipe1[0] = .PipeAddress[0]' />
									<exp exp='Pipe1[1] = .PipeAddress[1]' />
									<exp exp='Pipe1[2] = .PipeAddress[2]' />
									<exp exp='Pipe1[3] = .PipeAddress[3]' />
									<exp exp='Pipe1[4] = .PipeAddress[4]' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='.Pipe = 2' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Pipe2[0] = .PipeAddress[0]' />
									<exp exp='Pipe2[1] = .PipeAddress[1]' />
									<exp exp='Pipe2[2] = .PipeAddress[2]' />
									<exp exp='Pipe2[3] = .PipeAddress[3]' />
									<exp exp='Pipe2[4] = .PipeAddress[4]' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='.Pipe = 3' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Pipe3[0] = .PipeAddress[0]' />
									<exp exp='Pipe3[1] = .PipeAddress[1]' />
									<exp exp='Pipe3[2] = .PipeAddress[2]' />
									<exp exp='Pipe3[3] = .PipeAddress[3]' />
									<exp exp='Pipe3[4] = .PipeAddress[4]' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='.Pipe = 4' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Pipe4[0] = .PipeAddress[0]' />
									<exp exp='Pipe4[1] = .PipeAddress[1]' />
									<exp exp='Pipe4[2] = .PipeAddress[2]' />
									<exp exp='Pipe4[3] = .PipeAddress[3]' />
									<exp exp='Pipe4[4] = .PipeAddress[4]' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='.Pipe = 5' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='Pipe5[0] = .PipeAddress[0]' />
									<exp exp='Pipe5[1] = .PipeAddress[1]' />
									<exp exp='Pipe5[2] = .PipeAddress[2]' />
									<exp exp='Pipe5[3] = .PipeAddress[3]' />
									<exp exp='Pipe5[4] = .PipeAddress[4]' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='SetChannel' description='Sets the current RF channel' >
						<param name='Channel' type='u8' description='Range 0-127' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='.Channel &gt; 127' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Channel = .Channel - 128' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='call' title='RF_CH' macro='WriteRegister' >
							<argument exp='0x05' />
							<argument exp='.Channel' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='WritePayload' description='Write a number of data bytes ready to be transmitted.
Returns the status of the write
Uses the values stored in the local buffer which can be accessed using the WriteBuffer macro.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Data' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='Len' type='u8' description='Number of bytes to try and receive' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<local name='blanklen' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='decision' title='Decision' exp='.Len &gt; PayloadSize' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Len = PayloadSize' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='DynamicPayloads = 1' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.blanklen = 0' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.blanklen = PayloadSize - .Len' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Activate SPI' >
							<exp exp='csn_pin = 0' />
						</command>
						<command class_type='call' title='W_TX_PAYLOAD' component='cal_spi' macro='Master_Byte' >
							<return exp='.Return' />
							<argument exp='0xA0' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.idx &lt; .Len' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
									<argument exp='.Data[.idx]' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.idx = .idx + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.blanklen &gt; 0' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
									<argument exp='0' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.blanklen = .blanklen - 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Deactivate SPI and Process Command' >
							<exp exp='csn_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='ReadPayload' description='Reads a number of incoming bytes from the remote transmitter.
Returns the status of the read.
Stores the return values into the local buffer which can be accessed using the ReadBuffer macro.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='data' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='32' />
						</param>
						<param name='Len' type='u8' description='Number of bytes to try and receive' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<local name='blanklen' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='.Len &gt; PayloadSize' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Len = PayloadSize' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='Decision' exp='DynamicPayloads = 1' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.blanklen = 0' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.blanklen = PayloadSize - .Len' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Activate SPI' >
							<exp exp='csn_pin = 0' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<return exp='.Return' />
							<argument exp='0x61' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.idx &lt; .Len' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
									<return exp='.Data[.idx]' />
									<argument exp='0xFF' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.idx = .idx + 1' />
								</command>
							</flowline>
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.blanklen &gt; 0' >
							<flowline >
								<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
									<argument exp='0xFF' />
								</command>
								<command class_type='calculation' title='Calculation' >
									<exp exp='.blanklen = .blanklen - 1' />
								</command>
							</flowline>
						</command>
						<command class_type='calculation' title='Deactivate SPI and Process Command' >
							<exp exp='csn_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='FlushTx' description='Tells the RF module to flush the contents of the transmit buffer.
Returns the status from sending the command.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Activate SPI' >
							<exp exp='csn_pin = 0' />
						</command>
						<command class_type='call' title='FLUSH_TX' component='cal_spi' macro='Master_Byte' >
							<return exp='.Return' />
							<argument exp='0xE1' />
						</command>
						<command class_type='calculation' title='Deactivate SPI and Process Command' >
							<exp exp='csn_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='StartWrite' description='Prepares the RF module to allow data to be transmitted' >
						<param name='Data' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='Length' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='config' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='CONFIG' macro='ReadRegister' >
							<return exp='.config' />
							<argument exp='0x00' />
						</command>
						<command class_type='calculation' title='Power Up Transmitter' >
							<exp exp='.config = (.config | 0x02) &amp; 0xFE' />
						</command>
						<command class_type='call' title='CONFIG' macro='WriteRegister' >
							<argument exp='0x00' />
							<argument exp='0' />
						</command>
						<command class_type='delay' title='Delay' exp='150' type='0' />
						<command class_type='call' title='Call Macro' macro='WritePayload' >
							<argument exp='.Data' />
							<argument exp='.Length' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='ce_pin = 1' />
						</command>
						<command class_type='delay' title='Delay' exp='15' type='0' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='ce_pin = 0' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Write' description='Writes data to be transmitted by the RF module.
Returns 0 to indicate a timeout
Returns 1 to indicate a succesful transmission.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Data' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='Length' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='Result' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<local name='Timeout' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<local name='ObserveTx' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='1' />
						</local>
						<local name='status' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='StartWrite' >
							<argument exp='.Data' />
							<argument exp='.Length' />
						</command>
						<command class_type='loop' title='Loop' type='0' exp='.Timeout &lt; 255' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Timeout = .Timeout + 1' />
								</command>
								<command class_type='call' title='OBSERVE_TX' macro='ReadRegisters' >
									<return exp='.status' />
									<argument exp='0x08' />
									<argument exp='.ObserveTx' />
									<argument exp='1' />
								</command>
								<command class_type='decision' title='Decision' exp='(.status &amp; 0x30) = 0' swap='0' >
									<flowline >
										<command class_type='goto' title='Goto Connection Point' labelid='0' labelname='' />
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='label' title='Connection Point' labelid='0' labelname='A' />
						<command class_type='decision' title='Decision' exp='.Timeout = 255' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = 0' />
								</command>
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = 1' />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='Call Component Macro' macro='PowerDown' />
						<command class_type='call' title='Call Macro' macro='FlushTx' />
					</flowline>
				</macro>
				<macro >
					<flowline name='ReadRegister' description='Reads a single bytes from the selected register.
Directly returns the value read back from the register.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Reg' type='u8' description='Register address to access' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Reg = .Reg &amp; 0x1F' />
						</command>
						<command class_type='calculation' title='Activate SPI' >
							<exp exp='csn_pin = 0' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<argument exp='.Reg' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<return exp='.Return' />
							<argument exp='0xFF' />
						</command>
						<command class_type='calculation' title='Deactivate SPI and Process Command' >
							<exp exp='csn_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Available' description='Checks for incoming data.
Returns 0 if no data available.
Returns 1 for data available.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='status' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='result' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='Call Macro' macro='GetStatus' >
							<return exp='.status' />
						</command>
						<command class_type='calculation' title='Calculation' >
							<exp exp='.result = .status &amp; 0x40' />
						</command>
						<command class_type='decision' title='Decision' exp='.result' swap='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='WriteRegister' >
									<argument exp='0x07' />
									<argument exp='0x40' />
								</command>
								<command class_type='decision' title='Decision' exp='.status &amp; 0x20' swap='0' >
									<flowline >
										<command class_type='call' title='Call Macro' macro='WriteRegister' >
											<argument exp='0x07' />
											<argument exp='0x20' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='SetCRCLength' description='Sets the CRC length.' >
						<param name='Length' type='u8' description='0=Disabled, 1=8 Bit CRC, 2=16 Bit CRC' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='config' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='verify' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='call' title='CONFIG' macro='ReadRegister' >
							<return exp='.config' />
							<argument exp='0x00' />
						</command>
						<command class_type='calculation' title='~(RF_DR_LOW | RF_DR_HIGH)' >
							<exp exp='.config = .config &amp; 0xF3' />
						</command>
						<command class_type='decision' title='Decision' exp='.Length = 1' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.config = .config | 0x08' />
								</command>
							</flowline>
							<flowline >
								<command class_type='decision' title='Decision' exp='.Length = 2' swap='0' >
									<flowline >
										<command class_type='calculation' title='Calculation' >
											<exp exp='.config = .config | 0x0C' />
										</command>
									</flowline>
									<flowline />
								</command>
							</flowline>
						</command>
						<command class_type='call' title='CONFIG' macro='WriteRegister' >
							<argument exp='0x00' />
							<argument exp='.config' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Pvt_Set_Channel_Copy_Props' description='' >
						<local name='temp_str' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
							<return exp='.temp_str' />
							<argument exp='cal_spi' />
							<argument exp='&quot;MOSI&quot;' />
						</command>
						<command class_type='sim' title='Simulation' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;mosi_pin&quot;' />
							<argument exp='.temp_str' />
						</command>
						<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
							<return exp='.temp_str' />
							<argument exp='cal_spi' />
							<argument exp='&quot;MISO&quot;' />
						</command>
						<command class_type='sim' title='Simulation' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;miso_pin&quot;' />
							<argument exp='.temp_str' />
						</command>
						<command class_type='sim' title='Simulation' macro='Component.Property.GetValue' >
							<return exp='.temp_str' />
							<argument exp='cal_spi' />
							<argument exp='&quot;CLK&quot;' />
						</command>
						<command class_type='sim' title='Simulation' macro='Component.Property.SetValue' >
							<argument exp='this' />
							<argument exp='&quot;sck_pin&quot;' />
							<argument exp='.temp_str' />
						</command>
						<command class_type='decision' title='Decision' exp='channel &gt; 0' swap='0' >
							<flowline >
								<command class_type='sim' title='Simulation' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;miso_pin&quot;' />
									<argument exp='0' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;mosi_pin&quot;' />
									<argument exp='0' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;sck_pin&quot;' />
									<argument exp='0' />
								</command>
							</flowline>
							<flowline >
								<command class_type='sim' title='Simulation' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;miso_pin&quot;' />
									<argument exp='1' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;mosi_pin&quot;' />
									<argument exp='1' />
								</command>
								<command class_type='sim' title='Simulation' macro='Component.Property.SetWritable' >
									<argument exp='this' />
									<argument exp='&quot;sck_pin&quot;' />
									<argument exp='1' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='GetBufferData' description='Returns a value from the incoming receive data buffer.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Index' type='u8' description='Specifies which position in the buffer to read data from' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='decision' title='Decision' exp='.Index &lt; PayloadSize' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = RF_RX_Buffer_A[.Index + 1]' />
								</command>
								<command class_type='sim' title='Simulation' component='dash_IO_flasher1' macro='FlashRx' />
							</flowline>
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='.Return = 0' />
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='GetStatus' description='Gets the current status of the RF module and returns it as a byte.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Activate SPI' >
							<exp exp='csn_pin = 0' />
						</command>
						<command class_type='call' title='NOP' component='cal_spi' macro='Master_Byte' >
							<return exp='.Return' />
							<argument exp='0xFF' />
						</command>
						<command class_type='calculation' title='Deactivate SPI and Process Command' >
							<exp exp='csn_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='OpenWritingPipe' description='Opens a data pipe for transmitting data at the pipe address specified' >
						<command class_type='call' title='RX_ADDR_P0' macro='WriteRegisters' >
							<argument exp='0xA0' />
							<argument exp='Pipe0' />
							<argument exp='5' />
						</command>
						<command class_type='call' title='TX_ADDR' macro='WriteRegisters' >
							<argument exp='0x10' />
							<argument exp='Pipe0' />
							<argument exp='5' />
						</command>
						<command class_type='call' title='RX_PW_P0' macro='WriteRegister' >
							<argument exp='0x11' />
							<argument exp='32' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Main' description='' >
						<local name='Temp' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='Done' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='rxData' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='32' />
						</local>
						<command class_type='call' title='Call Macro' macro='Ev_Initialise' />
						<command class_type='call' title='Call Component Macro' macro='Initialise' />
						<command class_type='decision' title='Decision' exp='0' swap='0' >
							<flowline >
								<command class_type='call' title='Call Macro' macro='OpenWritingPipe' />
								<command class_type='loop' title='Loop' type='0' exp='1' >
									<flowline >
										<command class_type='call' title='Call Macro' macro='Write' >
											<argument exp='.rxData' />
											<argument exp='6' />
										</command>
										<command class_type='delay' title='Delay' exp='100' type='1' />
									</flowline>
								</command>
							</flowline>
							<flowline >
								<command class_type='call' title='Call Macro' macro='OpenReadingPipe' >
									<argument exp='1' />
								</command>
								<command class_type='call' title='Call Macro' macro='StartListening' />
								<command class_type='loop' title='Loop' type='0' exp='1' >
									<flowline >
										<command class_type='call' title='Call Macro' macro='Available' >
											<return exp='.Temp' />
										</command>
										<command class_type='decision' title='Decision' exp='.Temp' swap='0' >
											<flowline >
												<command class_type='calculation' title='Calculation' >
													<exp exp='.Done = 0' />
												</command>
												<command class_type='loop' title='Loop' type='0' exp='.Done = 0' >
													<flowline >
														<command class_type='call' title='Call Macro' macro='Read' >
															<return exp='.Done' />
															<argument exp='.rxData' />
															<argument exp='6' />
														</command>
													</flowline>
												</command>
											</flowline>
											<flowline />
										</command>
									</flowline>
								</command>
							</flowline>
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='WriteRegister' description='Writes a single byte to the selected register.
Returns the status of the write command.' >
						<return name='Return' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Reg' type='u8' description='Register address to access' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='Value' type='u8' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='idx' type='u8' description='' isconst='0' isinit='1' usrinit='0' setinit='0' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='.Reg = .Reg &amp; 0x1F' />
							<exp exp='.Reg = .Reg | 0x20' />
						</command>
						<command class_type='calculation' title='Activate SPI' >
							<exp exp='csn_pin = 0' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<argument exp='.Reg' />
						</command>
						<command class_type='call' title='Call Component Macro' component='cal_spi' macro='Master_Byte' >
							<return exp='.Return' />
							<argument exp='.Value' />
						</command>
						<command class_type='calculation' title='Deactivate SPI and Process Command' >
							<exp exp='csn_pin = 1' />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='Initialise' description='Starts up and configures the RF module ready for use.
The macro will return a value greater then 0 if the module has been started correctly, otherwise the macro will return a 0.' >
						<return name='Return' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='temp' type='u16' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<command class_type='calculation' title='Calculation' >
							<exp exp='Pipe0[0] = 0xE1' />
							<exp exp='Pipe0[1] = 0xF0' />
							<exp exp='Pipe0[2] = 0xF0' />
							<exp exp='Pipe0[3] = 0xE8' />
							<exp exp='Pipe0[4] = 0xE8' />
						</command>
						<command class_type='calculation' title='Disable RF Module Comms' >
							<exp exp='ce_pin = 1' />
							<exp exp='csn_pin = 1' />
						</command>
						<command class_type='call' title='Startup SPI' component='cal_spi' macro='Master_Init' />
						<command class_type='calculation' title='Enable Device' >
							<exp exp='ce_pin = 0' />
						</command>
						<command class_type='delay' title='Delay' exp='5' type='1' />
						<command class_type='call' title='Set 1500uS (minimum for 32B payload in ESB@250KBPS) timeouts' macro='WriteRegister' >
							<argument exp='0x04' />
							<argument exp='0x4F' />
						</command>
						<command class_type='call' title='RF24_PA_MAX' macro='SetPALevel' >
							<argument exp='3' />
						</command>
						<command class_type='call' title='Temp test to see if we have a p or non-p module' macro='SetDataRate' >
							<return exp='.temp' />
							<argument exp='2' />
						</command>
						<command class_type='decision' title='Decision' exp='.temp' swap='0' >
							<flowline >
								<command class_type='calculation' title='Calculation' >
									<exp exp='p_variant = 1' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='call' title='Reset to the default data rate' macro='SetDataRate' >
							<argument exp='0' />
						</command>
						<command class_type='call' title='2 Byte Data CRC' macro='SetCRCLength' >
							<argument exp='2' />
						</command>
						<command class_type='call' title='Disable Dynamic Payloads' macro='WriteRegister' >
							<argument exp='0x1C' />
							<argument exp='0' />
						</command>
						<command class_type='call' title='Reset Current Status' macro='WriteRegister' >
							<argument exp='0x07' />
							<argument exp='0x70' />
						</command>
						<command class_type='call' title='This channel should be universally safe' macro='SetChannel' >
							<argument exp='76' />
						</command>
						<command class_type='call' title='Call Macro' macro='FlushRx' />
						<command class_type='call' title='Call Macro' macro='FlushTx' />
					</flowline>
				</macro>
			</macros>
			<component class_type='ref' guid='c67171df-0ad6-4b11-8361-cfe14b072847' vmin='1' vmaj='1' codename='cal_spi' x='0' y='0' z='-3' xsz='5' ysz='5' zsz='5' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' interactive='1' solid='1' layer='0' poslock='0' >
				<resources />
				<properties />
				<values >
					<value target='ENABLED' data='1' />
					<value target='REF' data='1' />
					<value target='CHANNEL' data='001' />
					<value target='MOSI' data='$PORTC.5' />
					<value target='MOSIPins' data='008' />
					<value target='MISO' data='$PORTC.4' />
					<value target='MISOPins' data='013' />
					<value target='CLK' data='$PORTC.3' />
					<value target='CLKPins' data='004' />
					<value target='SS' data='' />
					<value target='PR_SCALE' data='004' />
					<value target='BMODE' data='2' />
					<value target='CKP' data='000' />
					<value target='CKE' data='001' />
					<value target='SMP' data='000' />
					<value target='MOSI_PORT' data='$PORTC.5' />
					<value target='MOSI_TRIS' data='$PORTC.5' />
					<value target='MOSI_PIN' data='5' />
					<value target='MISO_PORT' data='$PORTC.4' />
					<value target='MISO_TRIS' data='$PORTC.4' />
					<value target='MISO_PIN' data='4' />
					<value target='SCK_PORT' data='$PORTC.3' />
					<value target='SCK_TRIS' data='$PORTC.3' />
					<value target='SCK_PIN' data='3' />
					<value target='SS_PORT' data='' />
					<value target='SS_TRIS' data='' />
					<value target='SS_PIN' data='0' />
					<value target='Remappable' data='' />
					<value target='MOSIReg' data='008' />
					<value target='CLKREG' data='004' />
					<value target='MOSIRPNUM' data='7' />
					<value target='CLKRPNUM' data='8' />
					<value target='MISORPREG' data='RPINR20bits.SDI1R' />
					<value target='CS_PORT' data='' />
					<value target='ScopeTraces' data='0' />
					<value target='ConsoleData' data='0' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
			<component class_type='ref' guid='175423b4-b359-4aa7-9bc4-1867301742af' vmin='1' vmaj='1' codename='dash_IO_flasher1' x='0' y='0' z='0' xsz='1' ysz='1' zsz='1' xang='0' yang='0' zang='0' xquat='0' yquat='0' zquat='0' wquat='1' visible='1' interactive='1' solid='1' layer='0' poslock='0' >
				<resources />
				<properties />
				<values >
					<value target='label' data='nRF24L01' />
					<value target='icon_image' data='@00000019:RF_ISM.png' />
					<value target='flash_time' data='250' />
					<value target='Tx_on_color' data='65280' />
					<value target='Tx_off_color' data='13056' />
					<value target='Rx_on_color' data='255' />
					<value target='Rx_off_color' data='65' />
				</values>
				<events />
				<apis />
				<variables />
				<macros />
			</component>
		</component>
	</components>
	<keymap />
	<panel2d shadows='0' lighting='0' brightness='0' perspective='0' >
		<background rgb='9737364' img='' style='0' />
		<camera xe='0' ye='0' ze='300' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
	</panel2d>
	<panel3d shadows='0' lighting='0' brightness='0' perspective='0' >
		<background rgb='8404224' img='' style='0' />
		<table rgb='7360576' img='' style='0' size='0' />
		<camera xe='0' ye='0' ze='300' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
	</panel3d>
	<layout >
		<view type='0' name='OpenReadingPipe' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='OpenWritingPipe' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='SetPipeAddress' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='663' flags='0' />
		<view type='0' name='Main' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Read' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ReadPayload' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Initialise' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Write' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='ReadRegisters' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='StartWrite' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='WritePayload' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Available' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='StartListening' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='WriteRegisters' mode='0' placement='LAAAAAAAAAABAAAA---------------------wAAAAAUAAAAxAQAALkDAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
	</layout>
</document>
</root>
