<root>
<device name='32MX250F128B' product='PIC32' family='32MX' bits='32' >

    <clock max_speed='50000000' master_divider='2' default='40000000' />
    
    <memory >
        <flash bytes='131072' />
        <ram bytes='32768' />
    </memory>
    
    <configuration address='0' mult='1' >
        <format >
            <dword address='PMDL1WAY' value='0x00000000' />
            <dword address='IOL1WAY' value='0x00000000' />
            <dword address='FUSBIDIO' value='0x00000000' />
            <dword address='FVBUSONIO' value='0x00000000' />
            <dword address='FPLLIDIV' value='0x00000000' />
            <dword address='FPLLMUL' value='0x00000000' />
            <dword address='UPLLIDIV' value='0x00000000' />
            <dword address='UPLLEN' value='0x00000000' />
            <dword address='FPLLODIV' value='0x00000000' />
            <dword address='FNOSC' value='0x00000000' />
            <dword address='FSOSCEN' value='0x00000000' />
            <dword address='IESO' value='0x00000000' />
            <dword address='POSCMOD' value='0x00000000' />
            <dword address='OSCIOFNC' value='0x00000000' />
            <dword address='FPBDIV' value='0x00000000' />
            <dword address='FCKSM' value='0x00000000' />
            <dword address='WDTPS' value='0x00000000' />
            <dword address='WINDIS' value='0x00000000' />
            <dword address='FWDTEN' value='0x00000000' />
            <dword address='FWDTWINSZ' value='0x00000000' />
            <dword address='DEBUG' value='0x00000003' />
            <dword address='JTAGEN' value='0x00000000' />
            <dword address='ICESEL' value='0x00000000' />
            <dword address='PWP' value='0x000000FF' />
            <dword address='BWP' value='0x00000001' />
            <dword address='CP' value='0x00000001' />
        </format>
        <setting />
        <settings >
            <setting name='PMDL1WAY' offset='0' mask='0xFFFFFFFF' bits='32' hint='Peripheral Module Disable Configuration' >
                <option name='Allow multiple reconfigurations' value='0x0' />
                <option name='Allow only one reconfiguration' value='0x1' />
            </setting>
            <setting name='IOL1WAY' offset='32' mask='0xFFFFFFFF' bits='32' hint='Peripheral Pin Select Configuration' >
                <option name='Allow multiple reconfigurations' value='0x0' />
                <option name='Allow only one reconfiguration' value='0x1' />
            </setting>
            <setting name='FUSBIDIO' offset='64' mask='0xFFFFFFFF' bits='32' hint='USB USID Selection' >
                <option name='Controlled by Port Function' value='0x0' />
                <option name='Controlled by the USB Module' value='0x1' />
            </setting>
            <setting name='FVBUSONIO' offset='96' mask='0xFFFFFFFF' bits='32' hint='USB VBUS ON Selection' >
                <option name='Controlled by Port Function' value='0x0' />
                <option name='Controlled by USB Module' value='0xffffffff' />
            </setting>
            <setting name='FPLLIDIV' offset='128' mask='0xFFFFFFFF' bits='32' hint='PLL Input Divider' >
                <option name='1x Divider' value='0x0' />
                <option name='2x Divider' value='0x1' />
                <option name='3x Divider' value='0x2' />
                <option name='4x Divider' value='0x3' />
                <option name='5x Divider' value='0x4' />
                <option name='6x Divider' value='0x5' />
                <option name='10x Divider' value='0x6' />
                <option name='12x Divider' value='0x7' />
            </setting>
            <setting name='FPLLMUL' offset='160' mask='0xFFFFFFFF' bits='32' hint='PLL Multiplier' >
                <option name='15x Multiplier' value='0x0' />
                <option name='16x Multiplier' value='0x1' />
                <option name='17x Multiplier' value='0x2' />
                <option name='18x Multiplier' value='0x3' />
                <option name='19x Multiplier' value='0x4' />
                <option name='20x Multiplier' value='0x5' />
                <option name='21x Multiplier' value='0x6' />
                <option name='24x Multiplier' value='0x7' />
            </setting>
            <setting name='UPLLIDIV' offset='192' mask='0xFFFFFFFF' bits='32' hint='USB PLL Input Divider' >
                <option name='1x Divider' value='0x0' />
                <option name='2x Divider' value='0x1' />
                <option name='3x Divider' value='0x2' />
                <option name='4x Divider' value='0x3' />
                <option name='5x Divider' value='0x4' />
                <option name='6x Divider' value='0x5' />
                <option name='10x Divider' value='0x6' />
                <option name='12x Divider' value='0x7' />
            </setting>
            <setting name='UPLLEN' offset='224' mask='0xFFFFFFFF' bits='32' hint='USB PLL Enable' >
                <option name='Enabled' value='0x0' />
                <option name='Disabled and Bypassed' value='0x1' />
            </setting>
            <setting name='FPLLODIV' offset='256' mask='0xFFFFFFFF' bits='32' hint='System PLL Output Clock Divider' >
                <option name='PLL Divide by 1' value='0x0' />
                <option name='PLL Divide by 2' value='0x1' />
                <option name='PLL Divide by 4' value='0x2' />
                <option name='PLL Divide by 8' value='0x3' />
                <option name='PLL Divide by 16' value='0x4' />
                <option name='PLL Divide by 32' value='0x5' />
                <option name='PLL Divide by 64' value='0x6' />
                <option name='PLL Divide by 256' value='0x7' />
            </setting>
            <setting name='FNOSC' offset='288' mask='0xFFFFFFFF' bits='32' hint='Oscillator Selection Bits' >
                <option name='Fast RC Osc (FRC)' value='0x0' />
                <option name='Fast RC Osc with PLL' value='0x1' />
                <option name='Primary Osc (XT,HS,EC)' value='0x2' />
                <option name='Primary Osc w/PLL (XT+,HS+,EC+PLL)' value='0x3' />
                <option name='Low Power Secondary Osc (SOSC)' value='0x4' />
                <option name='Low Power RC Osc (LPRC)' value='0x5' />
                <option name='Fast RC Osc w/Div-by-16 (FRC/16)' value='0x6' />
                <option name='Fast RC Osc w/Div-by-N (FRCDIV)' value='0x7' />
            </setting>
            <setting name='FSOSCEN' offset='320' mask='0xFFFFFFFF' bits='32' hint='Secondary Oscillator Enable' >
                <option name='Disabled' value='0x0' />
                <option name='Enabled' value='0x1' />
            </setting>
            <setting name='IESO' offset='352' mask='0xFFFFFFFF' bits='32' hint='Internal/External Switch Over' >
                <option name='Disabled' value='0x0' />
                <option name='Enabled' value='0x1' />
            </setting>
            <setting name='POSCMOD' offset='384' mask='0xFFFFFFFF' bits='32' hint='Primary Oscillator Configuration' >
                <option name='External clock mode' value='0x0' />
                <option name='XT osc mode' value='0x1' />
                <option name='HS osc mode' value='0x2' />
                <option name='Primary osc disabled' value='0x3' />
            </setting>
            <setting name='OSCIOFNC' offset='416' mask='0xFFFFFFFF' bits='32' hint='CLKO Output Signal Active on the OSCO Pin' >
                <option name='Enabled' value='0x0' />
                <option name='Disabled' value='0x1' />
            </setting>
            <setting name='FPBDIV' offset='448' mask='0xFFFFFFFF' bits='32' hint='Peripheral Clock Divisor' >
                <option name='Pb_Clk is Sys_Clk/1' value='0x0' />
                <option name='Pb_Clk is Sys_Clk/2' value='0x1' />
                <option name='Pb_Clk is Sys_Clk/4' value='0x2' />
                <option name='Pb_Clk is Sys_Clk/8' value='0x3' />
            </setting>
            <setting name='FCKSM' offset='480' mask='0xFFFFFFFF' bits='32' hint='Clock Switching and Monitor Selection' >
                <option name='Clock Switch Enable, FSCM Enabled' value='0x0' />
                <option name='Clock Switch Enable, FSCM Disabled' value='0x1' />
                <option name='Clock Switch Disable, FSCM Disabled' value='0x3' />
            </setting>
            <setting name='WDTPS' offset='512' mask='0xFFFFFFFF' bits='32' hint='Watchdog Timer Postscaler' >
                <option name='1:1' value='0x0' />
                <option name='1:2' value='0x1' />
                <option name='1:4' value='0x2' />
                <option name='1:8' value='0x3' />
                <option name='1:16' value='0x4' />
                <option name='1:32' value='0x5' />
                <option name='1:64' value='0x6' />
                <option name='1:128' value='0x7' />
                <option name='1:256' value='0x8' />
                <option name='1:512' value='0x9' />
                <option name='1:1024' value='0xa' />
                <option name='1:2048' value='0xb' />
                <option name='1:4096' value='0xc' />
                <option name='1:8192' value='0xd' />
                <option name='1:16384' value='0xe' />
                <option name='1:32768' value='0xf' />
                <option name='1:65536' value='0x10' />
                <option name='1:131072' value='0x11' />
                <option name='1:262144' value='0x12' />
                <option name='1:524288' value='0x13' />
                <option name='1:1048576' value='0x14' />
            </setting>
            <setting name='WINDIS' offset='544' mask='0xFFFFFFFF' bits='32' hint='Watchdog Timer Window Enable' >
                <option name='Watchdog Timer is in Window Mode' value='0x0' />
                <option name='Watchdog Timer is in Non-Window Mode' value='0x1' />
            </setting>
            <setting name='FWDTEN' offset='576' mask='0xFFFFFFFF' bits='32' hint='Watchdog Timer Enable' >
                <option name='WDT Disabled (SWDTEN Bit Controls)' value='0x0' />
                <option name='WDT Enabled' value='0x1' />
            </setting>
            <setting name='FWDTWINSZ' offset='608' mask='0xFFFFFFFF' bits='32' hint='Watchdog Timer Window Size' >
                <option name='Window Size is 75%' value='0x0' />
                <option name='Window Size is 50%' value='0x1' />
                <option name='Window Size is 37.5%' value='0x2' />
                <option name='Window Size is 25%' value='0x3' />
            </setting>
            <setting name='DEBUG' offset='640' mask='0xFFFFFFFF' bits='32' hint='Background Debugger Enable' >
                <option name='Debugger is Enabled' value='0x0' />
                <option name='Debugger is Disabled' value='0x2' />
            </setting>
            <setting name='JTAGEN' offset='672' mask='0xFFFFFFFF' bits='32' hint='JTAG Enable' >
                <option name='JTAG Disabled' value='0x0' />
                <option name='JTAG Port Enabled' value='0x1' />
            </setting>
            <setting name='ICESEL' offset='704' mask='0xFFFFFFFF' bits='32' hint='ICE/ICD Comm Channel Select' >
                <option name='Reserved' value='0x0' />
                <option name='Communicate on PGEC3/PGED3' value='0x1' />
                <option name='Communicate on PGEC2/PGED2' value='0x2' />
                <option name='Communicate on PGEC1/PGED1' value='0x3' />
            </setting>
            <setting name='PWP' offset='736' mask='0xFFFFFFFF' bits='32' hint='Program Flash Write Protect' >
                <option name='First 32K' value='0x1f' />
                <option name='First 31K' value='0x20' />
                <option name='First 30K' value='0x21' />
                <option name='First 29K' value='0x22' />
                <option name='First 28K' value='0x23' />
                <option name='First 27K' value='0x24' />
                <option name='First 26K' value='0x25' />
                <option name='First 25K' value='0x26' />
                <option name='First 24K' value='0x27' />
                <option name='First 23K' value='0x28' />
                <option name='First 22K' value='0x29' />
                <option name='First 21K' value='0x2a' />
                <option name='First 20K' value='0x2b' />
                <option name='First 19K' value='0x2c' />
                <option name='First 18K' value='0x2d' />
                <option name='First 17K' value='0x2e' />
                <option name='First 16K' value='0x2f' />
                <option name='First 15K' value='0x30' />
                <option name='First 14K' value='0x31' />
                <option name='First 13K' value='0x32' />
                <option name='First 12K' value='0x33' />
                <option name='First 11K' value='0x34' />
                <option name='First 10K' value='0x35' />
                <option name='First 9K' value='0x36' />
                <option name='First 8K' value='0x37' />
                <option name='First 7K' value='0x38' />
                <option name='First 6K' value='0x39' />
                <option name='First 5K' value='0x3a' />
                <option name='First 4K' value='0x3b' />
                <option name='First 3K' value='0x3c' />
                <option name='First 2K' value='0x3d' />
                <option name='First 1K' value='0x3e' />
                <option name='Disable' value='0x3f' />
            </setting>
            <setting name='BWP' offset='768' mask='0xFFFFFFFF' bits='32' hint='Boot Flash Write Protect bit' >
                <option name='Protection Enabled' value='0x0' />
                <option name='Protection Disabled' value='0x1' />
            </setting>
            <setting name='CP' offset='800' mask='0xFFFFFFFF' bits='32' hint='Code Protect' >
                <option name='Protection Enabled' value='0x0' />
                <option name='Protection Disabled' value='0x1' />
            </setting>
        </settings >
    </configuration>

    <pins sides='2' smd='0' >
        <pin name='MCLR' />
        <pin name='RA0/AN0/RPA0/VREF+' port='0' bit='0' adc='0' rpbank='a' rpnum='0' rpreg='RPA0R' />
        <pin name='RA1/AN1/RPA1' port='0' bit='1' adc='1' rpbank='b' rpnum='0' rpreg='RPA1R' />
        <pin name='RB0/AN2/RPB0/PGD' port='1' bit='0' adc='2' rpbank='d' rpnum='2' rpreg='RPB0R' />
        <pin name='RB1/AN3/RPB1/PGC' port='1' bit='1' adc='3' rpbank='b' rpnum='2' rpreg='RPB1R' />
        <pin name='RB2/AN4/RPB2/SDA2' port='1' bit='2' adc='4' rpbank='c' rpnum='4' rpreg='RPB2R' />
        <pin name='RB3/AN5/RPB3/SCL2' port='1' bit='3' adc='5' rpbank='a' rpnum='1' rpreg='RPB3R' />
        <pin name='VSS' />
        <pin name='RA2/RPA2/OSC1' port='0' bit='2' rpbank='c' rpnum='0' rpreg='RPA2R' />
        <pin name='RA3/RPA3/OSC2' port='0' bit='3' rpbank='d' rpnum='0' rpreg='RPA3R' />   
        <pin name='RB4/RPB4' port='1' bit='4' rpbank='a' rpnum='2' rpreg='RPB4R' />
        <pin name='RA4/RPA4' port='0' bit='4' rpbank='c' rpnum='2' rpreg='RPA4R' />
        <pin name='VDD' />
	<pin name='RB5/RPB5' port='1' bit='5' rpbank='b' rpnum='1' rpreg='RPB5R' />
        <pin name='VBUS' />
        <pin name='RB7/RPB7/INT0' port='1' bit='7' rpbank='a' rpnum='4' rpreg='RPB7R' />
        <pin name='RB8/RPB8/SCL1' port='1' bit='8' rpbank='b' rpnum='4' rpreg='RPB8R' />
        <pin name='RB9/RPB9/SDA1' port='1' bit='9' rpbank='d' rpnum='4' rpreg='RPB9R' />
        <pin name='VSS' />
        <pin name='VCAP' />
        <pin name='RB10/RPB10' port='1' bit='10' rpbank='d' rpnum='3' rpreg='RPB10R' />
        <pin name='RB11/RPB11' port='1' bit='11' rpbank='b' rpnum='3' rpreg='RPB11R' />
        <pin name='VUSB3V3' />
        <pin name='RB13/RPB13/AN11' port='1' bit='13' adc='11' rpbank='c' rpnum='3' rpreg='RPB13R' />
        <pin name='RB14/RPB14/SCK1/AN10' port='1' bit='14' adc='10' rpbank='d' rpnum='1' rpreg='RPB14R' />
        <pin name='RB15/RPB15/SCK2/AN9' port='1' bit='15' adc='9' rpbank='a' rpnum='3' rpreg='RPB15R' />
        <pin name='AVSS' />
        <pin name='AVDD' />
    </pins>
    
    <adc type='1' bits='10' >
        <speed >
            <option name='FRC' value='0x8000' />
            <option name='Tcy * 2' value='0' />
            <option name='Tcy * 4' value='1' />
            <option name='Tcy * 6' value='2' />
            <option name='Tcy * 8' value='3' />
            <option name='Tcy * 10' value='4' />
            <option name='Tcy * 12' value='5' />
            <option name='Tcy * 16' value='7' />
            <option name='Tcy * 20' value='9' />
            <option name='Tcy * 28' value='13' />
            <option name='Tcy * 32' value='15' />
            <option name='Tcy * 48' value='23' />
            <option name='Tcy * 64' value='31' />
            <option name='Tcy * 96' value='47' />
            <option name='Tcy * 128' value='63' />
            <option name='Tcy * 256' value='127' />           
            <option name='Tcy * 512' value='255' />
        </speed>
    </adc>
    
    <spi remappable='2' >
        <miso rpbank='b' rpreg='SDI1R' />
        <mosi rpbank='b' rpnum='3' arpbank='c' arpnum='3' />
        <clk port='1' pin='14' />
    </spi>
    
    <spi remappable='2' >
        <miso rpbank='c' rpreg='SDI2R' />
        <mosi rpbank='b' rpnum='4' arpbank='c' arpnum='4' />
        <clk port='1' pin='15' />
    </spi>
    
    <uart remappable='1' >
        <tx rpbank='a' rpnum='1' />
        <rx rpbank='c' rpreg='U1RXR' />
    </uart>
    
    <uart remappable='1' >
        <tx rpbank='d' rpnum='2' />
        <rx rpbank='b' rpreg='U2RXR' />
    </uart>
    
    <i2c master='1' >
        <sda port='1' pin='9' />
        <scl port='1' pin='8' />
    </i2c>
    
    <i2c master='1' >
        <sda port='1' pin='2' />
        <scl port='1' pin='3' />
    </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='a' rpnum='5' />
	<out rpbank='b' rpnum='5' />
	<out rpbank='d' rpnum='5' />
	<out rpbank='c' rpnum='5' />
	<out rpbank='c' rpnum='6' />
    </pwm>
    
    <usb type='1' />
    
    <interrupts >
        <interrupt ident='INT0' type='pin' name='INT0/RB7' handler='#ifndef MX_ISR_I0\n#define MX_ISR_I0\n void __ISR(_EXTERNAL_0_VECTOR, ipl2AUTO) _IntHandlerExternal_Interrupt00(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='IEC0bits.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='1' mask='0x80' />
                <falling port='1' mask='0x80' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='INTCON = (INTCON&0xFFFFFFFE) | 0x1;\n' />
                    <entry name='Falling edge of INT' value='INTCON = (INTCON&0xFFFFFFFE);\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT1' type='pin' name='INT1/RA3' handler='#ifndef MX_ISR_I1\n#define MX_ISR_I1\n void __ISR(_EXTERNAL_1_VECTOR, ipl2AUTO) _IntHandlerExternal_Interrupt11(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='IEC0bits.INT1IE = 1;\nIPC1bits.INT1IP = 2;\nIPC1bits.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='0' mask='0x08' />
                <falling port='0' mask='0x08' />
            </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='RA3' value='INT1R = 0;\n' />
                    <entry name='RB14' value='INT1R = 1;\n' />
                    <entry name='RB0' value='INT1R = 2;\n' />
                    <entry name='RB10' value='INT1R = 3;\n' />
                    <entry name='RB9' value='INT1R = 4;\n' />
                    <entry name='RC9' value='INT1R = 5;\n' />
                    <entry name='RC2' value='INT1R = 6;\n' />
                    <entry name='RC4' value='INT1R = 7;\n' />
                </option>
                <option name='Simulation Pin' >
                    <entry name='RA3' value='' />
                </option>
            </options>
        </interrupt>
        <interrupt ident='INT2' type='pin' name='INT2/RA2' handler='#ifndef MX_ISR_I2\n#define MX_ISR_I2\n void __ISR(_EXTERNAL_2_VECTOR, ipl2AUTO) _IntHandlerExternal_Interrupt22(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='IEC0bits.INT2IE = 1;\nIPC2bits.INT2IP = 2;\nIPC2bits.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='0' mask='0x04' />
                <falling port='0' mask='0x04' />
            </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='RA2' value='INT2R = 0;\n' />
                    <entry name='RB6' value='INT2R = 1;\n' />
                    <entry name='RA4' value='INT2R = 2;\n' />
                    <entry name='RB13' value='INT2R = 3;\n' />
                    <entry name='RB2' value='INT2R = 4;\n' />
                    <entry name='RC6' value='INT2R = 5;\n' />
                    <entry name='RC1' value='INT2R = 6;\n' />
                    <entry name='RC3' value='INT2R = 7;\n' />
                </option>
                <option name='Simulation Pin' >
                    <entry name='RA2' value='' />
                </option>
            </options>
        </interrupt>
        <interrupt ident='INT3' type='pin' name='INT3/RA1' 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='IEC0bits.INT3IE = 1;\nIPC3bits.INT3IP = 2;\nIPC3bits.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='0' mask='0x02' />
                <falling port='0' mask='0x02' />
            </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='RA1' value='INT3R = 0;\n' />
                    <entry name='RB5' value='INT3R = 1;\n' />
                    <entry name='RB1' value='INT3R = 2;\n' />
                    <entry name='RB11' value='INT3R = 3;\n' />
                    <entry name='RB8' value='INT3R = 4;\n' />
                    <entry name='RA8' value='INT3R = 5;\n' />
                    <entry name='RC8' value='INT3R = 6;\n' />
                    <entry name='RA9' value='INT3R = 7;\n' />
                </option>
                <option name='Simulation Pin' >
                    <entry name='RA1' value='' />
                </option>
            </options>
        </interrupt>
        <interrupt ident='INT4' type='pin' name='INT4/RA0' 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='IEC0bits.INT4IE = 1;\nIPC4bits.INT4IP = 2;\nIPC4bits.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='0' mask='0x01' />
                 <falling port='0' mask='0x01' />
            </ioc>
 	    <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='INTCON = (INTCON&0xFFFFFFEF) | 0x1F;\n' />
                    <entry name='Falling edge of INT' value='INTCON = (INTCON&0xFFFFFFEF);\n' />
                </edge>
                <option name='Remapped Pin Selection' >
                    <entry name='RA0' value='INT4R = 0;\n' />
                    <entry name='RB3' value='INT4R = 1;\n' />
                    <entry name='RB4' value='INT4R = 2;\n' />
                    <entry name='RB15' value='INT4R = 3;\n' />
                    <entry name='RB7' value='INT4R = 4;\n' />
                    <entry name='RC7' value='INT4R = 5;\n' />
                    <entry name='RC0' value='INT4R = 6;\n' />
                    <entry name='RC5' value='INT4R = 7;\n' />
                </option>
                <option name='Simulation Pin' >
                    <entry name='RA0' value='' />
                </option>
            </options>
        </interrupt>
        
        <interrupt ident='IOC0' type='multipin' name='IOC PORTA' handler='#ifndef MX_ISR_CNA\n#define MX_ISR_CNA\n void __ISR(_CHANGE_NOTICE_VECTOR, ipl2AUTO) _IntHandlerChangeNotification0(void)\n{\n\tPORTA;\n\tIFS1bits.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; \nIEC1bits.CNAIE = 1;\nIPC8bits.CNIP = 2;\nIPC8bits.CNIS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='\nIEC1bits.CNAIE = 0;\nCNCONAbits.ON = 0;\n' >
            <ioc config='0x0C' >
                <rising port='0' mask='0x079F' />
                <falling port='0' mask='0x079F' />
            </ioc>
        </interrupt>
        <interrupt ident='IOC1' type='multipin' name='IOC PORTB' handler='#ifndef MX_ISR_CNB\n#define MX_ISR_CNB\n void __ISR(35, ipl2AUTO) _IntHandlerChangeNotification1(void)\n{\n\tPORTB;\n\tIFS1bits.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 = %pA0v | (%pA1v << 8);\nCNCONBbits.ON = 1; \nIEC1bits.CNBIE = 1;\nIPC8bits.CNIP = 2;\nIPC8bits.CNIS = 2;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='\nIEC1bits.CNBIE = 0;\nCNCONBbits.ON = 0;\n' >
            <ioc config='0x0C' >
                <rising port='1' mask='0xFFFF' />
                <falling port='1' 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(_UART_1_VECTOR, ipl1AUTO) _IntHandlerDrvUsartReceiveInstance0(void)\n{\n\tIFS1bits.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=' \nIEC1bits.U1RXIE = 1;\nIPC8bits.U1IP = 1;\nIPC8bits.U1IS = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable=' IEC1bits.U1RXIE = 0;\n' />

        <interrupt ident='RXINT1' type='comms' name='UART RXINT 2' handler='#ifndef MX_ISR_RX2\n#define MX_ISR_RX2\nvoid __ISR(_UART_2_VECTOR, ipl1AUTO) _IntHandlerDrvUsartReceiveInstance1(void)\n{\n\tIFS1bits.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=' \nIEC1bits.U2RXIE = 1;\nIPC9bits.U2IP = 1;\nIPC9bits.U2IS = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable=' IEC1bits.U2RXIE = 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#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;\nT1CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='1' 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;\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;\nT3CON = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal peripheral clock' clkdiv='4' 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;\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;\nIPC5bits.T5IP = 1;\nIPC5bits.T5IS = 0;\nTMR5 = 0;\nINTCONbits.MVEC = 1;\n__builtin_mtc0(12,0,(__builtin_mfc0(12,0) | 0x0001));\n' disable='IEC0bits.T5IE = 0;\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>
    </interrupts>
</device>
<inline >
    <defines code='#define MX_PIC32_MX\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\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;\n\n' />
    </main>
    <interrupt >
        <enable code='' />
        <start code='' />
        <end code='' />
        <init code='' />
    </interrupt>
    <config >
        <start code='//Configuration Start\n' />
        <body code='#pragma config $(address) = $(value)\n' />
        <end code='//Configuration End\n\n' />
    </config>
</inline>
<test >
    <icd >
        <clock port='1' pin='1' />
        <data port='1' pin='0' />
    </icd>
</test>
</root>
    