<root>
<device name='24FJ64GB002' product='PIC16' family='24F' bits='16' >
    <clock max_speed='32000000' master_divider='2' default='12000000' />
    <memory >
        <flash bytes='65536' />
        <ram bytes='8192' />
    </memory>
    <configuration address='0xABF8' mult='2' >
        <format >
            <word address='_CONFIG4' value='0xFFFF' />
            <word address='_CONFIG3' value='0xFFFF' />
            <word address='_CONFIG2' value='0xFFBF' />
            <word address='_CONFIG1' value='0x7FFF' />
        </format>
        <setting />
        <settings >
            <setting name='DSWDTPS' offset='0' mask='15' bits='4' hint='DSWDT Postscale Select' >
                <option name='1:2,147,483,648 (25.7 days)' value='15' />
                <option name='1:536,870,912 (6.4 days)' value='14' />
                <option name='1:134,217,728 (38.5 hours)' value='13' />
                <option name='1:33,554,432 (9.6 hours)' value='12' />
                <option name='1:8,388,608 (2.4 hours)' value='11' />
                <option name='1:2,097,152 (36 minutes)' value='10' />
                <option name='1:524,288 (9 minutes)' value='9' />
                <option name='1:131,072 (135 seconds)' value='8' />
                <option name='1:32,768 (34 seconds)' value='7' />
                <option name='1:8,192 (8.5 seconds)' value='6' />
                <option name='1:2,048 (2.1 seconds)' value='5' />
                <option name='1:512 (528 ms)' value='4' />
                <option name='1:128 (132 ms)' value='3' />
                <option name='1:32 (33 ms)' value='2' />
                <option name='1:8 (8.3 ms)' value='1' />
                <option name='1:2 (2.1 ms)' value='0' />
            </setting>
            <setting name='DSWCKSEL' offset='4' mask='1' bits='1' hint='Deep Sleep Watchdog Timer Oscillator Select' >
                <option name='Low Power RC Oscillator (LPRC)' value='1' />
                <option name='Secondary Oscillator (SOSC)' value='0' />
            </setting>
            <setting name='RTCCKSEL' offset='5' mask='1' bits='1' hint='RTCC Reference Oscillator  Select' >
                <option name='Secondary Oscillator (SOSC)' value='1' />
                <option name='Low Power RC Oscillator (LPRC)' value='0' />
            </setting>
            <setting name='DSBOREN' offset='6' mask='1' bits='1' hint='Deep Sleep BOR' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='DSWDTEN' offset='7' mask='1' bits='1' hint='Deep Sleep Watchdog Timer' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='RES1' offset='8' mask='255' bits='8' hint='Reserved' >
                <option name='Reserved' value='255' />
            </setting>
            <setting name='WPFP' offset='16' mask='63' bits='6' hint='Write Protection Flash Page Segment Boundary' >
                <option name='Page 0 (0x0)' value='0' />
                <option name='Page 1 (0x400)' value='1' />
                <option name='Page 2 (0x800)' value='2' />
                <option name='Page 3 (0xC00)' value='3' />
                <option name='Page 4 (0x1000)' value='4' />
                <option name='Page 5 (0x1400)' value='5' />
                <option name='Page 6 (0x1800)' value='6' />
                <option name='Page 7 (0x1C00)' value='7' />
                <option name='Page 8 (0x2000)' value='8' />
                <option name='Page 9 (0x2400)' value='9' />
                <option name='Page 10 (0x2800)' value='10' />
                <option name='Page 11 (0x2C00)' value='11' />
                <option name='Page 12 (0x3000)' value='12' />
                <option name='Page 13 (0x3400)' value='13' />
                <option name='Page 14 (0x3800)' value='14' />
                <option name='Page 15 (0x3C00)' value='15' />
                <option name='Page 16 (0x4000)' value='16' />
                <option name='Page 17 (0x4400)' value='17' />
                <option name='Page 18 (0x4800)' value='18' />
                <option name='Page 19 (0x4C00)' value='19' />
                <option name='Page 20 (0x5000)' value='20' />
                <option name='Page 21 (0x5400)' value='21' />
                <option name='Page 22 (0x5800)' value='22' />
                <option name='Page 23 (0x5C00)' value='23' />
                <option name='Page 24 (0x6000)' value='24' />
                <option name='Page 25 (0x6400)' value='25' />
                <option name='Page 26 (0x6800)' value='26' />
                <option name='Page 27 (0x6C00)' value='27' />
                <option name='Page 28 (0x7000)' value='28' />
                <option name='Page 29 (0x7400)' value='29' />
                <option name='Page 30 (0x7800)' value='30' />
                <option name='Page 31 (0x7C00)' value='31' />
                <option name='Page 32 (0x8000)' value='32' />
                <option name='Page 33 (0x8400)' value='33' />
                <option name='Page 34 (0x8800)' value='34' />
                <option name='Page 35 (0x8C00)' value='35' />
                <option name='Page 36 (0x9000)' value='36' />
                <option name='Page 37 (0x9400)' value='37' />
                <option name='Page 38 (0x9800)' value='38' />
                <option name='Page 39 (0x9C00)' value='39' />
                <option name='Page 40 (0xA000)' value='40' />
                <option name='Page 41 (0xA400)' value='41' />
                <option name='Page 42 (0xA800)' value='42' />
                <option name='Highest Page (same as page 42)' value='63' />
            </setting>
            <setting name='RES2' offset='22' mask='3' bits='2' hint='Reserved' >
                <option name='Reserved' value='3' />
            </setting>
            <setting name='SOSCSEL' offset='24' mask='3' bits='2' hint='Secondary Oscillator Pin Mode Select' >
                <option name='SOSC pins in Default (high drive-strength) Oscillator Mode' value='3' />
                <option name='SOSC pins in Low-Power (low drive-strength) Oscillator Mode' value='1' />
                <option name='SOSC pins have digital I/O functions (RA4, RB4)' value='0' />
            </setting>
            <setting name='WUTSEL' offset='26' mask='3' bits='2' hint='Voltage Regulator Wake-up Time Select' >
                <option name='Legacy Wake-up Timer' value='3' />
                <option name='Fast Wake-up Timer' value='1' />
            </setting>
            <setting name='RES1' offset='28' mask='1' bits='1' hint='Reserved' >
                <option name='Reserved' value='1' />
            </setting>
            <setting name='WPDIS' offset='29' mask='1' bits='1' hint='Segment Write Protection Disable' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WPCFG' offset='30' mask='1' bits='1' hint='Write Protect Configuration Page Select' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WPEND' offset='31' mask='1' bits='1' hint='Segment Write Protection End Page Select' >
                <option name='Write Protect from WPFP to the last page of memory' value='1' />
                <option name='Write Protect from page 0 to WPFP' value='0' />
            </setting>
            <setting name='POSCMOD' offset='32' mask='3' bits='2' hint='Primary Oscillator Select' >
                <option name='Primary Oscillator Disabled' value='3' />
                <option name='HS Oscillator Enabled' value='2' />
                <option name='XT Oscillator Enabled' value='1' />
                <option name='External-Clock Mode Enabled' value='0' />
            </setting>
            <setting name='I2C1SEL' offset='34' mask='1' bits='1' hint='I2C1 Pin Select bit' >
                <option name='Use SCL1/SDA1 pins for I2C1' value='1' />
                <option name='Use ASCL1/ASDA1 pins for I2C1' value='0' />
            </setting>
            <setting name='RES1' offset='35' mask='1' bits='1' hint='Reserved' >
                <option name='Reserved' value='1' />
            </setting>
            <setting name='IOL1WAY' offset='36' mask='1' bits='1' hint='IOLOCK One-Way Set Enable' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='OSCIOFNC' offset='37' mask='1' bits='1' hint='OSCO Pin Configuration' >
                <option name='Enabled' value='0' />
                <option name='Disabled' value='1' />
            </setting>
            <setting name='FCKSM' offset='38' mask='3' bits='2' hint='Clock Switching and Fail-Safe Clock Monitor' >
                <option name='Sw Disabled, Mon Disabled' value='2' />
                <option name='Sw Enabled, Mon Disabled' value='1' />
                <option name='Sw Enabled, Mon Enabled' value='0' />
            </setting>
            <setting name='FNOSC' offset='40' mask='7' bits='3' hint='Initial Oscillator Select' >
                <option name='Fast RC Oscillator with Postscaler (FRCDIV)' value='7' />
                <option name='Low-Power RC Oscillator (LPRC)' value='5' />
                <option name='Secondary Oscillator (SOSC)' value='4' />
                <option name='Primary Oscillator with PLL module (HSPLL, ECPLL)' value='3' />
                <option name='Primary Oscillator (XT, HS, EC)' value='2' />
                <option name='Fast RC Oscillator with PLL module (FRCPLL)' value='1' />
                <option name='Fast RC Oscillator (FRC)' value='0' />
            </setting>
            <setting name='PLL96MHZ' offset='43' mask='1' bits='1' hint='96MHz PLL Startup Select' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='PLLDIV' offset='44' mask='7' bits='3' hint='USB 96 MHz PLL Prescaler Select' >
                <option name='Oscillator input divided by 12 (48 MHz input)' value='7' />
                <option name='Oscillator input divided by 8 (32 MHz input)' value='6' />
                <option name='Oscillator input divided by 6 (24 MHz input)' value='5' />
                <option name='Oscillator input divided by 5 (20 MHz input)' value='4' />
                <option name='Oscillator input divided by 4 (16 MHz input)' value='3' />
                <option name='Oscillator input divided by 3 (12 MHz input)' value='2' />
                <option name='Oscillator input divided by 2 (8 MHz input)' value='1' />
                <option name='Oscillator input used directly (4 MHz input)' value='0' />
            </setting>
            <setting name='IESO' offset='47' mask='1' bits='1' hint='Internal External Switchover' >
                <option name='Disabled' value='0' />
                <option name='Enabled' value='1' />
            </setting>
            <setting name='WDTPS' offset='48' mask='15' bits='4' hint='Watchdog Timer Postscaler' >
                <option name='1:32,768' value='15' />
                <option name='1:16,384' value='14' />
                <option name='1:8,192' value='13' />
                <option name='1:4,096' value='12' />
                <option name='1:2,048' value='11' />
                <option name='1:1,024' value='10' />
                <option name='1:512' value='9' />
                <option name='1:256' value='8' />
                <option name='1:128' value='7' />
                <option name='1:64' value='6' />
                <option name='1:32' value='5' />
                <option name='1:16' value='4' />
                <option name='1:8' value='3' />
                <option name='1:4' value='2' />
                <option name='1:2' value='1' />
                <option name='1:1' value='0' />
            </setting>
            <setting name='FWPSA' offset='52' mask='1' bits='1' hint='WDT Prescaler' >
                <option name='1:128' value='1' />
                <option name='1:32' value='0' />
            </setting>
            <setting name='RES2' offset='53' mask='1' bits='1' hint='Reserved' >
                <option name='Reserved' value='1' />
            </setting>
            <setting name='WINDIS' offset='54' mask='1' bits='1' hint='Windowed WDT' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='FWDTEN' offset='55' mask='1' bits='1' hint='Watchdog Timer' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='ICS' offset='56' mask='3' bits='2' hint='Emulator Pin Placement Select bits' >
                <option name='Emulator functions are shared with PGEC3/PGED3' value='1' />
                <option name='Emulator functions are shared with PGEC2/PGED2' value='2' />
                <option name='Emulator functions are shared with PGEC1/PGED1' value='3' />
            </setting>
            <setting name='RES1' offset='58' mask='1' bits='1' hint='Reserved' >
                <option name='Reserved' value='1' />
            </setting>
            <setting name='BKBUG' offset='59' mask='1' bits='1' hint='Background Debugger' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='GWRP' offset='60' mask='1' bits='1' hint='General Segment Write Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='GCP' offset='61' mask='1' bits='1' hint='General Segment Code Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='JTAGEN' offset='62' mask='1' bits='1' hint='JTAG Port Enable' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='SIGN' offset='63' mask='1' bits='1' hint='Signature Bit' >
                <option name='Correct' value='0' />
            </setting>
        </settings>
    </configuration>
    <pins sides='2' smd='1' >
        <pin name='MCLR' />
        <pin name='AN0 / VREF+ / RA0' port='0' bit='0' adc='0' rpreg='RPOR2bits.RP5R' rpnum='5' />
        <pin name='AN1 / RA1' port='0' bit='1' adc='1' rpreg='RPOR3bits.RP6R' rpnum='6' />
        <pin name='AN2 / RB0' port='1' bit='0' adc='2' rpreg='RPOR0bits.RP0R' rpnum='0' />
        <pin name='AN3 / RB1' port='1' bit='1' adc='3' rpreg='RPOR0bits.RP1R' rpnum='1' />
        <pin name='AN4 / SDA2 / RB2' port='1' bit='2' adc='4' rpreg='RPOR1bits.RP2R' rpnum='2' />
        <pin name='AN5 / SCL2 / RB3' port='1' bit='3' adc='5' rpreg='RPOR1bits.RP3R' rpnum='3' />
        <pin name='VSS' />
        <pin name='OSC1 / RA2' port='0' bit='2' />
        <pin name='OSC2 / RA3' port='0' bit='3' />
        <pin name='RB4' port='1' bit='4' rpreg='RPOR2bits.RP4R' rpnum='4' />
        <pin name='RA4' port='0' bit='4' />
        <pin name='VDD' />
        <pin name='RB5' port='1' bit='5' />
        <pin name='VBUS' />
        <pin name='INT0 / RB7' port='1' bit='7' rpreg='RPOR3bits.RP7R' rpnum='7' />
        <pin name='SCL1 / RB8' port='1' bit='8' rpreg='RPOR4bits.RP8R' rpnum='8' />
        <pin name='SDA1 / RB9' port='1' bit='9' rpreg='RPOR4bits.RP9R' rpnum='9' />
        <pin name='DISVREG' />
        <pin name='VDDCORE' />
        <pin name='D+ / RB10' port='1' bit='10' rpreg='RPOR5bits.RP10R' rpnum='10' />
        <pin name='D- / RB11' port='1' bit='11' rpreg='RPOR5bits.RP11R' rpnum='11' />
        <pin name='VUSB' />
        <pin name='AN11 / RB13' port='1' bit='13' adc='11' rpreg='RPOR6bits.RP13R' rpnum='13' />
        <pin name='AN10 / RB14' port='1' bit='14' adc='10' rpreg='RPOR7bits.RP14R' rpnum='14' />
        <pin name='AN9 / RB15' port='1' bit='15' adc='9' rpreg='RPOR7bits.RP15R' rpnum='15' />
        <pin name='VSS' />
        <pin name='VDD' />
    </pins>
    <adc type='1' bits='10' >
        <speed >
            <option name='FRC' value='64' />
            <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='1'>
        <miso rpreg='RPINR20bits.SDI1R' />
        <mosi rpnum='7' />
        <clk rpnum='8' />
    </spi>
    <spi remappable='1'>
        <miso rpreg='RPINR22bits.SDI2R' />
        <mosi rpnum='10' />
        <clk rpnum='11' />
    </spi>
    <uart remappable='1' >
        <tx rpnum='3' />
        <rx rpreg='RPINR18bits.U1RXR' />
    </uart>
    <uart remappable='1' >
        <tx rpnum='5' />
        <rx rpreg='RPINR19bits.U2RXR' />
    </uart>
    <i2c master='1' >
        <sda port='1' pin='9' />
        <scl port='1' pin='8' />
    </i2c>
    <pwm remappable='1' >
        <prescaler >
            <option name='1' value='0' />
            <option name='8' value='1' />
            <option name='64' value='2' />
            <option name='256' value='3' />
        </prescaler>
        <out rpnum='18' />
        <out rpnum='19' />
        <out rpnum='20' />
        <out rpnum='21' />
        <out rpnum='22' />
    </pwm>
    <usb type='1' />
    <interrupts >
        <interrupt ident='TMR1' type='timer16' name='Timer 1' handler='#ifndef MX_ISR_T1\n#define MX_ISR_T1\nvoid _ISR _T1Interrupt(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='IEC0bits.T1IE = 1;\n' disable='IEC0bits.T1IE = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal (Fosc / 2)' clkdiv='2' value='T1CON = ((T1CON &amp; 0xfffd) | 0x8000);\n' />
                    <entry name='External' clkdiv='0' value='T1CON |= 0x8002;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T1CON &amp;= 0xff0f;\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' type='timer16' name='Timer 2' handler='#ifndef MX_ISR_T2\n#define MX_ISR_T2\nvoid _ISR _T2Interrupt(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='IEC0bits.T2IE = 1;\n' disable='IEC0bits.T2IE = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal (Fosc / 2)' clkdiv='2' value='T2CON = ((T2CON &amp; 0xfffd) | 0x8000);\n' />
                    <entry name='External' clkdiv='0' value='T2CON |= 0x8002;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T2CON &amp;= 0xff0f;\n' />
                    <entry name='1:8' value='T2CON = ((T2CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:64' value='T2CON = ((T2CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:256' value='T2CON = ((T2CON &amp; 0xff0f) | 0x0030);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR2=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR3' type='timer16' name='Timer 3' handler='#ifndef MX_ISR_T3\n#define MX_ISR_T3\nvoid _ISR _T3Interrupt(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='IEC0bits.T3IE = 1;\n' disable='IEC0bits.T3IE = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal (Fosc / 2)' clkdiv='2' value='T3CON = ((T3CON &amp; 0xfffd) | 0x8000);\n' />
                    <entry name='External' clkdiv='0' value='T3CON |= 0x8002;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T3CON &amp;= 0xff0f;\n' />
                    <entry name='1:8' value='T3CON = ((T3CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:64' value='T3CON = ((T3CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:256' value='T3CON = ((T3CON &amp; 0xff0f) | 0x0030);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR3=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR4' type='timer16' name='Timer 4' handler='#ifndef MX_ISR_T4\n#define MX_ISR_T4\nvoid _ISR _T4Interrupt(void)\n{\n\tIFS1bits.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='IEC1bits.T4IE = 1;\n' disable='IEC1bits.T4IE = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal (Fosc / 2)' clkdiv='2' value='T4CON = ((T4CON &amp; 0xfffd) | 0x8000);\n' />
                    <entry name='External' clkdiv='0' value='T4CON |= 0x8002;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T4CON &amp;= 0xff0f;\n' />
                    <entry name='1:8' value='T4CON = ((T4CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:64' value='T4CON = ((T4CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:256' value='T4CON = ((T4CON &amp; 0xff0f) | 0x0030);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR4=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='TMR5' type='timer16' name='Timer 5' handler='#ifndef MX_ISR_T5\n#define MX_ISR_T5\nvoid _ISR _T5Interrupt(void)\n{\n\tIFS1bits.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='IEC1bits.T5IE = 1;\n' disable='IEC1bits.T5IE = 0;\n' >
            <timer overflow='65536' extrange='0' />
            <options >
                <option name='Clock Source Select' >
                    <entry name='Internal (Fosc / 2)' clkdiv='2' value='T5CON = ((T5CON &amp; 0xfffd) | 0x8000);\n' />
                    <entry name='External' clkdiv='0' value='T5CON |= 0x8002;\n' />
                </option>
                <prescale name='Prescaler Rate' >
                    <entry name='1:1' value='T5CON &amp;= 0xff0f;\n' />
                    <entry name='1:8' value='T5CON = ((T5CON &amp; 0xff0f) | 0x0010);\n' />
                    <entry name='1:64' value='T5CON = ((T5CON &amp; 0xff0f) | 0x0020);\n' />
                    <entry name='1:256' value='T5CON = ((T5CON &amp; 0xff0f) | 0x0030);\n' />
                </prescale>
                <rollover name='Rollover Value' >
                    <entry name='65536' min='1' max='65536' value='PR5=%d-1;\n' />
                </rollover>
            </options>
        </interrupt>
        <interrupt ident='INT0' type='pin' name='INT0/RB7' handler='#ifndef MX_ISR_I0\n#define MX_ISR_I0\nvoid _ISR _INT0Interrupt(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;' disable='IEC0bits.INT0IE = 0;' >
            <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='INTCON2bits.INT0EP = 0;\n' />
                    <entry name='Falling edge of INT' value='INTCON2bits.INT0EP = 1;\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT1' type='pin' name='INT1/REMAP' handler='#ifndef MX_ISR_I1\n#define MX_ISR_I1\nvoid _ISR _INT1Interrupt(void)\n{\n\tIFS1bits.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='IEC1bits.INT1IE = 1;' disable='IEC1bits.INT1IE = 0;' >
            <ioc config='3' >
                <rising port='1' mask='0x02' />
                <falling port='1' mask='0x02' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='INTCON2bits.INT1EP = 0;\n' />
                    <entry name='Falling edge of INT' value='INTCON2bits.INT1EP = 1;\n' />
                </edge>
                <option name='Remapped Pin Selection' >
                    <entry name='RP0' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 0;\n' />
                    <entry name='RP1' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 1;\n' />
                    <entry name='RP2' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 2;\n' />
                    <entry name='RP3' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 3;\n' />
                    <entry name='RP4' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 4;\n' />
                    <entry name='RP5' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 5;\n' />
                    <entry name='RP6' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 6;\n' />
                    <entry name='RP7' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 7;\n' />
                    <entry name='RP8' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 8;\n' />
                    <entry name='RP9' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 9;\n' />
                    <entry name='RP10' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 10;\n' />
                    <entry name='RP11' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 11;\n' />
                    <entry name='RP12' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 12;\n' />
                    <entry name='RP13' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 13;\n' />
                    <entry name='RP14' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 14;\n' />
                    <entry name='RP15' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 15;\n' />
                    <entry name='RP16' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 16;\n' />
                    <entry name='RP17' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 17;\n' />
                    <entry name='RP18' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 18;\n' />
                    <entry name='RP19' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 19;\n' />
                    <entry name='RP20' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 20;\n' />
                    <entry name='RP21' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 21;\n' />
                    <entry name='RP22' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 22;\n' />
                    <entry name='RP23' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 23;\n' />
                    <entry name='RP24' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 24;\n' />
                    <entry name='RP25' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 25;\n' />
                    <entry name='RP26' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 26;\n' />
                    <entry name='RP27' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 27;\n' />
                    <entry name='RP28' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 28;\n' />
                    <entry name='RP29' value='RPINR0 = (RPINR0 &amp; 0xFF00) | 29;\n' />
                </option>
                <option name='Simulation Pin' >
                    <entry name='RB1' value='' />
                </option>
            </options>
        </interrupt>
        <interrupt ident='INT2' type='pin' name='INT2/REMAP' handler='#ifndef MX_ISR_I2\n#define MX_ISR_I2\nvoid _ISR _INT2Interrupt(void)\n{\n\tIFS1bits.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='IEC1bits.INT2IE = 1;' disable='IEC1bits.INT2IE = 0;' >
            <ioc config='3' >
                <rising port='1' mask='0x04' />
                <falling port='1' mask='0x04' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='INTCON2bits.INT2EP = 0;\n' />
                    <entry name='Falling edge of INT' value='INTCON2bits.INT2EP = 1;\n' />
                </edge>
                <option name='Remapped Pin Selection' >
                    <entry name='RP0' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 0;\n' />
                    <entry name='RP1' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 1;\n' />
                    <entry name='RP2' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 2;\n' />
                    <entry name='RP3' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 3;\n' />
                    <entry name='RP4' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 4;\n' />
                    <entry name='RP5' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 5;\n' />
                    <entry name='RP6' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 6;\n' />
                    <entry name='RP7' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 7;\n' />
                    <entry name='RP8' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 8;\n' />
                    <entry name='RP9' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 9;\n' />
                    <entry name='RP10' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 10;\n' />
                    <entry name='RP11' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 11;\n' />
                    <entry name='RP12' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 12;\n' />
                    <entry name='RP13' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 13;\n' />
                    <entry name='RP14' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 14;\n' />
                    <entry name='RP15' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 15;\n' />
                    <entry name='RP16' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 16;\n' />
                    <entry name='RP17' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 17;\n' />
                    <entry name='RP18' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 18;\n' />
                    <entry name='RP19' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 19;\n' />
                    <entry name='RP20' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 20;\n' />
                    <entry name='RP21' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 21;\n' />
                    <entry name='RP22' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 22;\n' />
                    <entry name='RP23' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 23;\n' />
                    <entry name='RP24' value='RPINR1 = (RPINR1 &amp; 0xFF00) |24;\n' />
                    <entry name='RP25' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 25;\n' />
                    <entry name='RP26' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 26;\n' />
                    <entry name='RP27' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 27;\n' />
                    <entry name='RP28' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 28;\n' />
                    <entry name='RP29' value='RPINR1 = (RPINR1 &amp; 0xFF00) | 29;\n' />
                </option>
                <option name='Simulation Pin' >
                    <entry name='RB2' value='' />
                </option>
            </options>
        </interrupt>
        <interrupt ident='IOC0' type='multipin' name='IOC PORT' handler='#ifndef MX_ISR_CN\n#define MX_ISR_CN\nvoid _ISR _CNInterrupt(void)\n{\n\tIFS1bits.CNIF = 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='CNEN1 = $(Aval);\nCNEN2 = $(Bval);\nIEC1bits.CNIE = 1;\n' disable='IEC1bits.CNIE = 0;\n' >
            <map >
                <pin port='0' bit='4' ident='0' />
                <pin port='1' bit='4' ident='1' />
                <pin port='0' bit='0' ident='2' />
                <pin port='0' bit='1' ident='3' />
                <pin port='1' bit='0' ident='4' />
                <pin port='1' bit='1' ident='5' />
                <pin port='1' bit='2' ident='6' />
                <pin port='1' bit='3' ident='7' />
                <pin port='1' bit='15' ident='11' />
                <pin port='1' bit='14' ident='12' />
                <pin port='1' bit='13' ident='13' />
                <pin port='1' bit='11' ident='15' />
                <pin port='1' bit='10' ident='16' />
                <pin port='1' bit='9' ident='21' />
                <pin port='1' bit='8' ident='22' />
                <pin port='1' bit='7' ident='23' />
                <pin port='1' bit='5' ident='27' />
                <pin port='0' bit='3' ident='29' />
                <pin port='0' bit='2' ident='30' />
            </map>
            <ioc config='0x0C' >
                <rising port='0' mask='0xB8FF' />
                <rising port='1' mask='0x68E1' />
                <falling port='0' mask='0xB8FF' />
                <falling port='1' mask='0x68E1' />
            </ioc>
        </interrupt>
        <interrupt ident='RXINT0' type='comms' name='UART RXINT 1' handler='#ifndef MX_ISR_RX1\n#define MX_ISR_RX1\nvoid _ISR _U1RXInterrupt(void)\n{\n\tIFS0bits.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='IEC0bits.U1RXIE = 1;\n' disable='IEC0bits.U1RXIE = 0;\n' />
        <interrupt ident='RXINT1' type='comms' name='UART RXINT 2' handler='#ifndef MX_ISR_RX2\n#define MX_ISR_RX2\nvoid _ISR _U2RXInterrupt(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='IEC1bits.U2RXIE = 1;\n' disable='IEC1bits.U2RXIE = 0;\n' />
    </interrupts>
</device>
<inline >
    <main >
        <start code='int main()\n{\n' />
        <end code='\tmainendloop: goto mainendloop;\n\treturn 0;\n}\n\n' />
        <init code='AD1PCFG = 0xffff;\n' />
    </main>
    <interrupt >
        <enable code='' />
        <start code='' />
        <end code='' />
        <init code='' />
    </interrupt>
    <config >
        <start code='\n#include &quot;../support/24F/h/p24Fxxxx.h&quot;\n#include &lt;stdlib.h&gt;\n#include &lt;math.h&gt;\n\n//Configuration Start\n' />
        <body code='$(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>
