<root>

<build>
    <compiler exe="$(appdir)compilers\pic32\bin\xc32-gcc.exe" params="-O1 -G1024 -Wl,--gc-sections,-Map,&quot;$(target).map&quot; -nostartfiles -T &quot;$(appdir)compilers\pic32\chipKit\MZ-application-32MZ2048ECX.ld&quot; -T &quot;$(appdir)compilers\pic32\chipKit\chipKIT-application-COMMON-MZ.ld&quot; &quot;$(appdir)compilers\pic32\chipKit\cpp-startup.S&quot; -mprocessor=$(chipalt) -o &quot;$(target).cof&quot; &quot;$(target).c&quot; "/>
    <linker exe="$(appdir)compilers\pic32\bin\xc32-bin2hex.exe" params="&quot;$(target).cof&quot;" />
    <programmer exe="$(appdir)compilers\pic32\bin\pic32prog.exe" params="-d com35 &quot;$(target).hex&quot;" UsesComm="1" />
</build>

<device name='ChipKIT Wi-FIRE Bootloader' namealt='32MZ2048EFG100' product='PIC32' family='32MZ' bits='32' >

    <clock max_speed='200000000' master_divider='2' fixed='200000000' />
    
    <comminfo pid="6001"
          vid="0403"
          devdesc="USB Serial Port" />
    
    <memory >
        <flash bytes='2097152' />
        <ram bytes='524288' />
    </memory>

    <pins sides='4' smd='1' >
        <pin name='RG15/AN23 (45)' port='6' bit='15' adc='23' />
        <pin name='RA5/AN34 (46)' port='0' bit='5' adc='34' />
    	<pin name='RE5/AN17/RPE5 (31)' port='4' bit='5' adc='17' rpbank='b' rpnum='6' rpreg='RPE5R' />
    	<pin name='RE6/AN16 (32)' port='4' bit='6' adc='16' />
    	<pin name='RE7/AN15 (33)' port='4' bit='7' adc='15' />
        <pin name='RC1/AN22/RPC1 (35)' port='2' bit='1' adc='22' rpbank='a' rpnum='9' rpreg='RPC1R' />
        <pin name='RC2/AN21/RPC2 (16)' port='2' bit='2' adc='21' rpbank='d' rpnum='9' rpreg='RPC2R' />
        <pin name='RC3/AN20/RPC3 (52)' port='2' bit='3' adc='20' rpbank='c' rpnum='11' rpreg='RPC3R' />
        <pin name='RC4/AN19/RPC4 (54)' port='2' bit='4' adc='19' rpbank='b' rpnum='9' rpreg='RPC4R' />
    	<pin name='RG6/AN14/SCK2/RPG6 (13)' port='6' bit='6' adc='14' rpbank='c' rpnum='1' rpreg='RPG6R' />
    	<pin name='RG7/AN13/SDA4/RPG7 (18)' port='6' bit='7' adc='13' rpbank='b' rpnum='1' rpreg='RPG7R' />
    	<pin name='RG8/AN12/SCL4/RPG8 (19)' port='6' bit='8' adc='12' rpbank='a' rpnum='1' rpreg='RPG8R' />
	<pin name='VSS' />
        <pin name='VDD' />
    	<pin name='MCLR' />
    	<pin name='RG9/AN11/RPG9 (10)' port='6' bit='9' adc='11' rpbank='d' rpnum='1' rpreg='RPG9R' />
        <pin name='RA0/AN24 (63)' port='0' bit='0' adc='24' />
        <pin name='RE8/AN25/RPE8 (2)' port='4' bit='8' adc='25' rpbank='d' rpnum='10' rpreg='RPE8R' />
        <pin name='RE9/AN26/RPE9 (7)' port='4' bit='9' adc='26' rpbank='c' rpnum='12' rpreg='RPE9R' />
        <pin name='RB5/AN45/RPB5 (14)' port='1' bit='5' adc='45' rpbank='a' rpnum='8' rpreg='RPB5R' />
        <pin name='RB4/AN4 (22)' port='1' bit='4' adc='4' />
    	<pin name='RB3/AN3/RPB3 (20)' port='1' bit='3' adc='3' rpbank='b' rpnum='8' rpreg='RPB3R' />
    	<pin name='RB2/AN2/RPB2 (21)' port='1' bit='2' adc='2' rpbank='d' rpnum='6'  rpreg='RPB2R' />
    	<pin name='RB1/AN1/RPB1 (23)' port='1' bit='1' adc='1' rpbank='b' rpnum='5' rpreg='RPB1R' />
    	<pin name='RB0/AN0/RPB0 (25)' port='1' bit='0' adc='0' rpbank='c' rpnum='5' rpreg='RPB0R' />
    	<pin name='RB6/AN46/RPB6' port='1' bit='6' adc='46' rpbank='d' rpnum='4' rpreg='RPB6R' />
        <pin name='RB7/AN47/RPB7' port='1' bit='7' adc='47' rpbank='c' rpnum='7' rpreg='RPB7R' />
        <pin name='RA9/AN27 (41)' port='0' bit='9' adc='27' />
        <pin name='RA10/AN28 (42)' port='0' bit='10' adc='28' />
        <pin name='AVDD' />
        <pin name='AVSS' />
        <pin name='RB8/AN48/RPB8 (24)' port='1' bit='8' adc='48' rpbank='c' rpnum='2' rpreg='RPB8R' />
    	<pin name='RB9/AN49/RPB9 (15)' port='1' bit='9' adc='49' rpbank='a' rpnum='5' rpreg='RPB9R' />
        <pin name='RB10/AN5/RPB10 (53)' port='1' bit='10' adc='5' rpbank='a' rpnum='6' rpreg='RPB10R' />
        <pin name='RB11/AN6 (44)' port='1' bit='11' adc='6' />
	<pin name='VSS' />
        <pin name='VDD' />
        <pin name='RA1/AN29 (62)' port='0' bit='1' adc='29' />
        <pin name='RF13/AN30/SCK5/RPF13 (65)' port='5' bit='13' adc='30' rpbank='d' rpnum='8' rpreg='RPF13R' />
        <pin name='RF12/AN31/RPF12 (64)' port='5' bit='12' adc='31' rpbank='c' rpnum='8' rpreg='RPF12R' />
        <pin name='RB12/AN7 (49)' port='1' bit='12' adc='7' />
        <pin name='RB13/AN8 (48)' port='1' bit='13' adc='8' />
        <pin name='RB14/AN9/SCK3/RPB14 (51)' port='1' bit='14' adc='9' rpbank='d' rpnum='2' rpreg='RPB14R' />
        <pin name='RB15/AN10/RPB15 (17)' port='1' bit='15' adc='10' rpbank='c' rpnum='3' rpreg='RPB15R' />
        <pin name='VSS' />
        <pin name='VDD' />
        <pin name='RD14/AN32/RPD14 (39)' port='3' bit='14' adc='32' rpbank='a' rpnum='10' rpreg='RPD14R' />
        <pin name='RD15/AN33/SCK6/RPD15 (40)' port='3' bit='15' adc='33' rpbank='b' rpnum='10' rpreg='RPD15R' />
        <pin name='RC12/OSC1' port='2' bit='12' />
        <pin name='RC15/OSC2' port='2' bit='15' />
    	<pin name='VBUS' />
    	<pin name='VUSB3V3' />
        <pin name='VSS' />
        <pin name='D-' />
    	<pin name='D+' />
    	<pin name='RF3/RPF3' port='5' bit='3' rpbank='d' rpnum='7' rpreg='RPF3R' />
        <pin name='RF2/SDA3/RPF2 (0)' port='5' bit='2' rpbank='d' rpnum='11' rpreg='RPF2R' />
        <pin name='RF8/SCL3/RPF8 (1)' port='5' bit='8' rpbank='c' rpnum='10' rpreg='RPF8R' />
        <pin name='RA2/SCL2 (37)' port='0' bit='2' />
        <pin name='RA3/SDA2 (4)' port='0' bit='3' />
        <pin name='RA4 (47)' port='0' bit='4' />
        <pin name='VDD' />
    	<pin name='VSS' />
    	<pin name='RF4/SDA5/RPF4 (61)' port='5' bit='4' rpbank='a' rpnum='2' rpreg='RPF4R' />
    	<pin name='RF5/SCL5/RPF5 (57)' port='5' bit='5' rpbank='b' rpnum='2' rpreg='RPF5R' />
        <pin name='RA14/SCL1/RPA14 (8)' port='0' bit='14' rpbank='a' rpnum='12' rpreg='RPA14R' />
        <pin name='RA15/SDA1/RPA15 (59)' port='0' bit='15' rpbank='b' rpnum='12' rpreg='RPA15R' />
        <pin name='RD9/RPD9 (56)' port='3' bit='9' rpbank='c' rpnum='0' rpreg='RPD9R' />
        <pin name='RD10/SCK4/RPD10 (55)' port='3' bit='10' rpbank='a' rpnum='3' rpreg='RPD10R' />
        <pin name='RD11/RPD11 (11)' port='3' bit='11' rpbank='b' rpnum='3' rpreg='RPD11R' />
        <pin name='RD0/INT0/RPD0 (3)' port='3' bit='0' rpbank='d' rpnum='3' rpreg='RPD0R' />
        <pin name='RC13/RPC13' port='2' bit='13' rpbank='b' rpnum='7' rpreg='RPC13R' />
        <pin name='RC14/RPC14' port='2' bit='14' rpbank='a' rpnum='7' rpreg='RPC14R' />
        <pin name='VDD' />
        <pin name='VSS' />
        <pin name='RD1/SCK1/RPD1 (5)' port='3' bit='1' rpbank='d' rpnum='0' rpreg='RPD1R' />
        <pin name='RD2/RPD2 (6)' port='3' bit='2' rpbank='a' rpnum='0' rpreg='RPD2R' />
        <pin name='RD3/RPD3 (9)' port='3' bit='3' rpbank='b' rpnum='0' rpreg='RPD3R' />
        <pin name='RD12/RPD12 (38)' port='3' bit='12' rpbank='c' rpnum='9' rpreg='RPD12R' />
        <pin name='RD13 (50)' port='3' bit='13' />
        <pin name='RD4/RPD4 (43)' port='3' bit='4' rpbank='c' rpnum='4' rpreg='RPD4R' />
        <pin name='RD5/RPD5 (34)' port='3' bit='5' rpbank='d' rpnum='5' rpreg='RPD5R' />
        <pin name='VDD' />
        <pin name='VSS' />
        <pin name='RF0/RPF0 (12)' port='5' bit='0' rpbank='b' rpnum='4' rpreg='RPF0R' />
        <pin name='RF1/RPF1 (36)' port='5' bit='1' rpbank='a' rpnum='4' rpreg='RPF1R' />
        <pin name='RG1/RPG1 (60)' port='6' bit='1' rpbank='a' rpnum='11' rpreg='RPG1R' />
        <pin name='RG0/RPG0 (58)' port='6' bit='0' rpbank='b' rpnum='11' rpreg='RPG0R' />
        <pin name='RA6 (66)' port='0' bit='6' />
        <pin name='RA7 (70)' port='0' bit='7' />
        <pin name='RE0 (26)' port='4' bit='0' />
        <pin name='VSS' />
        <pin name='VDD' />
        <pin name='RE1 (27)' port='4' bit='1' />
        <pin name='RG14 (69)' port='6' bit='14' />
        <pin name='RG12 (68)' port='6' bit='12' />
        <pin name='RG13 (67)' port='6' bit='13' />
        <pin name='RE2 (28)' port='4' bit='2' />
        <pin name='RE3/RPE3 (29)' port='4' bit='3' rpbank='c' rpnum='6' rpreg='RPE3R' />
        <pin name='RE4/AN18 (30)' port='4' bit='4' adc='18' />
    </pins>
    
    <adc type='3' bits='12' >
        <speed >
            <option name='FRC' value='128' />
            <option name='Tcy' value='0' />
            <option name='Tcy * 2' value='1' />
            <option name='Tcy * 4' value='3' />
            <option name='Tcy * 8' value='7' />
            <option name='Tcy * 16' value='15' />
            <option name='Tcy * 32' value='31' />
            <option name='Tcy * 64' value='63' />
        </speed>
    </adc>
    
    <spi remappable='2' >
        <miso rpbank='a' rpreg='SDI1R' />
        <mosi rpbank='a' rpnum='5' arpbank='b' arpnum='5' />
        <clk port='3' pin='1' />
    </spi>
    
    <spi remappable='2' >
        <miso rpbank='b' rpreg='SDI2R' />
        <mosi rpbank='a' rpnum='6' arpbank='b' arpnum='6' />
        <clk port='6' pin='6' />
    </spi>

    <spi remappable='2' >
        <miso rpbank='a' rpreg='SDI3R' />
        <mosi rpbank='a' rpnum='7' arpbank='b' arpnum='7' />
        <clk port='1' pin='14' />
    </spi>
    
    <spi remappable='2' >
        <miso rpbank='b' rpreg='SDI4R' />
        <mosi rpbank='b' rpnum='8' arpbank='d' arpnum='8' />
        <clk port='3' pin='10' />
    </spi>

    <spi remappable='2' >
        <miso rpbank='a' rpreg='SDI5R' />
        <mosi rpbank='a' rpnum='9' arpbank='b' arpnum='9' />
        <clk port='5' pin='13' />
    </spi>

    <spi remappable='2' >
        <miso rpbank='d' rpreg='SDI6R' />
        <mosi rpbank='c' rpnum='10' arpbank='d' arpnum='10' />
        <clk port='3' pin='15' />
    </spi>
    
    <uart remappable='1' >
        <tx rpbank='b' rpnum='1' />
        <rx rpbank='a' rpreg='U1RXR' />
    </uart>
    
    <uart remappable='1' >
        <tx rpbank='d' rpnum='2' />
        <rx rpbank='c' rpreg='U2RXR' />
    </uart>
    
    <uart remappable='1' >
        <tx rpbank='a' rpnum='1' />
        <rx rpbank='b' rpreg='U3RXR' />
    </uart>   
    
    <uart remappable='1' >
        <tx rpbank='c' rpnum='2' />
        <rx rpbank='d' rpreg='U4RXR' />
    </uart>

    <uart remappable='1' >
        <tx rpbank='b' rpnum='3' />
        <rx rpbank='a' rpreg='U5RXR' />
    </uart>

    <uart remappable='1' >
        <tx rpbank='d' rpnum='4' />
        <rx rpbank='d' rpreg='U6RXR' />
    </uart>      
     
    <i2c master='1' >
        <sda port='0' pin='15' />
        <scl port='0' pin='14' />
    </i2c>
    
    <i2c master='1' >
        <sda port='0' pin='3' />
        <scl port='0' pin='2' />
    </i2c>

    <i2c master='1' >
        <sda port='5' pin='2' />
        <scl port='5' pin='8' />
    </i2c>

    <i2c master='1' >
        <sda port='6' pin='7' />
        <scl port='6' pin='8' />
    </i2c>

    <i2c master='1' >
        <sda port='5' pin='4' />
        <scl port='5' pin='5' />
    </i2c>
    
    <pwm regset='1' remappable='1' >
    	<timer>
    	    <option name='Timer2' value='2' />
    	    <option name='Timer3' value='3' />
    	</timer>
        <prescaler >
            <option name='1' value='0' />
            <option name='2' value='1' />
            <option name='4' value='2' />
            <option name='8' value='3' />
            <option name='16' value='4' />
            <option name='32' value='5' />
            <option name='64' value='6' />
            <option name='256' value='7' />
        </prescaler>
        <out rpbank='d' rpnum='12' />
	<out rpbank='d' rpnum='11' />
	<out rpbank='a' rpnum='11' />
	<out rpbank='b' rpnum='11' />
	<out rpbank='c' rpnum='11' />
    </pwm>
    
    <usb type='1' />
    
    <interrupts >
        
        <interrupt ident='INT0' type='pin' name='INT0' handler='#ifndef MX_ISR_I0\n#define MX_ISR_I0\n void __ISR(_EXTERNAL_0_VECTOR, ipl2AUTO) _IntHandlerExternal_Interrupt0(void)\n{\n\tIFS0bits.INT0IF = 0;\n\tFCM_%n();\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='INT1Rbits.INT1R = 6;\nIEC0bits.INT0IE = 1;\nIPC0bits.INT0IP = 2;\nIPC0bits.INT0IS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.INT0IE = 0;\n' >
            <ioc config='3' >
                <rising port='3' mask='1' />
                <falling port='3' mask='1' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='INTCON = (INTCON&0xFFFFFFFD) | 0x2;\n' />
                    <entry name='Falling edge of INT' value='INTCON = (INTCON&0xFFFFFFFD);\n' />
                </edge>
            </options>
        </interrupt>
      
        <interrupt ident='INT1' type='pin' name='INT1' handler='#ifndef MX_ISR_I1\n#define MX_ISR_I1\n void __ISR(_EXTERNAL_1_VECTOR, ipl2AUTO) _IntHandlerExternal_Interrupt1(void)\n{\n\tIFS0bits.INT1IF = 0;\n\tFCM_%n();\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='INT1Rbits.INT1R = 6;\nIEC0bits.INT1IE = 1;\nIPC2bits.INT1IP = 2;\nIPC2bits.INT1IS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.INT1IE = 0;\n' >
             <ioc config='3' >
                 <rising port='3' mask='2' />
                 <falling port='3' mask='2' />
             </ioc>
             <options >
                 <edge name='Interrupt Edge Select' >
                     <entry name='Rising edge of INT' value='INTCON = (INTCON&0xFFFFFFFD) | 0x2;\n' />
                     <entry name='Falling edge of INT' value='INTCON = (INTCON&0xFFFFFFFD);\n' />
                 </edge>
                 <option name='Remapped Pin Selection' >
                     <entry name='RPD1' value='INT1R = 0;\n' />
                     <entry name='RPG9' value='INT1R = 1;\n' />
                     <entry name='RPB14' value='INT1R = 2;\n' />
                     <entry name='RPD0' value='INT1R = 3;\n' />
                     <entry name='RPB6' value='INT1R = 5;\n' />
                     <entry name='RPD5' value='INT1R = 6;\n' />
                     <entry name='RPB2' value='INT1R = 7;\n' />
                     <entry name='RPF3' value='INT1R = 8;\n' />
                     <entry name='RPF13' value='INT1R = 9;\n' />
                     <entry name='RPF2' value='INT1R = 11;\n' />
                     <entry name='RPC2' value='INT1R = 12;\n' />
                     <entry name='RPE8' value='INT1R = 13;\n' />
                 </option>
                 <option name='Simulation Pin' >
                     <entry name='RD1' value='' />
                 </option>
             </options>
         </interrupt>
 
         <interrupt ident='INT2' type='pin' name='INT2' handler='#ifndef MX_ISR_I2\n#define MX_ISR_I2\n void __ISR(_EXTERNAL_2_VECTOR, ipl2AUTO) _IntHandlerExternal_Interrupt2(void)\n{\n\tIFS0bits.INT2IF = 0;\n\tFCM_%n();\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='INT2Rbits.INT2R = 0;\nIEC0bits.INT2IE = 1;\nIPC3bits.INT2IP = 2;\nIPC3bits.INT2IS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.INT2IE = 0;\n' >
             <ioc config='3' >
                 <rising port='3' mask='512' />
                 <falling port='3' mask='512' />
             </ioc>
             <options >
                 <edge name='Interrupt Edge Select' >
                     <entry name='Rising edge of INT' value='INTCON = (INTCON&0xFFFFFFFB) | 0x4;\n' />
                     <entry name='Falling edge of INT' value='INTCON = (INTCON&0xFFFFFFFB);\n' />
                 </edge>
                 <option name='Remapped Pin Selection' >
                     <entry name='RPD9' value='INT2R = 0;\n' />
                     <entry name='RPG6' value='INT2R = 1;\n' />
                     <entry name='RPB8' value='INT2R = 2;\n' />
                     <entry name='RPB15' value='INT2R = 3;\n' />
                     <entry name='RPD4' value='INT2R = 4;\n' />
                     <entry name='RPB0' value='INT2R = 5;\n' />
                     <entry name='RPE3' value='INT2R = 6;\n' />
                     <entry name='RPB7' value='INT2R = 7;\n' />
                     <entry name='RPF12' value='INT2R = 9;\n' />
                     <entry name='RPD12' value='INT2R = 10;\n' />
                     <entry name='RPF8' value='INT2R = 11;\n' />
                     <entry name='RPC3' value='INT2R = 12;\n' />
                     <entry name='RPE9' value='INT2R = 13;\n' />
                 </option>
                 <option name='Simulation Pin' >
                     <entry name='RD9' value='' />
                 </option>
             </options>
         </interrupt>
 
         <interrupt ident='INT3' type='pin' name='INT3' handler='#ifndef MX_ISR_I3\n#define MX_ISR_I3\n void __ISR(_EXTERNAL_3_VECTOR, ipl2AUTO) _IntHandlerExternal_Interrupt3(void)\n{\n\tIFS0bits.INT3IF = 0;\n\tFCM_%n();\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='\nIEC0bits.INT3IE = 1;\nIPC4bits.INT3IP = 2;\nIPC4bits.INT3IS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.INT3IE = 0;\n' >
             <ioc config='3' >
                 <rising port='3' mask='4' />
                 <falling port='3' mask='4' />
             </ioc>
             <options >
                 <edge name='Interrupt Edge Select' >
                     <entry name='Rising edge of INT' value='INTCON = (INTCON&0xFFFFFFF7) | 0x8;\n' />
                     <entry name='Falling edge of INT' value='INTCON = (INTCON&0xFFFFFFF7);\n' />
                 </edge>
                 <option name='Remapped Pin Selection' >
                     <entry name='RPD2' value='INT3R = 0;\n' />
                     <entry name='RPG8' value='INT3R = 1;\n' />
                     <entry name='RPF4' value='INT3R = 2;\n' />
                     <entry name='RPD10' value='INT3R = 3;\n' />
                     <entry name='RPF1' value='INT3R = 4;\n' />
                     <entry name='RPB9' value='INT3R = 5;\n' />
                     <entry name='RPB10' value='INT3R = 6;\n' />
                     <entry name='RPC14' value='INT3R = 7;\n' />
                     <entry name='RPB5' value='INT3R = 8;\n' />
                     <entry name='RPC1' value='INT3R = 10;\n' />
                     <entry name='RPD14' value='INT3R = 11;\n' />
                     <entry name='RPG1' value='INT3R = 12;\n' />
                     <entry name='RPA14' value='INT3R = 13;\n' />
                 </option>
                 <option name='Simulation Pin' >
                     <entry name='RD2' value='' />
                 </option>
             </options>
         </interrupt>
         
         <interrupt ident='INT4' type='pin' name='INT4' handler='#ifndef MX_ISR_I4\n#define MX_ISR_I4\n void __ISR(_EXTERNAL_4_VECTOR, ipl2AUTO) _IntHandlerExternal_Interrupt4(void)\n{\n\tIFS0bits.INT4IF = 0;\n\tFCM_%n();\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='\nIEC0bits.INT4IE = 1;\nIPC5bits.INT4IP = 2;\nIPC5bits.INT4IS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.INT4IE = 0;\n' >
             <ioc config='3' >
                 <rising port='3' mask='8' />
                 <falling port='3' mask='8' />
             </ioc>
             <options >
                 <edge name='Interrupt Edge Select' >
                     <entry name='Rising edge of INT' value='INTCON = (INTCON&0xFFFFFFF7) | 0x8;\n' />
                     <entry name='Falling edge of INT' value='INTCON = (INTCON&0xFFFFFFF7);\n' />
                 </edge>
                 <option name='Remapped Pin Selection' >
                     <entry name='RPD3' value='INT4R = 0;\n' />
                     <entry name='RPG7' value='INT4R = 1;\n' />
                     <entry name='RPF5' value='INT4R = 2;\n' />
                     <entry name='RPD11' value='INT4R = 3;\n' />
                     <entry name='RPF0' value='INT4R = 4;\n' />
                     <entry name='RPB1' value='INT4R = 5;\n' />
                     <entry name='RPE5' value='INT4R = 6;\n' />
                     <entry name='RPC13' value='INT4R = 7;\n' />
                     <entry name='RPB3' value='INT4R = 8;\n' />
                     <entry name='RPC4' value='INT4R = 10;\n' />
                     <entry name='RPD15' value='INT4R = 11;\n' />
                     <entry name='RPG0' value='INT4R = 12;\n' />
                     <entry name='RPA15' value='INT4R = 13;\n' />
                 </option>
                 <option name='Simulation Pin' >
                     <entry name='RD3' value='' />
                 </option>
             </options>
        </interrupt>

        <interrupt ident='IOCA' type='multipin' name='IOCA PORT' handler='#ifndef MX_ISR_CNA\n#define MX_ISR_CNA\n void __ISR(_CHANGE_NOTICE_A_VECTOR, ipl2AUTO) _IntHandlerChangeNotification_PortA(void)\n{\n\tPORTA;\n\tIFS3bits.CNAIF = 0;\n\tFCM_%n();\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='\nCNENA = %pA0v | (%pA1v << 8);\nCNCONAbits.ON = 1;\nIEC3bits.CNAIE = 1;\nIPC29bits.CNAIP = 2;\nIPC29bits.CNAIS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='\nIEC3bits.CNAIE = 0;\nCNCONAbits.ON = 0;\n' >
            <ioc config='0x0C' >
                <rising port='0' mask='0xFFFF' />
                <falling port='0' mask='0xFFFF' />
            </ioc>
        </interrupt>

        <interrupt ident='IOCB' type='multipin' name='IOCB PORT' handler='#ifndef MX_ISR_CNB\n#define MX_ISR_CNB\n void __ISR(_CHANGE_NOTICE_B_VECTOR, ipl2AUTO) _IntHandlerChangeNotification_PortB(void)\n{\n\tPORTB;\n\tIFS3bits.CNBIF = 0;\n\tFCM_%n();\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='\nCNENB = %pB0v | (%pB1v << 8);\nCNCONBbits.ON = 1;\nIEC3bits.CNBIE = 1;\nIPC29bits.CNBIP = 2;\nIPC29bits.CNBIS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='\nIEC3bits.CNBIE = 0;\nCNCONBbits.ON = 0;\n' >
            <ioc config='0x0C' >
                <rising port='1' mask='0xFFFF' />
                <falling port='1' mask='0xFFFF' />
            </ioc>
        </interrupt>
        
        <interrupt ident='IOCC' type='multipin' name='IOCC PORT' handler='#ifndef MX_ISR_CNC\n#define MX_ISR_CNC\n void __ISR(_CHANGE_NOTICE_C_VECTOR, ipl2AUTO) _IntHandlerChangeNotification_PortC(void)\n{\n\tPORTC;\n\tIFS3bits.CNCIF = 0;\n\tFCM_%n();\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='\nCNENC = %pC0v | (%pC1v << 8);\nCNCONCbits.ON = 1;\nIEC3bits.CNCIE = 1;\nIPC30bits.CNCIP = 2;\nIPC30bits.CNCIS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='\nIEC3bits.CNCIE = 0;\nCNCONCbits.ON = 0;\n' >
            <ioc config='0x0C' >
                <rising port='2' mask='0xFFFF' />
                <falling port='2' mask='0xFFFF' />
            </ioc>
        </interrupt>
        
        <interrupt ident='IOCD' type='multipin' name='IOCD PORT' handler='#ifndef MX_ISR_CND\n#define MX_ISR_CND\n void __ISR(_CHANGE_NOTICE_D_VECTOR, ipl2AUTO) _IntHandlerChangeNotification_PortD(void)\n{\n\tPORTD;\n\tIFS3bits.CNDIF = 0;\n\tFCM_%n();\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='\nCNEND = %pD0v | (%pD1v << 8);\nCNCONDbits.ON = 1;\nIEC3bits.CNDIE = 1;\nIPC30bits.CNDIP = 2;\nIPC30bits.CNDIS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='\nIEC3bits.CNDIE = 0;\nCNCONDbits.ON = 0;\n' >
            <ioc config='0x0C' >
                <rising port='3' mask='0xFFFF' />
                <falling port='3' mask='0xFFFF' />
            </ioc>
        </interrupt>
        
        <interrupt ident='IOCE' type='multipin' name='IOCE PORT' handler='#ifndef MX_ISR_CNE\n#define MX_ISR_CNE\n void __ISR(_CHANGE_NOTICE_E_VECTOR, ipl2AUTO) _IntHandlerChangeNotification_PortE(void)\n{\n\tPORTE;\n\tIFS3bits.CNEIF = 0;\n\tFCM_%n();\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='\nCNENE = %pE0v | (%pE1v << 8);\nCNCONEbits.ON = 1;\nIEC3bits.CNEIE = 1;\nIPC30bits.CNEIP = 2;\nIPC30bits.CNEIS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='\nIEC3bits.CNEIE = 0;\nCNCONEbits.ON = 0;\n' >
            <ioc config='0x0C' >
                <rising port='4' mask='0xFFFF' />
                <falling port='4' mask='0xFFFF' />
            </ioc>
        </interrupt>
        
        <interrupt ident='IOCF' type='multipin' name='IOCF PORT' handler='#ifndef MX_ISR_CNF\n#define MX_ISR_CNF\n void __ISR(_CHANGE_NOTICE_F_VECTOR, ipl2AUTO) _IntHandlerChangeNotification_PortF(void)\n{\n\tPORTF;\n\tIFS3bits.CNFIF = 0;\n\tFCM_%n();\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='\nCNENF = %pF0v | (%pF1v << 8);\nCNCONFbits.ON = 1;\nIEC3bits.CNFIE = 1;\nIPC30bits.CNFIP = 2;\nIPC30bits.CNFIS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='\nIEC3bits.CNFIE = 0;\nCNCONFbits.ON = 0;\n' >
            <ioc config='0x0C' >
                <rising port='5' mask='0xFFFF' />
                <falling port='5' mask='0xFFFF' />
            </ioc>
        </interrupt>
        
        <interrupt ident='IOCG' type='multipin' name='IOCG PORT' handler='#ifndef MX_ISR_CNG\n#define MX_ISR_CNG\n void __ISR(_CHANGE_NOTICE_G_VECTOR, ipl2AUTO) _IntHandlerChangeNotification_PortG(void)\n{\n\tPORTG;\n\tIFS3bits.CNGIF = 0;\n\tFCM_%n();\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='\nCNENG = %pG0v | (%pG1v << 8);\nCNCONGbits.ON = 1;\nIEC3bits.CNGIE = 1;\nIPC31bits.CNGIP = 2;\nIPC31bits.CNGIS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='\nIEC3bits.CNGIE = 0;\nCNCONGbits.ON = 0;\n' >
            <ioc config='0x0C' >
                <rising port='6' mask='0xFFFF' />
                <falling port='6' mask='0xFFFF' />
            </ioc>
        </interrupt>

        <interrupt ident='RXINT0' type='comms' name='UART RXINT 1' handler='#ifndef MX_ISR_RX1\n#define MX_ISR_RX1\nvoid __ISR(_UART1_RX_VECTOR, ipl1AUTO) _IntHandlerDrvUsartReceiveInstance0(void)\n{\n\tIFS3bits.U1RXIF = 0;\n\tFCM_%n();\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='IEC3bits.U1RXIE = 1;\n' disable='IEC3bits.U1RXIE = 0;\n' />
        <interrupt ident='RXINT1' type='comms' name='UART RXINT 2' handler='#ifndef MX_ISR_RX2\n#define MX_ISR_RX2\nvoid __ISR(_UART2_RX_VECTOR, ipl1AUTO) _IntHandlerDrvUsartReceiveInstance1(void)\n{\n\tIFS4bits.U2RXIF = 0;\n\tFCM_%n();\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='IEC4bits.U2RXIE = 1;\n' disable='IEC4bits.U2RXIE = 0;\n' />
        <interrupt ident='RXINT2' type='comms' name='UART RXINT 3' handler='#ifndef MX_ISR_RX3\n#define MX_ISR_RX3\nvoid __ISR(_UART3_RX_VECTOR, ipl1AUTO) _IntHandlerDrvUsartReceiveInstance2(void)\n{\n\tIFS4bits.U3RXIF = 0;\n\tFCM_%n();\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='IEC4bits.U3RXIE = 1;\n' disable='IEC4bits.U3RXIE = 0;\n' />
        <interrupt ident='RXINT3' type='comms' name='UART RXINT 4' handler='#ifndef MX_ISR_RX4\n#define MX_ISR_RX4\nvoid __ISR(_UART4_RX_VECTOR, ipl1AUTO) _IntHandlerDrvUsartReceiveInstance3(void)\n{\n\tIFS5bits.U4RXIF = 0;\n\tFCM_%n();\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='IEC5bits.U4RXIE = 1;\n' disable='IEC5bits.U4RXIE = 0;\n' />
        <interrupt ident='RXINT4' type='comms' name='UART RXINT 5' handler='#ifndef MX_ISR_RX5\n#define MX_ISR_RX5\nvoid __ISR(_UART5_RX_VECTOR, ipl1AUTO) _IntHandlerDrvUsartReceiveInstance4(void)\n{\n\tIFS5bits.U5RXIF = 0;\n\tFCM_%n();\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='IEC5bits.U5RXIE = 1;\n' disable='IEC5bits.U5RXIE = 0;\n' />
        <interrupt ident='RXINT5' type='comms' name='UART RXINT 6' handler='#ifndef MX_ISR_RX6\n#define MX_ISR_RX6\nvoid __ISR(_UART6_RX_VECTOR, ipl1AUTO) _IntHandlerDrvUsartReceiveInstance5(void)\n{\n\tIFS5bits.U6RXIF = 0;\n\tFCM_%n();\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='IEC5bits.U6RXIE = 1;\n' disable='IEC5bits.U6RXIE = 0;\n' />

        <interrupt ident='TMR1' reg='TMR1' type='timer16' name='Timer 1' handler='#ifndef MX_ISR_T1\n#define MX_ISR_T1\nvoid __ISR(_TIMER_1_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance0(void)\n{\n\tIFS0bits.T1IF = 0;\n\tFCM_%n();\n}\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='T1CON = T1CON | 0x8000;\nIEC0bits.T1IE = 1;\nIPC1bits.T1IP = 1;\nIPC1bits.T1IS = 0;\nTMR1 = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.T1IE = 0;\nINTDisableInterrupts();\nT1CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='2' value='T1CON = (T1CON &amp; 0xfffd);\n' />
                    <entry name='External clock from TxCK pin' clkdiv='0' value='T1CON = ((T1CON &amp; 0xfffd) | 0x0002);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1'   value='T1CON = ((T1CON &amp; 0xff0f) | 0x0000);\n' />
                    <entry name='1:8'   value='T1CON = ((T1CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:64'   value='T1CON = ((T1CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:256'   value='T1CON = ((T1CON &amp; 0xff0f) | 0x0030);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR1=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR2' reg='TMR2' type='timer16' name='Timer 2' handler='#ifndef MX_ISR_T2\n#define MX_ISR_T2\n void __ISR(_TIMER_2_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance1(void)\n{\n\tIFS0bits.T2IF = 0;\n\tFCM_%n();\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='T2CON = T2CON | 0x8000;\nIEC0bits.T2IE = 1;\nIPC2bits.T2IP = 1;\nIPC2bits.T2IS = 0;\nTMR2 = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.T2IE = 0;\nINTDisableInterrupts();\nT2CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='2' value='T2CON = (T2CON &amp; 0xfffd);\n' />
                    <entry name='External clock from TxCK pin' clkdiv='0' value='T2CON = ((T2CON &amp; 0xfffd) | 0x0002);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1'   value='T2CON = ((T2CON &amp; 0xff0f) | 0x0000);\n' />
                    <entry name='1:2'   value='T2CON = ((T2CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:4'   value='T2CON = ((T2CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:8'   value='T2CON = ((T2CON &amp; 0xff0f) | 0x0030);\n' />
                    <entry name='1:16'  value='T2CON = ((T2CON &amp; 0xff0f) | 0x0040);\n' />
                    <entry name='1:32'  value='T2CON = ((T2CON &amp; 0xff0f) | 0x0050);\n' />
                    <entry name='1:64'  value='T2CON = ((T2CON &amp; 0xff0f) | 0x0060);\n' />
                    <entry name='1:256' value='T2CON = ((T2CON &amp; 0xff0f) | 0x0070);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR2=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR3' reg='TMR3' type='timer16' name='Timer 3' handler='#ifndef MX_ISR_T3\n#define MX_ISR_T3\n void __ISR(_TIMER_3_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance2(void)\n{\n\tIFS0bits.T3IF = 0;\n\tFCM_%n();\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='T3CON = T3CON | 0x8000;\nIEC0bits.T3IE = 1;\nIPC3bits.T3IP = 1;\nIPC3bits.T3IS = 0;\nTMR3 = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.T2IE = 0;\nINTDisableInterrupts();\nT3CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='2' value='T3CON = (T3CON &amp; 0xfffd);\n' />
                    <entry name='External clock from TxCK pin' clkdiv='0' value='T3CON = ((T3CON &amp; 0xfffd) | 0x0002);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1'   value='T3CON = ((T3CON &amp; 0xff0f) | 0x0000);\n' />
                    <entry name='1:2'   value='T3CON = ((T3CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:4'   value='T3CON = ((T3CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:8'   value='T3CON = ((T3CON &amp; 0xff0f) | 0x0030);\n' />
                    <entry name='1:16'  value='T3CON = ((T3CON &amp; 0xff0f) | 0x0040);\n' />
                    <entry name='1:32'  value='T3CON = ((T3CON &amp; 0xff0f) | 0x0050);\n' />
                    <entry name='1:64'  value='T3CON = ((T3CON &amp; 0xff0f) | 0x0060);\n' />
                    <entry name='1:256' value='T3CON = ((T3CON &amp; 0xff0f) | 0x0070);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR3=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR4' reg='TMR4' type='timer16' name='Timer 4' handler='#ifndef MX_ISR_T4\n#define MX_ISR_T4\n void __ISR(_TIMER_4_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance3(void)\n{\n\tIFS0bits.T4IF = 0;\n\tFCM_%n();\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='T4CON = T4CON | 0x8000;\nIEC0bits.T4IE = 1;\nIPC4bits.T4IP = 1;\nIPC4bits.T4IS = 0;\nTMR4 = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.T4IE = 0;\nINTDisableInterrupts();\nT4CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='2' value='T4CON = (T4CON &amp; 0xfffd);\n' />
                    <entry name='External clock from TxCK pin' clkdiv='0' value='T4CON = ((T4CON &amp; 0xfffd) | 0x0002);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1'   value='T4CON = ((T4CON &amp; 0xff0f) | 0x0000);\n' />
                    <entry name='1:2'   value='T4CON = ((T4CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:4'   value='T4CON = ((T4CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:8'   value='T4CON = ((T4CON &amp; 0xff0f) | 0x0030);\n' />
                    <entry name='1:16'  value='T4CON = ((T4CON &amp; 0xff0f) | 0x0040);\n' />
                    <entry name='1:32'  value='T4CON = ((T4CON &amp; 0xff0f) | 0x0050);\n' />
                    <entry name='1:64'  value='T4CON = ((T4CON &amp; 0xff0f) | 0x0060);\n' />
                    <entry name='1:256' value='T4CON = ((T4CON &amp; 0xff0f) | 0x0070);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR4=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR5' reg='TMR5' type='timer16' name='Timer 5' handler='#ifndef MX_ISR_T5\n#define MX_ISR_T5\n void __ISR(_TIMER_5_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance4(void)\n{\n\tIFS0bits.T5IF = 0;\n\tFCM_%n();\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='T5CON = T5CON | 0x8000;\nIEC0bits.T5IE = 1;\nIPC6bits.T5IP = 1;\nIPC6bits.T5IS = 0;\nTMR5 = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.T5IE = 0;\nINTDisableInterrupts();\nT5CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='2' value='T5CON = (T5CON &amp; 0xfffd);\n' />
                    <entry name='External clock from TxCK pin' clkdiv='0' value='T5CON = ((T5CON &amp; 0xfffd) | 0x0002);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1'   value='T5CON = ((T5CON &amp; 0xff0f) | 0x0000);\n' />
                    <entry name='1:2'   value='T5CON = ((T5CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:4'   value='T5CON = ((T5CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:8'   value='T5CON = ((T5CON &amp; 0xff0f) | 0x0030);\n' />
                    <entry name='1:16'  value='T5CON = ((T5CON &amp; 0xff0f) | 0x0040);\n' />
                    <entry name='1:32'  value='T5CON = ((T5CON &amp; 0xff0f) | 0x0050);\n' />
                    <entry name='1:64'  value='T5CON = ((T5CON &amp; 0xff0f) | 0x0060);\n' />
                    <entry name='1:256' value='T5CON = ((T5CON &amp; 0xff0f) | 0x0070);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR5=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR6' reg='TMR6' type='timer16' name='Timer 6' handler='#ifndef MX_ISR_T6\n#define MX_ISR_T6\nvoid __ISR(_TIMER_6_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance5(void)\n{\n\tIFS0bits.T6IF = 0;\n\tFCM_%n();\n}\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='T6CON = T6CON | 0x8000;\nIEC0bits.T6IE = 1;\nIPC7bits.T6IP = 1;\nIPC7bits.T6IS = 0;\nTMR6 = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.T6IE = 0;\nINTDisableInterrupts();\nT6CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='2' value='T6CON = (T6CON &amp; 0xfffd);\n' />
                    <entry name='External clock from TxCK pin' clkdiv='0' value='T6CON = ((T6CON &amp; 0xfffd) | 0x0002);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1'   value='T6CON = ((T6CON &amp; 0xff0f) | 0x0000);\n' />
                    <entry name='1:2'   value='T6CON = ((T6CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:4'   value='T6CON = ((T6CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:8'   value='T6CON = ((T6CON &amp; 0xff0f) | 0x0030);\n' />
                    <entry name='1:16'  value='T6CON = ((T6CON &amp; 0xff0f) | 0x0040);\n' />
                    <entry name='1:32'  value='T6CON = ((T6CON &amp; 0xff0f) | 0x0050);\n' />
                    <entry name='1:64'  value='T6CON = ((T6CON &amp; 0xff0f) | 0x0060);\n' />
                    <entry name='1:256' value='T6CON = ((T6CON &amp; 0xff0f) | 0x0070);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR6=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR7' reg='TMR7' type='timer16' name='Timer 7' handler='#ifndef MX_ISR_T7\n#define MX_ISR_T7\nvoid __ISR(_TIMER_7_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance6(void)\n{\n\tIFS1bits.T7IF = 0;\n\tFCM_%n();\n}\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='T7CON = T7CON | 0x8000;\nIEC1bits.T7IE = 1;\nIPC8bits.T7IP = 1;\nIPC8bits.T7IS = 0;\nTMR7 = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC1bits.T7IE = 0;\nINTDisableInterrupts();\nT7CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='2' value='T7CON = (T7CON &amp; 0xfffd);\n' />
                    <entry name='External clock from TxCK pin' clkdiv='0' value='T7CON = ((T7CON &amp; 0xfffd) | 0x0002);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1'   value='T7CON = ((T7CON &amp; 0xff0f) | 0x0000);\n' />
                    <entry name='1:2'   value='T7CON = ((T7CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:4'   value='T7CON = ((T7CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:8'   value='T7CON = ((T7CON &amp; 0xff0f) | 0x0030);\n' />
                    <entry name='1:16'  value='T7CON = ((T7CON &amp; 0xff0f) | 0x0040);\n' />
                    <entry name='1:32'  value='T7CON = ((T7CON &amp; 0xff0f) | 0x0050);\n' />
                    <entry name='1:64'  value='T7CON = ((T7CON &amp; 0xff0f) | 0x0060);\n' />
                    <entry name='1:256' value='T7CON = ((T7CON &amp; 0xff0f) | 0x0070);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR7=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR8' reg='TMR8' type='timer16' name='Timer 8' handler='#ifndef MX_ISR_T8\n#define MX_ISR_T8\nvoid __ISR(_TIMER_8_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance7(void)\n{\n\tIFS1bits.T8IF = 0;\n\tFCM_%n();\n}\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='T8CON = T8CON | 0x8000;\nIEC1bits.T8IE = 1;\nIPC9bits.T8IP = 1;\nIPC9bits.T8IS = 0;\nTMR8 = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC1bits.T8IE = 0;\nINTDisableInterrupts();\nT8CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='2' value='T8CON = (T8CON &amp; 0xfffd);\n' />
                    <entry name='External clock from TxCK pin' clkdiv='0' value='T8CON = ((T8CON &amp; 0xfffd) | 0x0002);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1'   value='T8CON = ((T8CON &amp; 0xff0f) | 0x0000);\n' />
                    <entry name='1:2'   value='T8CON = ((T8CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:4'   value='T8CON = ((T8CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:8'   value='T8CON = ((T8CON &amp; 0xff0f) | 0x0030);\n' />
                    <entry name='1:16'  value='T8CON = ((T8CON &amp; 0xff0f) | 0x0040);\n' />
                    <entry name='1:32'  value='T8CON = ((T8CON &amp; 0xff0f) | 0x0050);\n' />
                    <entry name='1:64'  value='T8CON = ((T8CON &amp; 0xff0f) | 0x0060);\n' />
                    <entry name='1:256' value='T8CON = ((T8CON &amp; 0xff0f) | 0x0070);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR8=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR9' reg='TMR9' type='timer16' name='Timer 9' handler='#ifndef MX_ISR_T9\n#define MX_ISR_T9\nvoid __ISR(_TIMER_9_VECTOR, ipl1AUTO) _IntHandlerDrvTmrInstance8(void)\n{\n\tIFS1bits.T9IF = 0;\n\tFCM_%n();\n}\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='T9CON = T9CON | 0x8000;\nIEC1bits.T9IE = 1;\nIPC10bits.T9IP = 1;\nIPC10bits.T9IS = 0;\nTMR9 = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC1bits.T9IE = 0;\nINTDisableInterrupts();\nT9CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='2' value='T9CON = (T9CON &amp; 0xfffd);\n' />
                    <entry name='External clock from TxCK pin' clkdiv='0' value='T9CON = ((T9CON &amp; 0xfffd) | 0x0002);\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1'   value='T9CON = ((T9CON &amp; 0xff0f) | 0x0000);\n' />
                    <entry name='1:2'   value='T9CON = ((T9CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:4'   value='T9CON = ((T9CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:8'   value='T9CON = ((T9CON &amp; 0xff0f) | 0x0030);\n' />
                    <entry name='1:16'  value='T9CON = ((T9CON &amp; 0xff0f) | 0x0040);\n' />
                    <entry name='1:32'  value='T9CON = ((T9CON &amp; 0xff0f) | 0x0050);\n' />
                    <entry name='1:64'  value='T9CON = ((T9CON &amp; 0xff0f) | 0x0060);\n' />
                    <entry name='1:256' value='T9CON = ((T9CON &amp; 0xff0f) | 0x0070);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR9=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
    </interrupts>
</device>
<inline >
    <defines code='#define MX_PIC32_MZ\n#define MX_ALT_WATCHDOG\n#define MX_MZ_MODE\n#define MX_SPI_MZ_FAMILY\n\n' />
    <directives code='#include <xc.h>\n#include <math.h>\n#include <stdlib.h>\n#include <stdint.h>\n#include <stddef.h>\n#include <stdbool.h>\n#include <p32xxxx.h>\n#include <sys/attribs.h>\n\nextern const uint32_t _verMPIDE_Stub;\nconst uint32_t __attribute__((section(&quot;.mpide_version&quot;))) _verMPIDE_Stub = 16778024;\n\n' />
    <main >
        <start code='int main()\n{\n' />
        <end code='\tmainendloop: goto mainendloop;\n\treturn 0;\n}\n\n' />
        <init code='ANSELA = 0x0000;\nANSELB = 0x0000;\nANSELC = 0x0000;\nANSELD = 0x0000;\nANSELE = 0x0000;\nANSELF = 0x0000;\nANSELG = 0x0000;\n\n' />
    </main>
    <interrupt >
        <enable code='' />
        <start code='' />
        <end code='' />
        <init code='' />
    </interrupt>
    <config >
        <start code='' />
        <body code='' />
        <end code='' />
    </config>
</inline>
<test >
    <icd >
        <clock port='1' pin='1' />
        <data port='1' pin='0' />
    </icd>
</test>
</root>