<root>
<document schema='101' license='1,Dev User,HJVC24' title='' description='' target='PIC.16F.BL0011' >
	<config data='!0,3e9a!10,37fd!20,3f92!30,1fff!40,3fff%0,2%4,1%8,0%b,1%d,1%10,1%11,0%15,1%16,3%19,1%1a,1%1b,0%1c,1%1d,1%20,12%25,0%28,7%2b,7%30,3%3c,1%3d,0%40,1%41,1' clkspd='32000000' simspd='1' usewdt='0' constif='0' />
	<plugins >
		<dll_dbg_icd enabled='0' >
			<data name='debug' value='1' />
			<data name='userpins' value='0' />
			<data name='speed' value='0' />
			<data name='usev9' value='0' />
			<data name='breaks' value='8' />
			<data name='stacks' value='8' />
			<data name='clkport' value='1' />
			<data name='clkbit' value='6' />
			<data name='dataport' value='1' />
			<data name='databit' value='7' />
			<data name='ghostype' value='0' />
			<data name='monitor' value='1' />
			<data name='ictloop' value='0' />
			<data name='ictrate' value='20000' />
			<data name='ictmask' value='0' />
			<data name='anlpres' value='19' />
			<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 />
	<ghost >
		<FK2 >
			<data name='FK2D0' port='4294967295' pin='4294967295' />
			<data name='FK2D1' port='4294967295' pin='4294967295' />
			<data name='FK2D2' port='4294967295' pin='4294967295' />
			<data name='FK2D3' port='4294967295' pin='4294967295' />
			<data name='FK2D4' port='4294967295' pin='4294967295' />
			<data name='FK2D5' port='4294967295' pin='4294967295' />
			<data name='FK2D6' port='4294967295' pin='4294967295' />
			<data name='FK2D7' port='4294967295' pin='4294967295' />
			<data name='FK2D8' port='4294967295' pin='4294967295' />
			<data name='FK2D9' port='4294967295' pin='4294967295' />
			<data name='FK2D10' port='4294967295' pin='4294967295' />
			<data name='FK2D11' port='4294967295' pin='4294967295' />
			<data name='FK2D12' port='4294967295' pin='4294967295' />
			<data name='FK2D13' port='4294967295' pin='4294967295' />
			<data name='FK2D14' port='4294967295' pin='4294967295' />
			<data name='FK2D15' port='4294967295' pin='4294967295' />
			<data name='FK2A0' port='4294967295' pin='4294967295' />
			<data name='FK2A1' port='4294967295' pin='4294967295' />
			<data name='FK2A2' port='4294967295' pin='4294967295' />
			<data name='FK2A3' port='4294967295' pin='4294967295' />
			<data name='FK2A4' port='4294967295' pin='4294967295' />
			<data name='FK2A5' port='4294967295' pin='4294967295' />
		</FK2>
		<ICD >
			<data name='AnalogPrescaleValue' value='19' />
			<data name='DigitalSampleRate' value='100000' />
			<data name='BreakpointCount' value='8' />
			<data name='CallStackDepthCount' value='8' />
			<data name='ClockPort' value='1' />
			<data name='ClockPin' value='6' />
			<data name='DataPort' value='1' />
			<data name='DataPin' value='7' />
			<data name='UseDefaultPins' value='1' />
			<data name='WrapEnabled' value='1' />
			<data name='CommsDelayOverridden' value='0' />
			<data name='CommsDelay' value='6' />
			<data name='CalculatedCommsDelay' value='6' />
		</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='d3c87db0-7311-4b99-b210-2238e82b630e' vstate='40' vmin='0' vmaj='1' srcleaf='' visiblename='' description='' category='Misc' catenable='1' author='' manuname='' manucode='' sysinfo='0' keywords='' dynamic='1' iconpath='' />
		<component class_type='root' codename='panel' 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 >
				<property name='Macro Name' target='MacroName' typeid='10' hidden='0' locked='0' info='Flowcode macro to call as a call back function' expansion='$(variable)' initialiser='$(value)' />
				<property name='Macro Parameters' target='MacroParams' typeid='16' hidden='0' locked='0' info='Defines the parameters for the callback macro allowing data from the host to be automatically passed into the macro.' filter='000None
001Byte
002Byte, Byte
003Byte, Byte, Byte
004Byte, Byte, Byte, Byte
005Byte, Byte, Byte, Byte, Byte
006Int
007Int, Byte
008Int, Byte, Byte
009Int, Int
010Int, Int, Int
011String
012Byte, String
013Int, String' expansion='$(variable)' initialiser='$(value)' />
			</properties>
			<values >
				<value target='MacroName' data='' />
				<value target='MacroParams' data='000' />
			</values>
			<events >
				<event class='Compile' event='AddProperty' target='Ev_AddProperty' />
			</events>
			<apis />
			<variables >
				<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='data' type='u8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
						<array size='32' />
					</def>
				</variable>
				<variable public='0' >
					<def class_type='variable' name='true' type='b1' description='' isconst='1' isinit='1' usrinit='1' setinit='1' />
				</variable>
			</variables>
			<macros >
				<macro >
					<flowline name='Ev_AddProperty' description='Sent to a component to allow dynamic amendment of global property declarations' >
						<return name='Return' type='u32' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<param name='PropName' type='T8' description='The original Flowcode property' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<param name='Expansion' type='T8*' description='The expanded string to inline to the code' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</param>
						<local name='TestHandle' type='h32' description='' isconst='0' isinit='0' usrinit='0' setinit='' />
						<local name='ExpansionMacroName' type='T8' description='' isconst='0' isinit='0' usrinit='&quot;&quot;' setinit='' >
							<array size='20' />
						</local>
						<command class_type='decision' title='MacroName Property?' cmdcolor='3568629' cmdcolor_sec='3568629' exp='Compare$ (.PropName,&quot;MacroName&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Object Handle Points to this component' cmdcolor='7895044' cmdcolor_sec='7895044' >
									<exp exp='.TestHandle = this' />
								</command>
								<command class_type='sim' title='Go up a level to panel root' cmdcolor='1975743' cmdcolor_sec='1975743' macro='Tree.StepParent' >
									<argument exp='.TestHandle' />
								</command>
								<command class_type='sim' title='Find Macro and convert to C version of function name' cmdcolor='1975743' cmdcolor_sec='1975743' macro='Expand.MacroName' >
									<return exp='.ExpansionMacroName' />
									<argument exp='MacroName' />
									<argument exp='.TestHandle' />
								</command>
								<command class_type='calculation' title='Generate definition in C code to point to macro name' cmdcolor='7895044' cmdcolor_sec='7895044' >
									<exp exp='.Expansion = &quot;#define MX_MACRO1 &quot;' />
									<exp exp='.Expansion = .Expansion + .ExpansionMacroName' />
									<exp exp='.Expansion = .Expansion + &quot;\n&quot;' />
								</command>
							</flowline>
							<flowline />
						</command>
						<command class_type='decision' title='MacroParams Property?' cmdcolor='3568629' cmdcolor_sec='3568629' exp='Compare$ (.PropName,&quot;MacroParams&quot;,0) == 0' swap='0' >
							<flowline >
								<command class_type='calculation' title='Generate definition in C code to point to parameter set' cmdcolor='7895044' cmdcolor_sec='7895044' >
									<exp exp='.Expansion = &quot;#define PARAM_SET &quot;' />
									<exp exp='.Expansion = .Expansion + ToString$ (MacroParams)' />
									<exp exp='.Expansion = .Expansion + &quot;\n&quot;' />
								</command>
							</flowline>
							<flowline />
						</command>
					</flowline>
				</macro>
				<macro >
					<flowline name='ComponentMacro' description='' >
						<return name='Return' type='v0' description='' isconst='0' isinit='0' usrinit='' setinit='' />
						<command class_type='native' title='Setup Call Variables' ccode='
#if PARAM_SET &gt; 5
    MX_UINT16 a;
#endif

#if PARAM_SET &gt; 8
    MX_UINT16 b, c;
#endif

#if PARAM_SET &gt; 10
    MX_UINT8 i;
    MX_UINT8 temp_str[31] = &quot;&quot;;
#endif


' cmdcolor='3389439' cmdcolor_sec='3389439' language='C' />
						<command class_type='native' title='Call User Macro With Parameters From Data Array' textarea='42,-10,42,-10' ccode='#if PARAM_SET == 0
    MX_MACRO1();
#endif

#if PARAM_SET == 1                                        //Params MX_UINT8
    MX_MACRO1(data[0]);
#endif

#if PARAM_SET == 2                                        //Params MX_UINT8, MX_UINT8
    MX_MACRO1(data[0],data[1]);
#endif

#if PARAM_SET == 3                                        //Params MX_UINT8, MX_UINT8, MX_UINT8
    MX_MACRO1(data[0],data[1],data[2]);
#endif

#if PARAM_SET == 4                                        //Params MX_UINT8, MX_UINT8, MX_UINT8, MX_UINT8
    MX_MACRO1(data[0],data[1],data[2],data[3]);
#endif

#if PARAM_SET == 5                                        //Params MX_UINT8, MX_UINT8, MX_UINT8, MX_UINT8, MX_UINT8
    MX_MACRO1(data[0],data[1],data[2],data[3],data[4]);
#endif

#if PARAM_SET == 6                                        //Params MX_UINT16
    a = data[0] | (data[1] &lt;&lt; 8);
    MX_MACRO1(a);
#endif

#if PARAM_SET == 7                                        //Params MX_UINT16, MX_UINT8
    a = data[0] | (data[1] &lt;&lt; 8);
    MX_MACRO1(a,data[2]);
#endif

#if PARAM_SET == 8                                        //Params MX_UINT16, MX_UINT8, MX_UINT8
    a = data[0] | (data[1] &lt;&lt; 8);
    MX_MACRO1(a,data[2],data[3]);
#endif

#if PARAM_SET == 9                                        //Params MX_UINT16, MX_UINT16
    a = data[0] | (data[1] &lt;&lt; 8);
    b = data[2] | (data[3] &lt;&lt; 8);
    MX_MACRO1(a, b);
#endif

#if PARAM_SET == 10                                        //Params MX_UINT16, MX_UINT16, MX_UINT16
    a = data[0] | (data[1] &lt;&lt; 8);
    b = data[2] | (data[3] &lt;&lt; 8);
    c = data[4] | (data[5] &lt;&lt; 8);
    MX_MACRO1(a, b, c);
#endif

#if PARAM_SET == 11                                        //Params string
    for (i=0; i&lt;(FCL_LENGTH); i++)
    {
	    temp_str[i] = data[i];
    }
    MX_MACRO1(temp_str);
#endif

#if PARAM_SET == 12                                        //Params MX_UINT8, string
    for (i=0; i&lt;(FCL_LENGTH - 1); i++)
    {
	    temp_str[i] = data[i+1];
    }
    MX_MACRO1(data[0], temp_str);
#endif

#if PARAM_SET == 13                                        //Params MX_UINT16, string
    a = data[0] | (data[1] &lt;&lt;; 8);
    for (i=0; i&lt;(FCL_LENGTH - 2); i++)
    {
	    temp_str[i] = data[i+2];
    }
    MX_MACRO1(a, temp_str);
#endif

' cmdcolor='3389439' cmdcolor_sec='3389439' language='C' />
					</flowline>
				</macro>
				<macro >
					<flowline name='Main' description='' >
						<return name='Return' type='v0' description='' isconst='0' isinit='0' usrinit='' setinit='' />
					</flowline>
				</macro>
			</macros>
		</component>
	</components>
	<keymap />
	<panel2d shadows='0' lighting='2' brightness='0' perspective='0' >
		<background rgb='2105930' img='' style='0' />
		<camera xe='0' ye='0' ze='300' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
	</panel2d>
	<panel3d shadows='0' lighting='2' brightness='0' perspective='0' >
		<background rgb='8409120' img='' style='0' />
		<table rgb='7360576' img='' style='0' size='25' />
		<camera xe='0' ye='0' ze='300' xt='0' yt='0' zt='0' xquat='0' yquat='0' zquat='0' wquat='1' />
		<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' />
	</panel3d>
	<layout >
		<view type='0' name='ComponentMacro' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAWAEAAJkCAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Ev_AddProperty' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAWAEAAJkCAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
		<view type='0' name='Main' mode='0' placement='LAAAAAAAAAABAAAA---------------------wUAAAAYAAAAWAEAAJkCAAA' zoom='75' scrollx='0' scrolly='0' flags='0' />
	</layout>
</document>
</root>
