<!-- CRC: 90CF26913586BBA787FE92D55377193346EADD760FE0480E1133EE9487C6DB34DA6183FD7E79AA9B6577EF8789F001E8A99365E6319B07079C40BB93043A73C91BE27671FCFB7325D8DA408700E5719BB28CA0DC15F001EDF844C4CBC380BCF4F9B1FCAE7B9652039E823B2AC8ABEBB95EFAD024329EB98DE57849D9616D6BCAECADBD47DB232DA0E34452E1097B6C1E427FFE81F3C6AC319A61CCD40A1016E8604D23BE304EFBB8086944AE325796A6FDE3E31283D6979ED02BF08D8B6B57C1CBE1B7B9F7D00F4314E084950FA5CC8F5270B55B262AFD36 -->
<!-- REVISION: 1.0 -->
<!-- GUID: 692B8C74-F6D6-4F8F-86D9-693B4DBD7079 -->
<!-- DATE: 19\11\2024 -->
<!-- DIR: FCD\PIC\18F15Q41.fcdx -->





<root>
<device name='18F15Q41' product='PIC' cal='PIC' family='18F' bits='8' >
    <clock max_speed='64000000' master_divider='4' default='19660800' />
    <memory >
        <flash bytes='65536' />
        <ram bytes='4096' />
    </memory>
    <configuration address='1' mult='2' >
        <format >
            <word value='0xFEFA' />
            <word value='0xF6F5' />
            <word value='0xFF80' />
            <word value='0xDFFF' />
            <word value='0xFFFF' />
        </format>
        <setting />
        <settings >
            <setting name='FEXTOSC' offset='0' mask='7' bits='3' hint='External Oscillator Mode' >
		<option name='External Clock &gt; 8MHz' value='7' />
		<option name='External Clock &gt; 500KHz &lt; 8MHz' value='6' />
                <option name='External Clock &lt; 500KHz' value='5' />
                <option name='OSC Disabled' value='4' />
                <option name='HS' value='2' />
                <option name='XT' value='1' />
                <option name='LP' value='0' />
            </setting>
            <setting name='RSTOSC' offset='4' mask='7' bits='3' hint='Default Oscillator' >
		<option name='EXTOSC - FEXTOSC' value='7' />
                <option name='HFINTOSC with HFFRQ = 4MHz' value='6' />
                <option name='LFINTOSC' value='5' />
                <option name='SOSC' value='4' />
                <option name='EXTOSC with 4x PLL' value='2' />
                <option name='HFINTOSC with HFFRQ = 64MHz' value='0' />
            </setting>
            <setting name='CLKOUTEN' offset='8' mask='1' bits='1' hint='Clock Out Enable' >
                <option name='CLKOUT is Disabled' value='1' />
                <option name='CLKOUT is Enabled' value='0' />
            </setting>
            <setting name='PR1WAY' offset='9' mask='1' bits='1' hint='PR One-Way Set Enable' >
                <option name='PR can be set once' value='1' />
                <option name='PR can be set and cleared as needed' value='0' />
            </setting>
            <setting name='CSWEN' offset='11' mask='1' bits='1' hint='Clock Switch Enable' >
                <option name='Disabled' value='0' />
                <option name='Enabled' value='1' />
            </setting>
            <setting name='FCMEN' offset='13' mask='1' bits='1' hint='Fail-Safe Clock Monitor Enable' >
                <option name='Disabled' value='0' />
                <option name='Enabled' value='1' />
            </setting>
            <setting name='MCLRE' offset='16' mask='1' bits='1' hint='Master Clear Enable' >
                <option name='MCLR Enabled,RE3 Disabled' value='1' />
                <option name='MCLR Disabled,RE3 Enabled' value='0' />
            </setting>
            <setting name='PWRTS' offset='17' mask='3' bits='2' hint='Power Up Timer Enable' >
                <option name='Disabled' value='3' />
                <option name='Enabled 64ms' value='2' />
                <option name='Enabled 16ms' value='1' />
                <option name='Enabled 1ms' value='0' />
            </setting>
            <setting name='MVECEN' offset='19' mask='1' bits='1' hint='Multi Vector Enable' >
                <option name='Multi Vector Interrupts Enabled' value='1' />
                <option name='Single Vector Interrupts Enabled' value='0' />
            </setting>
            <setting name='IVT1WAY' offset='20' mask='1' bits='1' hint='Interrupt Vector Table One-Way Set Enable' >
                <option name='IVT can be set once' value='1' />
                <option name='IVT can be set and cleared as needed' value='0' />
            </setting>
            <setting name='LPBOREN' offset='21' mask='1' bits='1' hint='Low Power Brown Out' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='BODEN' offset='22' mask='3' bits='2' hint='Brown Out Detect' >
                <option name='Enabled in hardware, SBOREN disabled' value='3' />
                <option name='Enabled while active,disabled in SLEEP,SBOREN disabled' value='2' />
                <option name='Controlled with SBOREN bit' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='BODENV' offset='24' mask='3' bits='2' hint='Brown Out Voltage' >
                <option name='1.9V' value='3' />
                <option name='2.45V' value='2' />
                <option name='2.7V' value='1' />
                <option name='2.85V' value='0' />
            </setting>
            <setting name='ZCD' offset='26' mask='1' bits='1' hint='ZCD Disable Bit' >
            	<option name='Disabled' value='1' />
                <option name='ZCD always Enabled' value='0' />
            </setting>
            <setting name='PPS1WAY' offset='27' mask='1' bits='1' hint='PPS One-Way Set Enable' >
                <option name='PPS can be set once' value='1' />
                <option name='PPS can be set and cleared as needed' value='0' />
            </setting>
            <setting name='STVR' offset='28' mask='1' bits='1' hint='Stack Overflow Reset' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='DEBUG' offset='29' mask='1' bits='1' hint='Debugger Enable Bit' >
            	<option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='XINST' offset='31' mask='1' bits='1' hint='Extended CPU Enable' >
            	<option name='Disabled' value='1' />
                <option name='Enabled - Not Recommended' value='0' />
            </setting>
            <setting name='WDTCPS' offset='32' mask='31' bits='5' hint='Watchdog Postscaler' >
                <option name='1:8388608 256s' value='18' />
                <option name='1:4194304 128s' value='17' />
                <option name='1:2097152 64s' value='16' />
                <option name='1:1048576 32s' value='15' />
                <option name='1:524299 16s' value='14' />
                <option name='1:262144 8s' value='13' />
                <option name='1:131072 4s' value='12' />
                <option name='1:65536 2s' value='11' />
                <option name='1:32768 1s' value='10' />
                <option name='1:16384 512ms' value='9' />
                <option name='1:8192 256ms' value='8' />
                <option name='1:4096 128ms' value='7' />
                <option name='1:2048 64ms' value='6' />
                <option name='1:1024 32ms' value='5' />
                <option name='1:512 16ms' value='4' />
                <option name='1:256 8ms' value='3' />
                <option name='1:128 4ms' value='2' />
                <option name='1:64 2ms' value='1' />
                <option name='1:32 1ms' value='0' />
            </setting>
            <setting name='WDTE' offset='37' mask='3' bits='2' hint='Watchdog Timer' >
                <option name='Enabled' value='3' />
                <option name='Enabled while awake' value='2' />
                <option name='Enabled/Disabled by WDTCON0bits.SEN' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='WDTCPS' offset='40' mask='7' bits='3' hint='WDT Window' >
                <option name='100%' value='7' />
                <option name='75%' value='5' />
                <option name='62.5%' value='4' />
                <option name='50%' value='3' />
                <option name='37.5%' value='2' />
                <option name='25%' value='1' />
                <option name='12.5%' value='0' />
            </setting>
            <setting name='WDTE' offset='43' mask='7' bits='3' hint='WDT Input Clock' >
                <option name='Software Control' value='7' />
                <option name='WDT Clock is SOSC' value='2' />
                <option name='WDT Clock is 31.25KHz HFINTOSC' value='1' />
                <option name='WDT Clock is 31KHz LFINTOSC' value='0' />
            </setting>
            <setting name='BBSIZE' offset='48' mask='7' bits='3' hint='Boot Block Size' >
            	<option name='512 Words' value='7' />
            	<option name='1024 Words' value='6' />
            	<option name='2048 Words' value='5' />
                <option name='4096 Words' value='4' />
                <option name='8192 Words' value='3' />
                <option name='16384 Words' value='2' />
                <option name='32768 Words' value='0' />
            </setting>
            <setting name='BBEN' offset='51' mask='1' bits='1' hint='Boot Block Enable' >
                <option name='BB Disabled' value='1' />
                <option name='BB Enabled' value='0' />
            </setting>
            <setting name='SAFEN' offset='52' mask='1' bits='1' hint='Storage Area Flash Enable' >
                <option name='SAF Disabled' value='1' />
                <option name='SAF Enabled' value='0' />
            </setting>
            <setting name='WRTAPP' offset='55' mask='1' bits='1' hint='Application Block Write Protect' >
                <option name='Application Block Not Write Protected' value='1' />
                <option name='Application Block Write Protected' value='0' />
            </setting>
            <setting name='WRTB' offset='56' mask='1' bits='1' hint='Boot Block Write Protect' >
                <option name='Not Write Protected' value='1' />
                <option name='Write Protected' value='0' />
            </setting>
            <setting name='WRTC' offset='57' mask='1' bits='1' hint='Config Register Write Protect' >
                <option name='Not Write Protected' value='1' />
                <option name='Write Protected' value='0' />
            </setting>
            <setting name='WRTD' offset='58' mask='1' bits='1' hint='Data EEPROM Write Protect' >
                <option name='Not Write Protected' value='1' />
                <option name='Write Protected' value='0' />
            </setting>
            <setting name='WRTSAF' offset='59' mask='1' bits='1' hint='Storage Area Flash Write Protect' >
                <option name='Not Write Protected' value='1' />
                <option name='Write Protected' value='0' />
            </setting>
            <setting name='LVP' offset='61' mask='1' bits='1' hint='Low Voltage Program' >
                <option name='Enabled - Not Recommended' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='CP' offset='64' mask='1' bits='1' hint='User NVM Program Memory Code Protect' >
                <option name='Not Code Protected' value='1' />
                <option name='Code Protected' value='0' />
            </setting>
        </settings>
    </configuration>
    <pins sides='2' smd='0' >
		<pin name='VDD' />
		<pin name='RA5/AN5' port='0' bit='5' adc='5' rpbank='a' rpreg='RA5PPS' rpnum='5' />
		<pin name='RA4/AN4' port='0' bit='4' adc='4' rpbank='a' rpreg='RA4PPS' rpnum='4' />
        <pin name='RA3/AN3/MCLR/VPP' port='0' bit='3' rpbank='a' rpreg='RA3PPS' rpnum='3' />
	    <pin name='RC5/AN15' port='2' bit='5' adc='15' rpbank='c' rpreg='RC5PPS' rpnum='15' />	
        <pin name='RC4/AN14' port='2' bit='4' adc='14' rpbank='c' rpreg='RC4PPS' rpnum='14' /> 
		<pin name='RC3/AN13' port='2' bit='3' adc='13' rpbank='c' rpreg='RC3PPS' rpnum='13' />       	
		<pin name='RC6/AN16' port='2' bit='6' adc='16' rpbank='c' rpreg='RC6PPS' rpnum='16' />
		<pin name='RC7/AN17' port='2' bit='7' adc='17' rpbank='c' rpreg='RC7PPS' rpnum='17' />
		<pin name='RB7/AN9' port='1' bit='7' adc='9' rpbank='b' rpreg='RB7PPS' rpnum='9' />
		<pin name='RB6/AN8' port='1' bit='6' adc='8' rpbank='b' rpreg='RB6PPS' rpnum='8' />
		<pin name='RB5/AN7' port='1' bit='5' adc='7' rpbank='b' rpreg='RB5PPS' rpnum='7' />
		<pin name='RB4/AN6' port='1' bit='4' adc='6' rpbank='b' rpreg='RB4PPS' rpnum='6' />
        <pin name='RC2/AN12' port='2' bit='2' adc='12' rpbank='c' rpreg='RC2PPS' rpnum='12' />   
		<pin name='RC1/AN11' port='2' bit='1' adc='11' rpbank='c' rpreg='RC1PPS' rpnum='11' />
	    <pin name='RC0/AN10' port='2' bit='0' adc='10' rpbank='c' rpreg='RC0PPS' rpnum='10' />
        <pin name='RA2/AN2/VREF-' port='0' bit='2' adc='2' rpbank='a' rpreg='RA2PPS' rpnum='2' />
		<pin name='RA1/AN1/PGC' port='0' bit='1' adc='1' rpbank='a' rpreg='RA1PPS' rpnum='1' />
		<pin name='RA0/AN0/PGD' port='0' bit='0' adc='0' rpbank='a' rpreg='RA0PPS' rpnum='0' />       
        <pin name='VSS' />
    </pins>
        <adc type='40' bits='12' >
        <speed >
            <option name='Fosc / 2' value='0' />
            <option name='Fosc / 4' value='1' />
            <option name='Fosc / 8' value='3' />
            <option name='Fosc / 12' value='5' />
            <option name='Fosc / 16' value='7' />
            <option name='Fosc / 20' value='9' />
            <option name='Fosc / 24' value='11' />
            <option name='Fosc / 28' value='13' />
            <option name='Fosc / 32' value='15' />
            <option name='Fosc / 36' value='17' />
            <option name='Fosc / 40' value='19' />
            <option name='Fosc / 48' value='23' />
            <option name='Fosc / 64' value='31' />
            <option name='FRC' value='128' />
        </speed>
        <vref>
            <option name='VDD' value='0' />
            <option name='Vref+' value='2' />
            <option name='FVR' value='3' />
        </vref>
    </adc>
    <fvr>
        <option name='Disabled' value='FVRCON = 0x00;' />
    	<option name='1.024V' value='FVRCON = 0x81;' />
    	<option name='2.048V' value='FVRCON = 0x82;' />
    	<option name='4.096V' value='FVRCON = 0x83;' />
    </fvr>
    <eeprom type='6' bytes='1024' />
    <spi remappable='1' >
        <miso rpreg='SSP1DATPPS' rpbank='b' arpreg='SSP1DATPPS' arpbank='c' />
        <mosi rpnum='14' rpbank='b' arpnum='14' arpbank='c' />
        <clk rpreg='SSP1CLKPPS' rpnum='13' rpbank='b' arpreg='SSP1CLKPPS' arpnum='13' arpbank='c' />
        <ss rpreg='SSP1SSPPS' rpbank='a' arpreg='SSP1SSPPS' arpbank='c' />
    </spi>
    <spi remappable='1' >
        <miso rpreg='SSP2DATPPS' rpbank='b' arpreg='SSP2DATPPS' arpbank='c' />
        <mosi rpnum='18' rpbank='b' arpnum='18' arpbank='c' />
        <clk rpreg='SSP2CLKPPS' rpnum='17' rpbank='b' arpreg='SSP2CLKPPS' arpnum='17' arpbank='c' />
        <ss rpreg='SSP2SSPPS' rpbank='a' arpreg='SSP2SSPPS' arpbank='c' />
    </spi>
    <uart remappable='1' >
        <tx rpnum='9' rpbank='b' arpnum='9' arpbank='c' />
        <rx rpreg='RX1PPS' rpbank='b' arpreg='RX1PPS' arpbank='c' />
    </uart>
    <uart remappable='1' >
        <tx rpnum='11' rpbank='b' arpnum='11' arpbank='c' />
        <rx rpreg='RX2PPS' rpbank='b' arpreg='RX2PPS' arpbank='c' />
    </uart>
    <i2c master='1' remappable='1' >
        <sda rpreg='SSP1DATPPS' rpnum='14' rpbank='b' arpreg='SSP1DATPPS' arpnum='14' arpbank='c' />
        <scl rpreg='SSP1CLKPPS' rpnum='13' rpbank='b' arpreg='SSP1CLKPPS' arpnum='13' arpbank='c' />
    </i2c>
    <i2c master='1' remappable='1' >
        <sda rpreg='SSP2DATPPS' rpnum='18' rpbank='b' arpreg='SSP2DATPPS' arpnum='18' arpbank='c' />
        <scl rpreg='SSP2CLKPPS' rpnum='17' rpbank='b' arpreg='SSP2CLKPPS' arpnum='17' arpbank='c' />
    </i2c>
    <pwm remappable='1' >
    	<timer>
    	    <option name='Timer2' value='2' />
    	    <option name='Timer4' value='4' />
    	    <option name='Timer6' value='6' />
    	</timer>
        <prescaler >
            <option name='1' value='1' />
            <option name='4' value='4' />
            <option name='16' value='16' />
        </prescaler>
        <out rpnum='5' rpbank='b' arpnum='5' arpbank='c' />
        <out rpnum='6' rpbank='b' arpnum='6' arpbank='c' />
        <out rpnum='7' rpbank='a' arpnum='6' arpbank='c' pwmtype='1' />
        <out rpnum='8' rpbank='a' arpnum='6' arpbank='c' pwmtype='1' />
    </pwm>
    <intosc>
        <option name='1000000' value='OSCFRQ = 0x00;' /> 
        <option name='2000000' value='OSCFRQ = 0x01;' /> 
        <option name='4000000' value='OSCFRQ = 0x02;' /> 
        <option name='8000000' value='OSCFRQ = 0x03;' /> 
        <option name='12000000' value='OSCFRQ = 0x04;' /> 
	    <option name='16000000' value='OSCFRQ = 0x05;' /> 
    	<option name='32000000' value='OSCFRQ = 0x06;' /> 
    	<option name='48000000' value='OSCFRQ = 0x07;' /> 
    	<option name='64000000' value='OSCFRQ = 0x08;' default='1' /> 
    </intosc>
    <interrupts >
        <interrupt ident='TMR0' regl='TMR0' regh='' type='timer8' name='Timer 0' handler='#ifndef MX_INTHANDLER_PIR3_TMR0IF\n#define MX_INTHANDLER_PIR3_TMR0IF\nif (ts_bit(PIR3, TMR0IF) &amp;&amp; ts_bit(PIE3, TMR0IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR3, TMR0IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE3, TMR0IE);\n' disable='cr_bit(PIE3, TMR0IE);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T0CKI pin  (Non-inverted)' clkdiv='0' value='T0CON1 = (T0CON1 &amp; 0xE0);\n' />
					<entry name='Transition on T0CKI pin  (Inverted)' clkdiv='0' value='T0CON1 = (T0CON1 &amp; 0xE0) | 0x20;\n' />
                    <entry name='Internal clock /4 (CLKO)' clkdiv='4' value='T0CON1 = (T0CON1 &amp; 0xE0) | 0x40;\n' />
                    <entry name='HFINTOSC (CLKO)' clkdiv='0' value='T0CON1 = (T0CON1 &amp; 0xE0) | 0x60;\n' />
                    <entry name='LFINTOSC (CLKO)' clkdiv='0' value='T0CON1 = (T0CON1 &amp; 0xE0) | 0x80;\n' />
					<entry name='MFINTOSC (500KHz CLKO)' clkdiv='0' value='T0CON1 = (T0CON1 &amp; 0xE0) | 0xA0;\n' />
					<entry name='SOSC' clkdiv='0' value='T0CON1 = (T0CON1 &amp; 0xE0) | 0xC0;\n' />
					<entry name='CLC1_OUT' clkdiv='0' value='T0CON1 = (T0CON1 &amp; 0xE0) | 0xE0;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T0CON1 = T0CON1 &amp; 0xF0;\n' />
                    <entry name='1:2' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x01;\n' />
                    <entry name='1:4' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x02;\n' />
                    <entry name='1:8' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x03;\n' />
                    <entry name='1:16' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x04;\n' />
                    <entry name='1:32' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x05;\n' />
                    <entry name='1:64' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x06;\n' />
                    <entry name='1:128' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x07;\n' />
                    <entry name='1:256' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x08;\n' />
                    <entry name='1:512' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x09;\n' />
                    <entry name='1:1024' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0A;\n' />
                    <entry name='1:2048' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0B;\n' />
                    <entry name='1:4096' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0C;\n' />
                    <entry name='1:8192' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0D;\n' />
                    <entry name='1:16384' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0E;\n' />
                    <entry name='1:32768' value='T0CON1 = (T0CON1 &amp; 0xF0) | 0x0F;\n' />
                </prescale>
                <postscale name='Postscaler Rate' >
                    <entry name='1:1' value='T0CON0 = 0x80;\n' />
                    <entry name='1:2' value='T0CON0 = 0x81;\n' />
                    <entry name='1:3' value='T0CON0 = 0x82;\n' />
                    <entry name='1:4' value='T0CON0 = 0x83;\n' />
                    <entry name='1:5' value='T0CON0 = 0x84;\n' />
                    <entry name='1:6' value='T0CON0 = 0x85;\n' />
                    <entry name='1:7' value='T0CON0 = 0x86;\n' />
                    <entry name='1:8' value='T0CON0 = 0x87;\n' />
                    <entry name='1:9' value='T0CON0 = 0x88;\n' />
                    <entry name='1:10' value='T0CON0 = 0x89;\n' />
                    <entry name='1:11' value='T0CON0 = 0x8A;\n' />
                    <entry name='1:12' value='T0CON0 = 0x8B;\n' />
                    <entry name='1:13' value='T0CON0 = 0x8C;\n' />
                    <entry name='1:14' value='T0CON0 = 0x8D;\n' />
                    <entry name='1:15' value='T0CON0 = 0x8E;\n' />
                    <entry name='1:16' value='T0CON0 = 0x8F;\n' />
                </postscale>
            </options>
        </interrupt>
        <interrupt ident='TMR1' regl='TMR1L' regh='TMR1H' type='timer16' name='Timer 1' handler='#ifndef MX_INTHANDLER_PIR3_TMR1IF\n#define MX_INTHANDLER_PIR3_TMR1IF\nif (ts_bit(PIR3, TMR1IF) &amp;&amp; ts_bit(PIE3, TMR1IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR3, TMR1IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE3, TMR1IE);\nst_bit(PIE3, TMR1IE);\n' disable='cr_bit(PIE3, TMR1IE);\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T1CKI pin' clkdiv='0' value='TMR1CLK = 0;\n' />
                    <entry name='Internal clock (Fosc/4)' clkdiv='4' value='TMR1CLK = 1;\n' />
                    <entry name='Internal clock (Fosc/1)' clkdiv='1' value='TMR1CLK = 2;\n' />
                    <entry name='HFINTOSC' clkdiv='0' value='TMR1CLK = 3;\n' />
                    <entry name='LFINTOSC' clkdiv='0' value='TMR1CLK = 4;\n' />
                    <entry name='MFINTOSC' clkdiv='0' value='TMR1CLK = 5;\n' />
                    <entry name='SOSC' clkdiv='0' value='TMR1CLK = 6;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T1CON = (T1CON &amp; 0xCF) | 0x01;\n' />
                    <entry name='1:2' value='T1CON = (T1CON &amp; 0xCF) | 0x11;\n' />
                    <entry name='1:4' value='T1CON = (T1CON &amp; 0xCF) | 0x21;\n' />
                    <entry name='1:8' value='T1CON = (T1CON &amp; 0xCF) | 0x31;\n' />
                </prescale>
            </options>
        </interrupt>
        <interrupt ident='TMR2' regl='T2TMR' regh='' type='timer8' name='Timer 2' handler='#ifndef MX_INTHANDLER_PIR3_TMR2IF\n#define MX_INTHANDLER_PIR3_TMR2IF\nif (ts_bit(PIR3, TMR2IF) &amp;&amp; ts_bit(PIE3, TMR2IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR3, TMR2IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif' enable='st_bit(PIE3, TMR2IE);\nst_bit(PIE3, TMR2IE);\n' disable='cr_bit(PIE3, TMR2IE);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T2CKI pin' clkdiv='0' value='0 = 0;\n' />
                    <entry name='Internal clock (Fosc/4)' clkdiv='4' value='T2CLKCON = 1;\n' />
                    <entry name='Internal clock (Fosc/1)' clkdiv='1' value='T2CLKCON = 2;\n' />
                    <entry name='HFINTOSC' clkdiv='0' value='T2CLKCON = 3;\n' />
                    <entry name='LFINTOSC' clkdiv='0' value='T2CLKCON = 4;\n' />
                    <entry name='MFINTOSC (32KHz)' clkdiv='0' value='T2CLKCON = 5;\n' />
                     <entry name='MFINTOSC (500KHz)' clkdiv='0' value='T2CLKCON = 6;\n' />
					<entry name='SOSC' clkdiv='0' value='T2CLKCON = 7;\n' />
					<entry name='EXTOSC' clkdiv='0' value='T2CLKCON = 8;\n' />
					<entry name='CLKREF_OUT' clkdiv='0' value='T2CLKCON = 9;\n' />
					<entry name='NCO1_OUT' clkdiv='0' value='T2CLKCON = 10;\n' />
					<entry name='ZCD_OUT' clkdiv='0' value='T2CLKCON = 11;\n' />
					<entry name='CLC1_OUT' clkdiv='0' value='T2CLKCON = 12;\n' />
					<entry name='CLC2_OUT' clkdiv='0' value='T2CLKCON = 13;\n' />
					<entry name='CLC3_OUT' clkdiv='0' value='T2CLKCON = 14;\n' />
					<entry name='CLC4_OUT' clkdiv='0' value='T2CLKCON = 15;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T2CON = (T2CON &amp; 0x0F) | 0x80;\n' />
                    <entry name='1:2' value='T2CON = (T2CON &amp; 0x0F) | 0x90;\n' />
                    <entry name='1:4' value='T2CON = (T2CON &amp; 0x0F) | 0xA0;\n' />
                    <entry name='1:8' value='T2CON = (T2CON &amp; 0x0F) | 0xB0;\n' />
                    <entry name='1:16' value='T2CON = (T2CON &amp; 0x0F) | 0xC0;\n' />
                    <entry name='1:32' value='T2CON = (T2CON &amp; 0x0F) | 0xD0;\n' />
                    <entry name='1:64' value='T2CON = (T2CON &amp; 0x0F) | 0xE0;\n' />
                    <entry name='1:128' value='T2CON = (T2CON &amp; 0x0F) | 0xF0;\n' />
                </prescale>
                <postscale name='Postscaler Rate' >
                    <entry name='1:1' value='T2CON = T2CON &amp; 0xF0;\n' />
                    <entry name='1:2' value='T2CON = (T2CON &amp; 0xF0) | 0x01;\n' />
                    <entry name='1:3' value='T2CON = (T2CON &amp; 0xF0) | 0x02;\n' />
                    <entry name='1:4' value='T2CON = (T2CON &amp; 0xF0) | 0x03;\n' />
                    <entry name='1:5' value='T2CON = (T2CON &amp; 0xF0) | 0x04;\n' />
                    <entry name='1:6' value='T2CON = (T2CON &amp; 0xF0) | 0x05;\n' />
                    <entry name='1:7' value='T2CON = (T2CON &amp; 0xF0) | 0x06;\n' />
                    <entry name='1:8' value='T2CON = (T2CON &amp; 0xF0) | 0x07;\n' />
                    <entry name='1:9' value='T2CON = (T2CON &amp; 0xF0) | 0x08;\n' />
                    <entry name='1:10' value='T2CON = (T2CON &amp; 0xF0) | 0x09;\n' />
                    <entry name='1:11' value='T2CON = (T2CON &amp; 0xF0) | 0x0A;\n' />
                    <entry name='1:12' value='T2CON = (T2CON &amp; 0xF0) | 0x0B;\n' />
                    <entry name='1:13' value='T2CON = (T2CON &amp; 0xF0) | 0x0C;\n' />
                    <entry name='1:14' value='T2CON = (T2CON &amp; 0xF0) | 0x0D;\n' />
                    <entry name='1:15' value='T2CON = (T2CON &amp; 0xF0) | 0x0E;\n' />
                    <entry name='1:16' value='T2CON = (T2CON &amp; 0xF0) | 0x0F;\n' />
                </postscale>
                <rollover name='Rollover Value' >
                    <entry name='256' min='1' max='256' value='T2PR=%d-1;\n' />
                </rollover>
            </options>
   </interrupt>
        <interrupt ident='TMR3' regl='TMR3L' regh='TMR3H' type='timer16' name='Timer 3' handler='#ifndef MX_INTHANDLER_PIR4_TMR3IF\n#define MX_INTHANDLER_PIR4_TMR3IF\nif (ts_bit(PIR4, TMR3IF) &amp;&amp; ts_bit(PIE4, TMR3IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR4, TMR3IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE4, TMR3IE);\nst_bit(PIE4, TMR3IE);\n' disable='cr_bit(PIE4, TMR3IE);\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T3CKI pin' clkdiv='0' value='TMR3CLK = 0;\n' />
                    <entry name='Internal clock (Fosc/4)' clkdiv='4' value='TMR3CLK = 1;\n' />
                    <entry name='Internal clock (Fosc/1)' clkdiv='1' value='TMR3CLK = 2;\n' />
                    <entry name='HFINTOSC' clkdiv='0' value='TMR3CLK = 3;\n' />
                    <entry name='LFINTOSC' clkdiv='0' value='TMR3CLK = 4;\n' />
                    <entry name='MFINTOSC' clkdiv='0' value='TMR3CLK = 5;\n' />
                    <entry name='SOSC' clkdiv='0' value='TMR3CLK = 6;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T3CON = (T3CON &amp; 0xCF) | 0x01;\n' />
                    <entry name='1:2' value='T3CON = (T3CON &amp; 0xCF) | 0x11;\n' />
                    <entry name='1:4' value='T3CON = (T3CON &amp; 0xCF) | 0x21;\n' />
                    <entry name='1:8' value='T3CON = (T3CON &amp; 0xCF) | 0x31;\n' />
                </prescale>
            </options>
	</interrupt>
        <interrupt ident='TMR4' regl='T4TMR' regh='' type='timer8' name='Timer 4' handler='#ifndef MX_INTHANDLER_PIR10_TMR4IF\n#define MX_INTHANDLER_PIR10_TMR4IF\nif (ts_bit(PIR10, TMR4IF) &amp;&amp; ts_bit(PIE10, TMR4IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR10, TMR4IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif' enable='st_bit(PIE10, TMR4IE);\nst_bit(PIE10, TMR4IE);\n' disable='cr_bit(PIE10, TMR4IE);\n' >
            <timer overflow='256' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Transition on T4CKI pin' clkdiv='0' value='0 = 0;\n' />
                    <entry name='Internal clock (Fosc/4)' clkdiv='4' value='T4CLKCON = 1;\n' />
                    <entry name='Internal clock (Fosc/1)' clkdiv='1' value='T4CLKCON = 2;\n' />
                    <entry name='HFINTOSC' clkdiv='0' value='T4CLKCON = 3;\n' />
                    <entry name='LFINTOSC' clkdiv='0' value='T4CLKCON = 4;\n' />
                    <entry name='MFINTOSC (32KHz)' clkdiv='0' value='T4CLKCON = 5;\n' />
                     <entry name='MFINTOSC (500KHz)' clkdiv='0' value='T42CLKCON = 6;\n' />
					<entry name='SOSC' clkdiv='0' value='T4CLKCON = 7;\n' />
					<entry name='EXTOSC' clkdiv='0' value='T4CLKCON = 8;\n' />
					<entry name='CLKREF_OUT' clkdiv='0' value='T4CLKCON = 9;\n' />
					<entry name='NCO1_OUT' clkdiv='0' value='T4CLKCON = 10;\n' />
					<entry name='ZCD_OUT' clkdiv='0' value='T4CLKCON = 11;\n' />
					<entry name='CLC1_OUT' clkdiv='0' value='T4CLKCON = 12;\n' />
					<entry name='CLC2_OUT' clkdiv='0' value='T4CLKCON = 13;\n' />
					<entry name='CLC3_OUT' clkdiv='0' value='T4CLKCON = 14;\n' />
					<entry name='CLC4_OUT' clkdiv='0' value='T4CLKCON = 15;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T4CON = (T4CON &amp; 0x0F) | 0x80;\n' />
                    <entry name='1:2' value='T4CON = (T4CON &amp; 0x0F) | 0x90;\n' />
                    <entry name='1:4' value='T4CON = (T4CON &amp; 0x0F) | 0xA0;\n' />
                    <entry name='1:8' value='T4CON = (T4CON &amp; 0x0F) | 0xB0;\n' />
                    <entry name='1:16' value='T4CON = (T4CON &amp; 0x0F) | 0xC0;\n' />
                    <entry name='1:32' value='T4CON = (T4CON &amp; 0x0F) | 0xD0;\n' />
                    <entry name='1:64' value='T4CON = (T4CON &amp; 0x0F) | 0xE0;\n' />
                    <entry name='1:128' value='T4CON = (T4CON &amp; 0x0F) | 0xF0;\n' />
                </prescale>
                <postscale name='Postscaler Rate' >
                    <entry name='1:1' value='T4CON = T4CON &amp; 0xF0;\n' />
                    <entry name='1:2' value='T4CON = (T4CON &amp; 0xF0) | 0x01;\n' />
                    <entry name='1:3' value='T4CON = (T4CON &amp; 0xF0) | 0x02;\n' />
                    <entry name='1:4' value='T4CON = (T4CON &amp; 0xF0) | 0x03;\n' />
                    <entry name='1:5' value='T4CON = (T4CON &amp; 0xF0) | 0x04;\n' />
                    <entry name='1:6' value='T4CON = (T4CON &amp; 0xF0) | 0x05;\n' />
                    <entry name='1:7' value='T4CON = (T4CON &amp; 0xF0) | 0x06;\n' />
                    <entry name='1:8' value='T4CON = (T4CON &amp; 0xF0) | 0x07;\n' />
                    <entry name='1:9' value='T4CON = (T4CON &amp; 0xF0) | 0x08;\n' />
                    <entry name='1:10' value='T4CON = (T4CON &amp; 0xF0) | 0x09;\n' />
                    <entry name='1:11' value='T4CON = (T4CON &amp; 0xF0) | 0x0A;\n' />
                    <entry name='1:12' value='T4CON = (T4CON &amp; 0xF0) | 0x0B;\n' />
                    <entry name='1:13' value='T4CON = (T4CON &amp; 0xF0) | 0x0C;\n' />
                    <entry name='1:14' value='T4CON = (T4CON &amp; 0xF0) | 0x0D;\n' />
                    <entry name='1:15' value='T4CON = (T4CON &amp; 0xF0) | 0x0E;\n' />
                    <entry name='1:16' value='T4CON = (T4CON &amp; 0xF0) | 0x0F;\n' />
                </postscale>
                <rollover name='Rollover Value' >
                    <entry name='256' min='1' max='256' value='T4PR=%d-1;\n' />
                </rollover>
            </options>
		</interrupt>
        <interrupt ident='INT0' type='pin' name='INT0 Pin' handler='#ifndef MX_INTHANDLER_PIR1_INT0IF\n#define MX_INTHANDLER_PIR1_INT0IF\nif (ts_bit(PIR1, INT0IF) &amp;&amp; ts_bit(PIE1, INT0IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR1, INT0IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE1, INT0IE);\n' disable='cr_bit(PIE1, INT0IE);\n' >
            <ioc config='3' >
                <rising port='1' mask='1' />
                <falling port='1' mask='1' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='st_bit(INTCON0, INT0EDG);\n' />
                    <entry name='Falling edge of INT' value='cr_bit(INTCON0, INT0EDG);\n' />
                </edge>
				<pps name='Remapped Pin Selection' >
                    <entry name='B0' port='1' pin='0' value='INT0PPS = 0x08;\n' />
                    <entry name='A0' port='0' pin='0' value='INT0PPS = 0x00;\n' />
                    <entry name='A1' port='0' pin='1' value='INT0PPS = 0x01;\n' />
                    <entry name='A2' port='0' pin='2' value='INT0PPS = 0x02;\n' />
                    <entry name='A3' port='0' pin='3' value='INT0PPS = 0x03;\n' />
                    <entry name='A4' port='0' pin='4' value='INT0PPS = 0x04;\n' />
                    <entry name='A5' port='0' pin='5' value='INT0PPS = 0x05;\n' />
                    <entry name='A6' port='0' pin='6' value='INT0PPS = 0x06;\n' />
                    <entry name='A7' port='0' pin='7' value='INT0PPS = 0x07;\n' />
                    <entry name='B0' port='1' pin='0' value='INT0PPS = 0x08;\n' />
                    <entry name='B1' port='1' pin='1' value='INT0PPS = 0x09;\n' />
                    <entry name='B2' port='1' pin='2' value='INT0PPS = 0x0A;\n' />
                    <entry name='B3' port='1' pin='3' value='INT0PPS = 0x0B;\n' />
                    <entry name='B4' port='1' pin='4' value='INT0PPS = 0x0C;\n' />
                    <entry name='B5' port='1' pin='5' value='INT0PPS = 0x0D;\n' />
                    <entry name='B6' port='1' pin='6' value='INT0PPS = 0x0E;\n' />
                    <entry name='B7' port='1' pin='7' value='INT0PPS = 0x0F;\n' />                    
                </pps>
            </options>
        </interrupt>
        <interrupt ident='IOC0' type='multipin' name='IOC PORTB' handler='#ifndef MX_INTHANDLER_INTCON_RBIF\n#define MX_INTHANDLER_INTCON_RBIF\nchar mxtmp;\nif (ts_bit(PIR0, IOCIF) &amp;&amp; ts_bit(PIE0, IOCIE))\n{\n\tFCM_%n();\n\tmxtmp=PORTA;\n\tmxtmp=PORTB;\n\tmxtmp=PORTC;\n\tIOCAF=0;\n\tIOCBF=0;\n\tIOCCF=0;\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='IOCAP=%pA0h;\nIOCAN=%pA0l;\nIOCBP=%pB0h;\nIOCBN=%pB0l;\nIOCCP=%pC0h;\nIOCCN=%pC0l;st_bit(PIE0, IOCIE);\n' disable='cr_bit(PIE0, IOCIE);\n' >
            <ioc config='0x0F' >
                <rising port='0' mask='0xFF' />
                <rising port='1' mask='0xFF' />
                <rising port='2' mask='0xFF' />
                <falling port='0' mask='0xFF' />
                <falling port='1' mask='0xFF' />
                <falling port='2' mask='0xFF' />
            </ioc>          
        </interrupt>
        <interrupt ident='INT1' type='pin' name='INT1 Pin' handler='#ifndef MX_INTHANDLER_PIR6_INT1IF\n#define MX_INTHANDLER_PIR6_INT1IF\nif (ts_bit(PIR6, INT1IF) &amp;&amp; ts_bit(PIE6, INT1IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR6, INT1IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE6, INT1IE);\n' disable='cr_bit(PIE6, INT1IE);\n' >
            <ioc config='3' >
                <rising port='1' mask='2' />
                <falling port='1' mask='2' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='st_bit(INTCON0, INT1EDG);\n' />
                    <entry name='Falling edge of INT' value='cr_bit(INTCON0, INT1EDG);\n' />
                </edge>
                <pps name='Remapped Pin Selection' >
		            <entry name='B1' port='1' pin='1' value='INT1PPS = 0x09;\n' />                    
                    <entry name='A0' port='0' pin='0' value='INT1PPS = 0x00;\n' />
                    <entry name='A1' port='0' pin='1' value='INT1PPS = 0x01;\n' />
                    <entry name='A2' port='0' pin='2' value='INT1PPS = 0x02;\n' />
                    <entry name='A3' port='0' pin='3' value='INT1PPS = 0x03;\n' />
                    <entry name='A4' port='0' pin='4' value='INT1PPS = 0x04;\n' />
                    <entry name='A5' port='0' pin='5' value='INT1PPS = 0x05;\n' />
                    <entry name='A6' port='0' pin='6' value='INT1PPS = 0x06;\n' />
                    <entry name='A7' port='0' pin='7' value='INT1PPS = 0x07;\n' />
                    <entry name='B0' port='1' pin='0' value='INT1PPS = 0x08;\n' />
                    <entry name='B1' port='1' pin='1' value='INT1PPS = 0x09;\n' />
                    <entry name='B2' port='1' pin='2' value='INT1PPS = 0x0A;\n' />
                    <entry name='B3' port='1' pin='3' value='INT1PPS = 0x0B;\n' />
                    <entry name='B4' port='1' pin='4' value='INT1PPS = 0x0C;\n' />
                    <entry name='B5' port='1' pin='5' value='INT1PPS = 0x0D;\n' />
                    <entry name='B6' port='1' pin='6' value='INT1PPS = 0x0E;\n' />
                    <entry name='B7' port='1' pin='7' value='INT1PPS = 0x0F;\n' />                    
                </pps>
            </options>
        </interrupt>
        <interrupt ident='INT2' type='pin' name='INT2 Pin' handler='#ifndef MX_INTHANDLER_PIR10_INT2IF\n#define MX_INTHANDLER_PIR10_INT2IF\nif (ts_bit(PIR10, INT2IF) &amp;&amp; ts_bit(PIE10, INT2IE))\n{\n\tFCM_%n();\n\tcr_bit(PIR10, INT2IF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif\n' enable='st_bit(PIE10, INT2IE);\n' disable='cr_bit(PIE10, INT2IE);\n' >
            <ioc config='3' >
                <rising port='1' mask='4' />
                <falling port='1' mask='4' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='st_bit(INTCON0, INT2EDG);\n' />
                    <entry name='Falling edge of INT' value='cr_bit(INTCON0, INT2EDG);\n' />
                </edge>
                <pps name='Remapped Pin Selection' >
                    <entry name='B2' port='1' pin='2' value='INT2PPS = 0x0A;\n' />
                    <entry name='A0' port='0' pin='0' value='INT2PPS = 0x00;\n' />
                    <entry name='A1' port='0' pin='1' value='INT2PPS = 0x01;\n' />
                    <entry name='A2' port='0' pin='2' value='INT2PPS = 0x02;\n' />
                    <entry name='A3' port='0' pin='3' value='INT2PPS = 0x03;\n' />
                    <entry name='A4' port='0' pin='4' value='INT2PPS = 0x04;\n' />
                    <entry name='A5' port='0' pin='5' value='INT2PPS = 0x05;\n' />
                    <entry name='A6' port='0' pin='6' value='INT2PPS = 0x06;\n' />
                    <entry name='A7' port='0' pin='7' value='INT2PPS = 0x07;\n' />
                    <entry name='B0' port='1' pin='0' value='INT2PPS = 0x08;\n' />
                    <entry name='B1' port='1' pin='1' value='INT2PPS = 0x09;\n' />
                    <entry name='B2' port='1' pin='2' value='INT2PPS = 0x0A;\n' />
                    <entry name='B3' port='1' pin='3' value='INT2PPS = 0x0B;\n' />
                    <entry name='B4' port='1' pin='4' value='INT2PPS = 0x0C;\n' />
                    <entry name='B5' port='1' pin='5' value='INT2PPS = 0x0D;\n' />
                    <entry name='B6' port='1' pin='6' value='INT2PPS = 0x0E;\n' />
                    <entry name='B7' port='1' pin='7' value='INT2PPS = 0x0F;\n' />                    
                </pps>
            </options>
        </interrupt>
		<interrupt ident='RXINT0' type='comms' name='UART RXINT0' handler='#ifndef MX_INTHANDLER_PIR4_U1RXIF\n#define MX_INTHANDLER_PIR4_U1RXIF\nif (ts_bit(PIR4, U1RXIF) &amp;&amp; ts_bit(PIE4, U1RXIE))\n{\n\tFCM_%n();\n\tcr_bit(PIR4, U1RXIF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif' enable='st_bit(PIE4, U1RXIE);\nst_bit(PIE4, U1RXIE);\n' disable='cr_bit(PIE4, U1RXIE);\n' />
        <interrupt ident='TXINT0' type='comms' name='UART TXINT0' handler='#ifndef MX_INTHANDLER_PIR4_U1TXIF\n#define MX_INTHANDLER_PIR4_U1TXIF\nif (ts_bit(PIR4, U1TXIF) &amp;&amp; ts_bit(PIE4, U1TXIE))\n{\n\tFCM_%n();\n\tcr_bit(PIR4, U1TXIF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif' enable='st_bit(PIE4, U1TXIE);\nst_bit(PIE4, U1TXIE);\n' disable='cr_bit(PIE4, U1TXIE);\n' />
		<interrupt ident='RXINT1' type='comms' name='UART RXINT1' handler='#ifndef MX_INTHANDLER_PIR8_U2RXIF\n#define MX_INTHANDLER_PIR8_U2RXIF\nif (ts_bit(PIR8, U2RXIF) &amp;&amp; ts_bit(PIE8, U2RXIE))\n{\n\tFCM_%n();\n\tcr_bit(PIR8, U2RXIF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif' enable='st_bit(PIE8, U2RXIE);\nst_bit(PIE8, U2RXIE);\n' disable='cr_bit(PIE8, U2RXIE);\n' />
		<interrupt ident='TXINT1' type='comms' name='UART TXINT1' handler='#ifndef MX_INTHANDLER_PIR8_U2TXIF\n#define MX_INTHANDLER_PIR8_U2TXIF\nif (ts_bit(PIR8, U2TXIF) &amp;&amp; ts_bit(PIE8, U2TXIE))\n{\n\tFCM_%n();\n\tcr_bit(PIR8, U2TXIF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif' enable='st_bit(PIE8, U2TXIE);\nst_bit(PIE8, U2TXIE);\n' disable='cr_bit(PIE8, U2TXIE);\n' />
		<interrupt ident='RXINT2' type='comms' name='UART RXINT2' handler='#ifndef MX_INTHANDLER_PIR9_U3RXIF\n#define MX_INTHANDLER_PIR9_U3RXIF\nif (ts_bit(PIR9, U3RXIF) &amp;&amp; ts_bit(PIE9, U3RXIE))\n{\n\tFCM_%n();\n\tcr_bit(PIR9, U3RXIF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif' enable='st_bit(PIE9, U3RXIE);\nst_bit(PIE9, U3RXIE);\n' disable='cr_bit(PIE9, U3RXIE);\n' />
        <interrupt ident='TXINT2' type='comms' name='UART TXINT2' handler='#ifndef MX_INTHANDLER_PIR9_U3TXIF\n#define MX_INTHANDLER_PIR9_U3TXIF\nif (ts_bit(PIR9, U3TXIF) &amp;&amp; ts_bit(PIE9, U3TXIE))\n{\n\tFCM_%n();\n\tcr_bit(PIR9, U3TXIF);\n}\n#else\n#warning &quot;This interrupt has previously been enabled, so the macro &lt;%n&gt; may never get called.&quot;\n#endif' enable='st_bit(PIE9, U3TXIE);\nst_bit(PIE9, U3TXIE);\n' disable='cr_bit(PIE9, U3TXIE);\n' />
		  </interrupts>
</device>
<inline >
    <defines code="//Missing TRISE workaround\nunsigned char TRISE;\n\n#define MX_PWM_NEW_TMR_CONF2\n#define MX_PWM_ALTTIMER 1\n\n#define MX_EE_DFM_Address 0x310000\n\n" />
    <directives code="#include &lt;xc.h&gt;\n#include &lt;math.h&gt;\n\n" />
    <main >
        <start code='\nvoid main()\n{\n\t#ifdef INTOSCHELPER\n\t\tINTOSCHELPERCODE\n\t#endif\n\n' />
        <end code='\tmainendloop: goto mainendloop;\n}\n\n' />
        <init code='ANSELA = 0x00;\nANSELB = 0x00;\nANSELC = 0x00;\n' />
    </main>
    <interrupt >
        <enable code='st_bit(INTCON0, GIE);\n' />
        <start code='void MX_INTERRUPT_MACRO(void)\n{\n' />
        <end code='}\n\n' />
        <init code='\n\n' />
    </interrupt>
    <config >
	<start code='//Chip Configuration Settings\n' />
        <body code='__PROG_CONFIG($(address), 0x$(value:x));\n' /> 
    </config>
</inline>
<test >
    <icd >
        <clock port='1' pin='6' />
        <data port='1' pin='7' />
    </icd>
</test>
</root>
