<root>
<device name='24FJ128GC006' product='PIC16' family='24F' bits='16' >
    <clock max_speed='32000000' master_divider='2' default='12000000' />
    <memory >
        <flash bytes='131072' />
        <ram bytes='8192' />
    </memory>
    <configuration address='0x157FC' mult='2' >
        <format >
            <word address='_CONFIG1' value='0xFFFF' />
            <word address='_CONFIG2' value='0xFFFF' />
            <word address='_CONFIG3' value='0xFFFF' />
            <word address='_CONFIG4' value='0xFFFF' />
        </format>
        <setting />
        <settings >
            <setting name='WDTPS' offset='0' 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='4' mask='1' bits='1' hint='WDT Prescaler' >
                <option name='1:128' value='1' />
                <option name='1:32' value='0' />
            </setting>
            <setting name='WINDIS' offset='5' mask='1' bits='1' hint='Watchdog Timer Window' >
                <option name='Non-Window mode' value='1' />
                <option name='Window mode' value='0' />
            </setting>
            <setting name='FWDTEN' offset='6' mask='3' bits='2' hint='Watchdog Timer Enable' >
            	<option name='WDT is always enabled; SWDTEN bit has no effect' value='3' />
            	<option name='WDT is enabled and controlled in firmware by the SWDTEN bit' value='2' />
                <option name='WDT is enabled only in Run mode and is disabled in Sleep modes' value='1' />
                <option name='WDT is disabled; SWDTEN bit is disabled' value='0' />
            </setting>
            <setting name='ICS' offset='8' mask='3' bits='2' hint='Comm Channel Select' >
                <option name='EMUC1/EMUD1 shared with PCG1/PGD1' value='3' />
                <option name='EMUC2/EMUD2 shared with PCG2/PGD2' value='2' />
                <option name='EMUC3/EMUD3 shared with PCG3/PGD3' value='1' />
            </setting>
            <setting name='LPCFG' offset='10' mask='1' bits='1' hint='Low Voltage Configuration' >
                <option name='Low-voltage/retention regulator is always disabled' value='1' />
                <option name='Low-power, low-voltage/retention regulator is enabled' value='0' />
            </setting>
            <setting name='GWRP' offset='12' mask='1' bits='1' hint='General Code Segment Write Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='GSS' offset='13' mask='1' bits='1' hint='General Code Segment Code Protect' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='JTAGEN' offset='14' mask='1' bits='1' hint='JTAG Port Enable' >
                <option name='Enabled' value='1' />
                <option name='Disabled' value='0' />
            </setting>
            <setting name='POSCMOD' offset='16' 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='WDTCLK' offset='19' mask='3' bits='2' hint='Watchdog Clock Source' >
                <option name='LPRC' value='3' />
                <option name='Either the 31 kHz FRC source or LPRC, depending on device configuration' value='2' />
                <option name='SOSC input' value='1' />
                <option name='System clock when active, LPRC while in Sleep mode' value='0' />
            </setting>
            <setting name='OSCIOFNC' offset='21' mask='1' bits='1' hint='Primary Oscillator Output Function' >
                <option name='OSCO pin has digital I/O function' value='0' />
                <option name='OSCO pin has clock out function' value='1' />
            </setting>
            <setting name='FCKSM' offset='22' mask='3' bits='2' hint='Clock Switching and 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='24' mask='7' bits='3' hint='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='ALTADREF' offset='27' mask='1' bits='1' hint='External AVREF+ Location' >
                <option name='AVREF+ = RB0 / AVREF- = RB1' value='0' />
                <option name='AVREF+ = RA9 / AVREF- = RA10' value='1' />
            </setting>
            <setting name='ALTCVREF' offset='28' mask='1' bits='1' hint='External CVREF+ Location' >
                <option name='CVREF+ = RB0 / CVREF- = RB1' value='0' />
                <option name='CVREF+ = RA9 / CVREF- = RA10' value='1' />
            </setting>
            <setting name='WDTCMX' offset='29' mask='1' bits='1' hint='Watchdog Clock Multiplex Control' >
                <option name='Disables clock multiplexing' value='0' />
                <option name='Enables clock multiplexing' value='1' />
            </setting>
            <setting name='VBTBOR' offset='30' mask='1' bits='1' hint='VBAT BOR Enable' >
                <option name='Disabled' value='0' />
                <option name='Enabled' value='1' />
            </setting>
            <setting name='IESO' offset='31' mask='1' bits='1' hint='Internal External Switch Over Mode' >
                <option name='Disabled' value='0' />
                <option name='Enabled' value='1' />
            </setting>
            <setting name='WPFP' offset='32' mask='127' bits='7' hint='Write/Erase Protect Page Start/End Location' >
                <option name='Write Protect Program Flash Page 0' value='0' />
                <option name='Write Protect Program Flash Page 1' value='1' />
                <option name='Write Protect Program Flash Page 2' value='2' />
                <option name='Write Protect Program Flash Page 3' value='3' />
                <option name='Write Protect Program Flash Page 4' value='4' />
                <option name='Write Protect Program Flash Page 5' value='5' />
                <option name='Write Protect Program Flash Page 6' value='6' />
                <option name='Write Protect Program Flash Page 7' value='7' />
                <option name='Write Protect Program Flash Page 8' value='8' />
                <option name='Write Protect Program Flash Page 9' value='9' />
                <option name='Write Protect Program Flash Page 10' value='10' />
                <option name='Write Protect Program Flash Page 11' value='11' />
                <option name='Write Protect Program Flash Page 12' value='12' />
                <option name='Write Protect Program Flash Page 13' value='13' />
                <option name='Write Protect Program Flash Page 14' value='14' />
                <option name='Write Protect Program Flash Page 15' value='15' />
                <option name='Write Protect Program Flash Page 16' value='16' />
                <option name='Write Protect Program Flash Page 17' value='17' />
                <option name='Write Protect Program Flash Page 18' value='18' />
                <option name='Write Protect Program Flash Page 19' value='19' />
                <option name='Write Protect Program Flash Page 20' value='20' />
                <option name='Write Protect Program Flash Page 21' value='21' />
                <option name='Write Protect Program Flash Page 22' value='22' />
                <option name='Write Protect Program Flash Page 23' value='23' />
                <option name='Write Protect Program Flash Page 24' value='24' />
                <option name='Write Protect Program Flash Page 25' value='25' />
                <option name='Write Protect Program Flash Page 26' value='26' />
                <option name='Write Protect Program Flash Page 27' value='27' />
                <option name='Write Protect Program Flash Page 28' value='28' />
                <option name='Write Protect Program Flash Page 29' value='29' />
                <option name='Write Protect Program Flash Page 30' value='30' />
                <option name='Write Protect Program Flash Page 31' value='31' />
                <option name='Write Protect Program Flash Page 32' value='32' />
                <option name='Write Protect Program Flash Page 33' value='33' />
                <option name='Write Protect Program Flash Page 34' value='34' />
                <option name='Write Protect Program Flash Page 35' value='35' />
                <option name='Write Protect Program Flash Page 36' value='36' />
                <option name='Write Protect Program Flash Page 37' value='37' />
                <option name='Write Protect Program Flash Page 38' value='38' />
                <option name='Write Protect Program Flash Page 39' value='39' />
                <option name='Write Protect Program Flash Page 40' value='40' />
                <option name='Write Protect Program Flash Page 41' value='41' />
                <option name='Write Protect Program Flash Page 42' value='42' />
                <option name='Write Protect Program Flash Page 43' value='43' />
                <option name='Write Protect Program Flash Page 44' value='44' />
                <option name='Write Protect Program Flash Page 45' value='45' />
                <option name='Write Protect Program Flash Page 46' value='46' />
                <option name='Write Protect Program Flash Page 47' value='47' />
                <option name='Write Protect Program Flash Page 48' value='48' />
                <option name='Write Protect Program Flash Page 49' value='49' />
                <option name='Write Protect Program Flash Page 50' value='50' />
                <option name='Write Protect Program Flash Page 51' value='51' />
                <option name='Write Protect Program Flash Page 52' value='52' />
                <option name='Write Protect Program Flash Page 53' value='53' />
                <option name='Write Protect Program Flash Page 54' value='54' />
                <option name='Write Protect Program Flash Page 55' value='55' />
                <option name='Write Protect Program Flash Page 56' value='56' />
                <option name='Write Protect Program Flash Page 57' value='57' />
                <option name='Write Protect Program Flash Page 58' value='58' />
                <option name='Write Protect Program Flash Page 59' value='59' />
                <option name='Write Protect Program Flash Page 60' value='60' />
                <option name='Write Protect Program Flash Page 61' value='61' />
                <option name='Write Protect Program Flash Page 62' value='62' />
                <option name='Write Protect Program Flash Page 63' value='63' />
                <option name='Write Protect Program Flash Page 64' value='64' />
                <option name='Write Protect Program Flash Page 65' value='65' />
                <option name='Write Protect Program Flash Page 66' value='66' />
                <option name='Write Protect Program Flash Page 67' value='67' />
                <option name='Write Protect Program Flash Page 68' value='68' />
                <option name='Write Protect Program Flash Page 69' value='69' />
                <option name='Write Protect Program Flash Page 70' value='70' />
                <option name='Write Protect Program Flash Page 71' value='71' />
                <option name='Write Protect Program Flash Page 72' value='72' />
                <option name='Write Protect Program Flash Page 73' value='73' />
                <option name='Write Protect Program Flash Page 74' value='74' />
                <option name='Write Protect Program Flash Page 75' value='75' />
                <option name='Write Protect Program Flash Page 76' value='76' />
                <option name='Write Protect Program Flash Page 77' value='77' />
                <option name='Write Protect Program Flash Page 78' value='78' />
                <option name='Write Protect Program Flash Page 79' value='79' />
                <option name='Write Protect Program Flash Page 80' value='80' />
                <option name='Write Protect Program Flash Page 81' value='81' />
                <option name='Write Protect Program Flash Page 82' value='82' />
                <option name='Write Protect Program Flash Page 83' value='83' />
                <option name='Write Protect Program Flash Page 84' value='84' />
                <option name='Write Protect Program Flash Page 85' value='85' />
                <option name='Write Protect Program Flash Page 86' value='86' />
                <option name='Write Protect Program Flash Page 87' value='87' />
                <option name='Write Protect Program Flash Page 88' value='88' />
                <option name='Write Protect Program Flash Page 89' value='89' />
                <option name='Write Protect Program Flash Page 90' value='90' />
                <option name='Write Protect Program Flash Page 91' value='91' />
                <option name='Write Protect Program Flash Page 92' value='92' />
                <option name='Write Protect Program Flash Page 93' value='93' />
                <option name='Write Protect Program Flash Page 94' value='94' />
                <option name='Write Protect Program Flash Page 95' value='95' />
                <option name='Write Protect Program Flash Page 96' value='96' />
                <option name='Write Protect Program Flash Page 97' value='97' />
                <option name='Write Protect Program Flash Page 98' value='98' />
                <option name='Write Protect Program Flash Page 99' value='99' />
                <option name='Write Protect Program Flash Page 100' value='100' />
                <option name='Write Protect Program Flash Page 101' value='101' />
                <option name='Write Protect Program Flash Page 102' value='102' />
                <option name='Write Protect Program Flash Page 103' value='103' />
                <option name='Write Protect Program Flash Page 104' value='104' />
                <option name='Write Protect Program Flash Page 105' value='105' />
                <option name='Write Protect Program Flash Page 106' value='106' />
                <option name='Write Protect Program Flash Page 107' value='107' />
                <option name='Write Protect Program Flash Page 108' value='108' />
                <option name='Write Protect Program Flash Page 109' value='109' />
                <option name='Write Protect Program Flash Page 110' value='110' />
                <option name='Write Protect Program Flash Page 111' value='111' />
                <option name='Write Protect Program Flash Page 112' value='112' />
                <option name='Write Protect Program Flash Page 113' value='113' />
                <option name='Write Protect Program Flash Page 114' value='114' />
                <option name='Write Protect Program Flash Page 115' value='115' />
                <option name='Write Protect Program Flash Page 116' value='116' />
                <option name='Write Protect Program Flash Page 117' value='117' />
                <option name='Write Protect Program Flash Page 118' value='118' />
                <option name='Write Protect Program Flash Page 119' value='119' />
                <option name='Write Protect Program Flash Page 120' value='120' />
                <option name='Write Protect Program Flash Page 121' value='121' />
                <option name='Write Protect Program Flash Page 122' value='122' />
                <option name='Write Protect Program Flash Page 123' value='123' />
                <option name='Write Protect Program Flash Page 124' value='124' />
                <option name='Write Protect Program Flash Page 125' value='125' />
                <option name='Write Protect Program Flash Page 126' value='126' />
                <option name='Write Protect Program Flash Page 127' value='127' />
            </setting>
            <setting name='SOSCSEL' offset='40' mask='1' bits='1' hint='SOSC Selection bit' >
                <option name='SOSC circuit is selected' value='1' />
                <option name='Digital (SCLKI) mode' value='0' />
            </setting>
            <setting name='WDTWIN' offset='41' mask='3' bits='2' hint='Watchdog Timer Window Width' >
                <option name='25%' value='3' />
                <option name='37.5%' value='2' />
                <option name='50%' value='1' />
                <option name='75%' value='0' />
            </setting>
            <setting name='BOREN' offset='44' mask='1' bits='1' hint='Brown-out Reset Enable' >
                <option name='BOR is enabled' value='1' />
                <option name='BOR is disabled' value='0' />
            </setting>
            <setting name='WPDIS' offset='45' mask='1' bits='1' hint='Write Protect Disable bit' >
                <option name='Disabled' value='1' />
                <option name='Enabled' value='0' />
            </setting>
            <setting name='WPCFG' offset='46' mask='1' bits='1' hint='Write/Erase Protect Configuration Region' >
                <option name='Last page (at the top of program memory) and Flash Configuration Words are not write-protected' value='1' />
                <option name='Last page and Flash Configuration Words are write-protected provided WPDIS =  0' value='0' />
            </setting>
            <setting name='WPEND' offset='47' mask='1' bits='1' hint='Write/Erase Protect Region Select bit (valid when WPDIS = 0)' >
                <option name='Pages WPFP&lt;6:0&gt; to (Configuration Words page) write/erase protected' value='1' />
                <option name='Page 0 to WPFP&lt;6:0&gt; erase/write-protected' value='0' />
            </setting>
            <setting name='DSWDTPS' offset='48' mask='31' bits='5' hint='Deep Sleep Watchdog Timer Postscaler' >
                <option name='1:32 (1 ms)' value='0' />
                <option name='1:64 (2.1 ms)' value='1' />
                <option name='1:128 (4.1 ms)' value='2' />
                <option name='1:256 (8.3 ms)' value='3' />
                <option name='1:512 (16.5 ms)' value='4' />
                <option name='1:1,024 (33 ms)' value='5' />
                <option name='1:2,048 (66.1 ms)' value='6' />
                <option name='1:4,096 (132.1 ms)' value='7' />
                <option name='1:8,192 (264.3 ms)' value='8' />
                <option name='1:16,384 (528.5 ms)' value='9' />
                <option name='1:32,768 (1.057s)' value='10' />
                <option name='1:65,536 (2.114s)' value='11' />
                <option name='1:131,072 (4.228s)' value='12' />
                <option name='1:262,114 (8.456s)' value='13' />
                <option name='1:524,288 (16.912s)' value='14' />
                <option name='1:1,048,576 (33.825s)' value='15' />
                <option name='1:2,097,152 (67.7s)' value='16' />
                <option name='1:4,194,304 (135.3s)' value='17' />
                <option name='1:8,388,608 (4.5 minutes)' value='18' />
                <option name='1:16,777,216 (9.0 minutes)' value='19' />
                <option name='1:33,554,432 (18.0 minutes)' value='20' />
                <option name='1:67,108,864 (36.1 minutes)' value='21' />
                <option name='1:134,217,728 (72.2 minutes)' value='22' />
                <option name='1:268,435,456 (2.4 hours)' value='23' />
                <option name='1:536,870,912 (4.8 hours)' value='24' />
                <option name='1:1,073,741,824 (9.6 hours)' value='25' />
                <option name='1:2,147,483,648 (19.2 hours)' value='26' />
                <option name='1:4,294,967,296 (38.5 hours)' value='27' />
                <option name='1:8,589,934592 (77.0 hours)' value='28' />
                <option name='1:17,179,869,184 (6.4 days)' value='29' />
                <option name='1:34,359,738,368(12.8 days)' value='30' />
                <option name='1:68,719,476,736 (25.7 days)' value='31' />
            </setting>
            <setting name='DSWDTOSC' offset='53' mask='1' bits='1' hint='Deep Sleep Watchdog Timer Clock' >
                <option name='Clock source is SOSC' value='0' />
                <option name='Clock source is LPRC' value='1' />
            </setting>
            <setting name='DSBOREN' offset='54' mask='1' bits='1' hint='Deep Sleep Brown-out Reset' >
                <option name='BOR is enabled in Deep Sleep' value='1' />
                <option name=' BOR is disabled in Deep Sleep' value='0' />
            </setting>
            <setting name='DSWDTEN' offset='55' mask='1' bits='1' hint='Deep Sleep Watchdog Timer' >
                <option name='Deep Sleep WDT is enabled' value='1' />
                <option name='Deep Sleep WDT is disabled' value='0' />
            </setting>
            <setting name='DSSWEN' offset='56' mask='1' bits='1' hint='Deep Sleep Software Control' >
                <option name='Deep Sleep operation is enabled' value='1' />
                <option name='Deep Sleep operation is disabled' value='0' />
            </setting>
            <setting name='RTCBAT' offset='57' mask='1' bits='1' hint='VBAT RTCC Operation Select bit' >
                <option name='RTCC operation continues when the device is in VBAT mode' value='1' />
                <option name='RTCC operation stops when the device is in VBAT mode' value='0' />
            </setting>
            <setting name='PLLDIV' offset='58' mask='31' bits='5' hint='USB 96MHz PLL Prescaler' >
                <option name='4MHz Input' value='0' />
                <option name='8MHz Input' value='1' />
                <option name='12MHz Input' value='2' />
                <option name='16MHz Input' value='3' />
                <option name='20MHz Input' value='4' />
                <option name='24MHz Input' value='5' />
                <option name='32MHz Input' value='6' />
                <option name='48MHz Input' value='7' />
                <option name='PLL Disabled' value='15' />
            </setting>
            <setting name='I2C2SEL' offset='62' mask='1' bits='1' hint='Alternate I2C2 Location Select bit' >
                <option name='I2C2 functions; SCL2 and SDA2 are mapped to RA2 and RA3, respectively' value='1' />
                <option name='I2C2 functions; SCL2 and SDA2 are mapped to RF5 and RF4, respectively' value='0' />
            </setting>
            <setting name='IOL1WAY' offset='63' mask='1' bits='1' hint='IOLOCK One-Way Set Enable bit' >
                <option name='The  IOLOCK  bit  (OSCCON<6>)  can  be  set  once,  provided  the  unlock  sequence  has  been completed' value='1' />
                <option name='The  IOLOCK  bit  can  be  set  and  cleared  as  needed' value='0' />
            </setting>
        </settings>
    </configuration>
    <pins sides='4' smd='1' >
        <pin name='RE5' port='4' bit='5' />
        <pin name='RE6' port='4' bit='6' />
        <pin name='RE7' port='4' bit='7' />
        <pin name='AN17 / RG6' port='6' bit='6' adc='17' rpreg='RPOR10bits.RP21R' rpnum='21'/>
        <pin name='AN18 / RG7' port='6' bit='7' adc='18' rpreg='RPOR13bits.RP26R' rpnum='26'/>
        <pin name='AN19 / RG8' port='6' bit='8' adc='19' rpreg='RPOR9bits.RP19R' rpnum='19'/>
        <pin name='MCLR' />
        <pin name='AN49 / DAC1 / RG9' port='6' bit='9' adc='49' rpreg='RPOR13bits.RP27R' rpnum='27'/>
        <pin name='VSS' />
        <pin name='VDD' />
        <pin name='AN5 / RB5' port='1' bit='5' adc='5' rpreg='RPOR9bits.RP18R' rpnum='18'/>
        <pin name='AN4 / RB4' port='1' bit='4' adc='4' rpreg='RPOR14bits.RP28R' rpnum='28'/>
        <pin name='AN3 / RB3' port='1' bit='3' adc='3' />
        <pin name='AN2 / RB2' port='1' bit='2' adc='2' rpreg='RPOR6bits.RP13R' rpnum='13'/>
        <pin name='PGC / AN1 / RB1' port='1' bit='1' adc='1' rpreg='RPOR0bits.RP1R' rpnum='1'/>
        <pin name='PGD / VREF+ / AN0 / RB0' port='1' bit='0' adc='0' rpreg='RPOR0bits.RP0R' rpnum='0'/>
        <pin name='AN6 / RB6' port='1' bit='6' adc='6' rpreg='RPOR3bits.RP6R' rpnum='6' />
        <pin name='AN7 / RB7' port='1' bit='7' adc='7' rpreg='RPOR3bits.RP7R' rpnum='7' />
        <pin name='AVDD' />
        <pin name='AVSS' />
        <pin name='SVSS' />
        <pin name='CH0+' />
        <pin name='CH0-' />
        <pin name='CH1+' />
        <pin name='CH1-' />
        <pin name='SVDD' />
        <pin name='AN12 / RB12' port='1' bit='12' adc='12' />
        <pin name='AN13 / DAC2 / RB13' port='1' bit='13' adc='13' />
        <pin name='AN14 / RB14' port='1' bit='14' adc='14' rpreg='RPOR7bits.RP14R' rpnum='14' />
        <pin name='AN15 / RB15' port='1' bit='15' adc='15' rpreg='RPOR14bits.RP29R' rpnum='29' />
        <pin name='AN11 / SDA2 / RF4' port='5' bit='4' adc='11' rpreg='RPOR5bits.RP10R' rpnum='10' />
        <pin name='AN10 / SCL2 / RF5' port='5' bit='5' adc='10' rpreg='RPOR8bits.RP17R' rpnum='17' />
        <pin name='AN30 / RF3' port='5' bit='3' adc='30' rpreg='RPOR8bits.RP16R' rpnum='16' />
        <pin name='VBUS / RF7' port='5' bit='7' />
        <pin name='VUSB3V3' />
        <pin name='D- / RG3' port='6' bit='3' />
        <pin name='D+ / RG2' port='6' bit='2' />
        <pin name='VDD' />
        <pin name='OSC1 / RC12' port='2' bit='12' />
        <pin name='OSC2 / RC15' port='2' bit='15' />
        <pin name='VSS' />
        <pin name='AN40 / RD8' port='3' bit='8' adc='40' rpreg='RPOR1bits.RP2R' rpnum='2' />
        <pin name='AN24 / RD9' port='3' bit='9' adc='24' rpreg='RPOR2bits.RP4R' rpnum='4' />
        <pin name='AN41 / RD10' port='3' bit='10' adc='41' rpreg='RPOR1bits.RP3R' rpnum='3' />
        <pin name='AN42 / RD11' port='3' bit='11' adc='42' rpreg='RPOR6bits.RP12R' rpnum='12' />
        <pin name='AN43 / RD0' port='3' bit='0' adc='43' rpreg='RPOR5bits.RP11R' rpnum='11' />
        <pin name='RC13' port='2' bit='13' />
        <pin name='RC14' port='2' bit='14' rpnum='37' />
        <pin name='AN35 / RD1' port='3' bit='1' rpreg='RPOR12bits.RP24R' rpnum='24' />
        <pin name='AN25 / RD2' port='3' bit='2' rpreg='RPOR11bits.RP23R' rpnum='23' />
        <pin name='AN44 / RD3' port='3' bit='3' rpreg='RPOR11bits.RP22R' rpnum='22' />
        <pin name='AN47 / RD4' port='3' bit='4' rpreg='RPOR12bits.RP25R' rpnum='25' />
        <pin name='AN48 / RD5' port='3' bit='5' rpreg='RPOR20bits.RP20R' rpnum='20' />
        <pin name='AN34 / RD6' port='3' bit='6' />
        <pin name='AN20 / RD7' port='3' bit='7' />
        <pin name='VCAP' />
        <pin name='VBAT' />
        <pin name='RF0' port='5' bit='0' />
        <pin name='RF1' port='5' bit='1' />
        <pin name='RE0' port='4' bit='0' />
        <pin name='RE1' port='4' bit='1' />
        <pin name='RE2' port='4' bit='2' />
        <pin name='RE3' port='4' bit='3' />
        <pin name='RE4' port='4' bit='4' />
    </pins>
    <adc type='12' bits='12' >
        <speed >
            <option name='FRC' value='64' />
            <option name='Tcy' value='0' />
            <option name='Tcy * 2' value='1' />
            <option name='Tcy * 4' value='2' />
            <option name='Tcy * 6' value='3' />
            <option name='Tcy * 8' value='4' />
            <option name='Tcy * 10' value='5' />
            <option name='Tcy * 12' value='6' />
            <option name='Tcy * 14' value='7' />
            <option name='Tcy * 16' value='8' />
            <option name='Tcy * 18' value='9' />
            <option name='Tcy * 20' value='10' />
            <option name='Tcy * 22' value='11' />
            <option name='Tcy * 24' value='12' />
            <option name='Tcy * 26' value='13' />
            <option name='Tcy * 28' value='14' />
            <option name='Tcy * 30' value='15' />
            <option name='Tcy * 32' value='16' />
        </speed>
    </adc>
    <dac type='1' bits='10' >
        <vref>
            <option name='VDD' value='0' />
            <option name='Vref+' value='1' />
            <option name='FVR' value='2' />
        </vref>
        <out port='6' pin='9' />
        <out port='1' pin='13' />
    </dac>
    <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>
    <uart remappable='1' >
        <tx rpnum='28' />
        <rx rpreg='RPINR17bits.U3RXR' />
    </uart>
    <uart remappable='1' >
        <tx rpnum='30' />
        <rx rpreg='RPINR27bits.U4RXR' />
    </uart>
    <i2c master='1' >
        <sda port='6' pin='3' />
        <scl port='6' pin='2' />
    </i2c>
    <i2c master='1' >
        <sda port='5' pin='4' />
        <scl port='5' pin='5' />
    </i2c>
    <pwm regset='1' remappable='1' >
    	<timer>
    	    <option name='Timer1' value='1' />
    	    <option name='Timer2' value='2' />
    	    <option name='Timer3' value='3' />
    	    <option name='Timer4' value='4' />
    	    <option name='Timer5' value='5' />
    	</timer>
        <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' />
        <out rpnum='23' />
        <out rpnum='24' />
        <out rpnum='25' />
        <out rpnum='35' />
    </pwm>
    <rtcc type='1'>
    	<clock>
    	    <option name='External Secondary Oscillator (SOSC)' value='0' />
    	</clock>
    </rtcc>
    <interrupts >
        <interrupt ident='TMR1' reg='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' reg='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' reg='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' reg='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' reg='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/RF6' 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='5' mask='0x40' />
                <falling port='5' mask='0x40' />
            </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/RD8' 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='3' mask='0x0100' />
                <falling port='3' mask='0x0100' />
            </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>
            </options>
        </interrupt>
        <interrupt ident='INT2' type='pin' name='INT2/RD9' 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='3' mask='0x0200' />
                <falling port='3' mask='0x0200' />
            </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>
            </options>
        </interrupt>
        <interrupt ident='INT3' type='pin' name='INT3/RD10' handler='#ifndef MX_ISR_I3\n#define MX_ISR_I3\nvoid _ISR _INT3Interrupt(void)\n{\n\tIFS3bits.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='IEC3bits.INT3IE = 1;' disable='IEC3bits.INT3IE = 0;' >
            <ioc config='3' >
                <rising port='3' mask='0x0400' />
                <falling port='3' mask='0x0400' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='INTCON2bits.INT3EP = 0;\n' />
                    <entry name='Falling edge of INT' value='INTCON2bits.INT3EP = 1;\n' />
                </edge>
            </options>
        </interrupt>
        <interrupt ident='INT4' type='pin' name='INT4/RD11' handler='#ifndef MX_ISR_I4\n#define MX_ISR_I4\nvoid _ISR _INT4Interrupt(void)\n{\n\tIFS3bits.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='IEC3bits.INT4IE = 1;' disable='IEC3bits.INT4IE = 0;' >
            <ioc config='3' >
                <rising port='3' mask='0x0800' />
                <falling port='3' mask='0x0800' />
            </ioc>
            <options >
                <edge name='Interrupt Edge Select' >
                    <entry name='Rising edge of INT' value='INTCON2bits.INT4EP = 0;\n' />
                    <entry name='Falling edge of INT' value='INTCON2bits.INT4EP = 1;\n' />
                </edge>
            </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 = %pA0v | (%pA1v << 8);\nCNEN2 = %pB0v | (%pB1v << 8);\nIEC1bits.CNIE = 1;\n' disable='IEC1bits.CNIE = 0;\n' >
            <map >
                <pin port='2' bit='14' ident='0' />
                <pin port='2' bit='13' ident='1' />
                <pin port='1' bit='0' ident='2' />
                <pin port='1' bit='1' ident='3' />
                <pin port='1' bit='2' ident='4' />
                <pin port='1' bit='3' ident='5' />
                <pin port='1' bit='4' ident='6' />
                <pin port='1' bit='5' ident='7' />
                <pin port='6' bit='6' ident='8' />
                <pin port='6' bit='7' ident='9' />
                <pin port='6' bit='8' ident='10' />
                <pin port='6' bit='9' ident='11' />
                <pin port='1' bit='15' ident='12' />
                <pin port='3' bit='4' ident='13' />
                <pin port='3' bit='5' ident='14' />
                <pin port='3' bit='6' ident='15' />
                <pin port='3' bit='7' ident='16' />
                <pin port='5' bit='4' ident='17' />
                <pin port='5' bit='5' ident='18' />
            </map>
            <ioc config='0x0C' >
                <rising port='1' mask='0x803F' />
                <rising port='2' mask='0x6000' />
                <rising port='3' mask='0x00F0' />
                <rising port='5' mask='0x0030' />
                <rising port='6' mask='0x03C0' />
                <falling port='1' mask='0x803F' />
                <falling port='2' mask='0x6000' />
                <falling port='3' mask='0x00F0' />
                <falling port='5' mask='0x0030' />
                <falling port='6' mask='0x03C0' />
            </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' />
        <interrupt ident='RXINT2' type='comms' name='UART RXINT 3' handler='#ifndef MX_ISR_RX3\n#define MX_ISR_RX3\nvoid _ISR _U3RXInterrupt(void)\n{\n\tIFS5bits.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='IEC5bits.U3RXIE = 1;\n' disable='IEC5bits.U3RXIE = 0;\n' />
        <interrupt ident='RXINT3' type='comms' name='UART RXINT 4' handler='#ifndef MX_ISR_RX4\n#define MX_ISR_RX4\nvoid _ISR _U4RXInterrupt(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' />
    </interrupts>
</device>
<inline >
    <defines code='' />
    <directives code='#include &lt;xc.h&gt;\n#include &lt;math.h&gt;\n#include &lt;stdlib.h&gt;\n#include &quot;p24fxxxx.h&quot;\n\n' />
    <main >
        <start code='int main()\n{\n' />
        <end code='\tmainendloop: goto mainendloop;\n\treturn 0;\n}\n\n' />
        <init code='ANSB = 0;\nANSD = 0;\nANSF = 0;\nANSG = 0;\n' />
    </main>
    <interrupt >
        <enable code='' />
        <start code='' />
        <end code='' />
        <init code='' />
    </interrupt>
    <config >
        <start code='//Configuration Start\n' />
        <body code='$(address)($(value));\n' />
        <end code='//Configuration End\n\n' />
    </config>
</inline>
<test >
    <icd >
        <clock port='1' pin='6' />
        <data port='1' pin='7' />
    </icd>
</test>
</root>
